1本の足で1回だけ仕掛ける機能 足形成中版

足生成時ではなく足形成中に仕掛けるには

1本の足で1回だけ仕掛ける機能および1本の足で1回だけ仕掛ける機能 改善版の記事にて、1本の足で1回だけ仕掛ける機能をご紹介しました。

これらはいずれも足生成時(足確定時)の瞬間に仕掛けたい時に使うものでした。

しかし、足形成中に仕掛けたいこともあると思います。この場合、以前ご紹介した方法では実現できませんでした。

そこで、今回は足形成中に一度仕掛けた後は、その足では仕掛けないコードをご紹介します。

// 中略
datetime gTime = 0; // グローバル変数として定義している所がポイント
// 中略
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
  // 1本の足で1回まで
  if(gTime != Time[0]){
    // @@@@@@@@@@@@@
    // 仕掛け処理等
    // @@@@@@@@@@@@@

    gTime = Time[0]; // 現在の足の始値時刻を退避
  }
}

すごくシンプルですね。

やっていることは、Time[0]で現在の足の始値時刻を取得し、それと退避しておいた始値時刻とを比較しているだけです。一致していなければ、異なる足と判断できるわけですね。

なお、上記はEA挿入直後にも条件が成立してしまうので、必要であればもう一工夫(例えば、gTime=0なら仕掛けないというif文を入れる等)した方が良いでしょう。

MT4の無料プログラミング講座

LINE公式アカウントを友だち追加して、MT4のプログラミング講座を無料で受けちゃおう!

超豪華プレゼントも盛りだくさん♪

MT4プログラミングを習得すると、オリジナルEA運用、作成代行、商品販売等、複数の収入源を手に入れられるよ。副業に最適だね!

↓↓↓ 詳細はこちら ↓↓↓

アイキャッチ

>

エターナル・パートナーPRO ~MT4裁量トレード支援ツール~ 「MT4は裁量トレーダーに優しくない」そう思ったことありませんか?もっと快適にトレードするための強力な売買ツールが必要だと考え、開発したのが「エターナル・パートナーPRO」です。元々は自分自身のために開発したツールですので、手抜き無しのガチものです。既に200名近い方に手に取っていただき、喜びの声が続々と届いております。ぜひご覧ください!

CTR IMG