EAつくーるでアリゲーター作ってみた!
FX
こんにちは。ちょびっとfxです。
さて、タイトル通りですが、EAつくーるありそうでなさそうなアリゲーターを作ってみました。
アリゲーターって何?って方は、Google先生に聞いてみよう。
さて早速ですが関数です。
// アリゲーターのチャンス判定関数
int getAlligatorSignal(string symbol, int period, int shift) {
// アリゲーターのライン(ジョーズ、ティース、リップス)の期間設定
int jawsPeriod = 13; // ジョーズの期間
int teethPeriod = 8; // ティースの期間
int lipsPeriod = 5; // リップスの期間
int jawShift = 8; // ジョーズのシフト
int teethShift = 5; // ティースのシフト
int lipsShift = 3; // リップスのシフト
// アリゲーターのラインの取得
double jaw = iAlligator(symbol, period, jawsPeriod, jawShift, teethPeriod, teethShift, lipsPeriod, lipsShift, MODE_GATORJAW, shift);
double teeth = iAlligator(symbol, period, jawsPeriod, jawShift, teethPeriod, teethShift, lipsPeriod, lipsShift, MODE_GATORTEETH, shift);
double lips = iAlligator(symbol, period, jawsPeriod, jawShift, teethPeriod, teethShift, lipsPeriod, lipsShift, MODE_GATORLIPS, shift);
// 買いのチャンス: リップス > ティース > ジョーズ(すべて上昇)
if (lips > teeth && teeth > jaw) {
return 1; // Buyのチャンス
}
// 売りのチャンス: ジョーズ > ティース > リップス(すべて下降)
else if (jaw > teeth && teeth > lips) {
return -1; // Sellのチャンス
}
// どっちでもないの場合は0を返す(取引なし)
return 0;
}
EAつくーるは、買いの場合「signal = 1;」、売りの場合「signal = ‐1;」としているので、戻り値はそのルールに沿って作ってます。
利用方法はこんな感じ。
if(getAlligatorSignal(Symbol(), PERIOD_H1, 1) > 0) signal = 1;
売りの場合は下記。
if(getAlligatorSignal(Symbol(), PERIOD_H1, 1) < 0) signal = -1;
簡単ですね。
EAつくーるのルールの沿ってるので、下記でもOKかも。
signal = getAlligatorSignal(Symbol(), PERIOD_H1, 1);
ではまた。
ファイルDLは下記より。
×![]()
Is it OK?