*

(MQL4)ロウソク足が確定したタイミング(始値)で演算するやり方[EA自作]

EAやインジケーターの演算はティック更新毎に行われますが、演算内容によってはロウソク足が確定するタイミングだけ演算すればOKということもあります。

 

ロウソク足が確定するタイミングの条件(強制始値のみ)

まだ、駆け出しのころは

 

なんて記述を愚かにもしていたこともあったのですが、 なぜこれがダメなのかわかりますか。

 

これだと、

始値のタイミングと

現在のロウソク足の中でたまたまレートが始値と一緒になったときと、

区別がつかないので、必要十分条件ではありません。

 

Barsを使う

現在のチャートに表示されているロウソク足の本数を返す予約済み変数Barsを使います。ロウソク足が更新されると、これが増加するので、

これでOKです。もちろんチャート操作で表示するロウソク足の本数を変えられたりすると、そのタイミングでおかしなことになる可能性があります。(まず、ないですけどね)

 

iBars()を使う

Barsの場合、現在のEA・インジケーターがセットされているチャートのロウソク足の本数を返すので、

もしユーザーが意図しない時間枠にEA・インジケーターをセットした場合は、演算のタイミングが狂ってしまいます。

 

例えば、15分ごとに何かの演算をしたいとした場合、15Mチャートにセットしなければなりませんが、トレードそのものは5分足で行いたい場合にミスマッチになってしまいます。

 

そこで、そんなときにはiBars()を使います。

 

PERIOD_M15で時間枠を指定・固定しているのでこれで15分ごとに演算を行います。

 

ただし、ティック更新が極端に少ない場合、たとえば15分以上ティックが来なかったりすると、またそれはそれでバグの要因になるので、

指定時間に絶対演算させたい場合はWhileかfor文でループさせましょう。

 

これに関する記述方法はがっちりマンデー手法のソースコードにあるので、そちらを参照してください。

 

この投稿は役に立ちましたか? 役に立った 役に立たなかった 2 人中 2 人がこの 投稿 は役に立ったと言っています。

Message

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

[ソースコード開示]たった30行のコードでも右肩上がりにすることはできるのさ(MT4EA)

バックテスト結果   ソースコードはこちら 33行あるやんけ...

記事を読む

MT4チャート上にバイナリーオプションのようなボタンパネルを作ってみた

注:これは、MT4のチャート上でバイナリーオプションのような操作パネルを表示させているだけで、実際に

記事を読む

(MQL4)MT4のチャート上にボタンを作るやり方[EA自作]

現在のMT4は比較的いろいろな機能が追加されていて、DLLや拡張ファイルを使わずに、EA単体でボタン

記事を読む

入門者のEA自作のための作り方講座(MQL4/MT4)

プログラミング初心者の方が初めてでもEAを開発できるように解説したページです。このページの内容をマス

記事を読む

[MT4]EAに口座縛り/期間限定縛りをかける種類と方法(MT5)

良いEAができると、クレクレ厨がよってきますが、身内の人にならひっそりと配布したい場合もあります。

記事を読む

 
  • fxfx.work

    (↑広告です。このサイトの管理者の運営ではありません)

     


  • 横瀬兼元(ペンネーム)です。

    プロフィール
    商材を買わせようとする偽者がいるらしいのでご注意ください。
    ツイッター始めました(イマサラー)
    https://twitter.com/FxantennaC
    (埋め込みするとページ表示が極端に遅くなるので、リンクでご容赦を) 4000文字未満のトピックや話題はツイッターで発信しています。
  • fxfx.work

    (↑広告です。このサイトの管理者の運営ではありません)

Translate »
ページトップへ