*

ティック更新よりも早い頻度で演算させる

公開日: : FX自動売買開発 ,

EAというやつうは基本的にティックレートを受信する度に一回、演算する仕組みになっています。

USDJPYやEURUSDの場合は、いつでもそこそこティックがあるので、あまり気になりませんが、マイナー通貨の場合は1分に一回程度しかティックが来ないものもあります。(レンジの時間帯)

1分足以内のスキャルピングやアービトラージをしようとすると、ここら辺が結構ネックになるので、ティック更新を待たずに次の計算をさせる必要があります。

ただし、これは結構荒業で、メモリに負荷がかかり続けることは想像に難くありません。

OnTick内でループさせる

実にかんたんな話で、OnTick,OnStart,Start,OnCalculate内全体をループ処理させるだけです。

ポイントはループ処理する場合、レートや口座情報が更新されないので、
RefreshRate()を頭に持ってきて、半強制的にレート更新をする必要があることです。

あとはEAを停止させようとしたときにフリーズする可能性が高いので、OnChartEvent内に停止ボタンを設置し、そこからEAを停止処理する記述を書くことを強くおすすめします。

ボタンを作成するのが面倒なら、グローバル変数をループ処理の判定に使い、MT4からグローバル変数を制御するという手もあると思います。(完全に開発者のデバッグ向けですね。)

また、ティック更新が激しい場合、かつ、演算が軽量な場合、
1秒間隔で演算させるよりも通常のティック更新の方が速い可能性は十分に考えられます。

これらを考慮すると、使用場面はかなり限定的ですね。おそらくメタクオーツ側もあまりやって欲しくはないやり方だと思います。

Message

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

このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。

関連記事

【EA】時には夢のある自動売買グラフを…【プレゼント】

2018/1/1~2018/11/19 H1 EURGBP (...なぜ11/19で

記事を読む

no image

自動売買における仮想ストップロス、仮想テイクプロフィットの概念と意味

最近の自動売買系の論文やコードを読んでいると「仮想ストップロス」、「仮想テイクプロフィット」という概

記事を読む

no image

ストップレベル=0はストップレベルがないことではない

MT4/MT5では予約注文を行う際にストップレベルというものがあります。ストップレベルというのは、現

記事を読む

no image

シンプルなニューラルネットワークに基づいたEA(の記事)

MQLの記事って、ロシア語->英語->日本語の順に訳されるんで日本語の検索結果に上がるころには結構時

記事を読む

【MT4MT5】チャート上にWEBサイトの情報を載せる その1

オンラインの情報をトレードの判断に使う、というのは至極まっとうな考え方だと思います。 日経が為

記事を読む

 
  • ブログ管理人の横瀬兼元(ペンネーム)です。

    各トピックに対するコメントは各記事のコメント欄にお願いします。それ以外のご質問、ご相談などは
    infoあっとfxantenna.com
    まで
    私の偽者がいるらしいのでご注意ください。
【MT4】H4, D1用EA(プレゼント企画)

EURUSD 2018/1/1~2018/12/31 D1

質問回答コラム

Q. 管理人さん自身はEAで運用しているのですか A.  して

【MT5】MACD, ストキャスティクス, モメンタムEA(配布)

GBPUSD 2018/1/1~2018/12/31 H2

【MT5】 3通貨相関アービトラージEA(無料プレゼント)

EUR, GBP, USD の3通貨の相関を利用したさや取りトレード

no image
仮想通貨対応マーチンゲールEA(無料配布)

USDJPY 2018/1/1~2018/12/31 Spread:

→もっと見る

PAGE TOP ↑