Archive for the ‘EA作り方Tips’ Category

今日はFX自動売買研究所のお客様から頂いた質問に、ブログ上でご回答させていただきます(*)。

今回のお客様の質問内容

FX自動売買研究所のEA自動開発ツールには、 直近の高値、安値をブレイクしたときにエントリーする機能があります。
そのエントリーポイントを、数pipsずらすことは出来ますか?

例えばこんな感じに、直近の高値を10pips超えたとき、エントリーするといったイメージですね。

ご回答

この場合少しだけ、MQL(ソースコード)を改変していただくことになります

EA自動開発ツールで、直近の10本の高値を上回ったとき、エントリーする設定を行うと、コードはこんな感じになります:

//
// TAKE LONG POSITION?
//

// long filters
double long_0 = Close[2];  
double long_1 = Close[1];  
double long_2 = High[iHighest(NULL,0,MODE_HIGH,10,2)];

// long triggers
if(FilterUnMatched_Long == 0){
    if(long_0 <= long_2 && long_1 > long_2) takePosition(OP_BUY);
}

最初のブルーの部分では、long_0, long_1, long_2それぞれに、「2本前の終値」「1本前の終値」「2本前~12本前までの最高値」を代入しています。

メインのロジックはオレンジの行で、

2本前の終値」は、「2本前~12本前までの最高値」よりも小さいのに、
1本前の終値」は、「2本前~12本前までの最高値」よりも大きい

このようなブレイクアウトの時に、買いでエントリーを行います。

さて、それでは「最高値 + 10pipsを上回ったとき」と条件を変えてみましょう。

if(long_0 <= long_2 + 10*point() && long_1 > long_2 + 10*point())
takePosition(OP_BUY);

上のようにして、「2本前~12本前までの最高値」に、10pipsを足すことが出来るのです。

ちなみに、「point()」は、弊社のEABaseに含まれる機能で、グローバル定数Pointの、5桁ブローカー対応版です。

EUR/USD point() Point 10pipsの表現方法
5桁ブローカー 0.0001 0.00001 10*point() 100*Point
4桁ブローカー 0.0001 0.0001 10*point() 10*Point

上のように、「point()」を使うと、4桁ブローカーと同様の感覚で5桁ブローカーでもpipsを使った計算が出来るようになります。

*FX自動売買研究所では、他のお客様のお役にも立ちそうな内容のお問い合わせを受けたときに、お客様の同意を頂いた上で回答をブログで公開さえていただくことがあります。


FXシステムトレード ブログランキングへ