ผมลองสร้างสามบทบาทที่ดีขึ้น/แย่ลงด้วย EA Tsukuru!
สวัสดีครับ ผมคือ chokki fx
เอาล่ะ ตามหัวข้อเลยนะครับ,EAつくーるได้ลองสร้างฟังก์ชันสามประเภทที่เป็นสัญญาณ三役好転・三役逆転ของหินอี้มิคังเคอฮิ (Ichimoku) ที่ดูเหมือนมีแต่ยังไม่มี
“三役好転・三役逆転” ของหินอี้มิคังเคอฮิคืออะไรบ้าง? ให้ถามGoogle先生ลองถามดูสิ
ทันทีที่เริ่มเลยนะครับ นี่คือฟังก์ชัน
//--------------------------------------------------------------------------------------------------------+
//| 一目均衡表「三役好転」および「三役逆転」シグナル取得関数
//| 処理: 一目均衡表を使用して、三役好転(買いシグナル)または三役逆転(売りシグナル)を判定
//| 引数:
//| symbol: シンボル名(通貨ペア等)
//| period: タイムフレーム(PERIOD_H1 など)
//| shift : 取得するバーのシフト(0が最新、1は1本前のバー)
//| 戻り値:
//| 1: 三役好転シグナル(買いチャンス)
//| -1: 三役逆転シグナル(売りチャンス)
//| 0: それ以外の場合(取引なし)
//--------------------------------------------------------------------------------------------------------+
int getIchimokuSignal(string symbol, int period, int shift) {
// 一目均衡表の各ラインを取得
double tenkanSen = iIchimoku(symbol, period, 9, 26, 52, MODE_TENKANSEN, shift); // 転換線
double kijunSen = iIchimoku(symbol, period, 9, 26, 52, MODE_KIJUNSEN, shift); // 基準線
double chikouSpan = iIchimoku(symbol, period, 9, 26, 52, MODE_CHIKOUSPAN, shift); // 遅行スパン
double senkouSpanA = iIchimoku(symbol, period, 9, 26, 52, MODE_SENKOUSPANA, shift); // 先行スパンA
double senkouSpanB = iIchimoku(symbol, period, 9, 26, 52, MODE_SENKOUSPANB, shift); // 先行スパンB
double currentPrice = iClose(symbol, period, shift); // ราคาปัจจุบัน (ราคาปิดตามการ shifts)
// 三役好転の条件(買いのシグナル)
bool bullishCondition1 = tenkanSen > kijunSen; // 転換線が基準線を上抜け
bool bullishCondition2 = chikouSpan > iClose(symbol, period, shift + 26); // 遅行スパンが26期間前の価格を上抜け
bool bullishCondition3 = currentPrice > senkouSpanA && currentPrice > senkouSpanB; // 現在の価格が雲を上抜け
// 三役逆転の条件(売りのシグナル)
bool bearishCondition1 = tenkanSen < kijunSen; // 転換線が基準線を下抜け
bool bearishCondition2 = chikouSpan < iClose(symbol, period, shift + 26); // 遅行スパンが26期間前の価格を下抜け
bool bearishCondition3 = currentPrice < senkouSpanA && currentPrice < senkouSpanB; // 現在の価格が雲を下抜け
// 三役好転(買いのシグナル)
if (bullishCondition1 && bullishCondition2 && bullishCondition3) {
return 1; // ซื้อ
}
// 三役逆転(売りのシグナル)
else if (bearishCondition1 && bearishCondition2 && bearishCondition3) {
return -1; // ขาย
}
// ไม่มีสัญญาณ
return 0;
}EAつくーるは、買いの場合「signal = 1;」、売りの場合「signal = ‐1;」としているので、戻り値はそのルールに沿って作ってます。
การใช้งานเป็นแบบนี้ครับ
if(getIchimokuSignal(Symbol(), PERIOD_H1, 1) > 0) signal = 1;
กรณีขายให้ดูด้านล่างนะครับ
if(getIchimokuSignal(Symbol(), PERIOD_H1, 1) < 0) signal = -1;
ง่ายมากใช่ไหมครับ
EAつくーるตามกฎของมัน จึงอาจใช้ได้กับบางส่วนด้านล่างนี้ด้วยครับ
signal = getIchimokuSignal(Symbol(), PERIOD_H1, 1);
แล้วพบกันใหม่ครับ
ดาวน์โหลดไฟล์ได้จากด้านล่างนี้ครับ
× ![]()