ブログトップ 記事一覧 ログイン 無料ブログ開設

とあるMetaTraderの備忘秘録 RSSフィード Twitter

忙しいです。ネタもないし・・・

2010-04-29

自動更新されない!_MTF SR.mq4の修正。。

f:id:fai_fx:20100428195414p:image

↑MetaTrader5 で Optimization を試した図。テストに使えるEAがここにあります。コア16個あるCPU をフルに使って並列処理ができるので良い感じです..。MT4ではコア1個しか活用できなかったのですが、これだけ効率よく最適化できるなら、いろいろ検討の余地があるかなぁと思ってます。

(MT4は信頼できないとして導入を断念したらしいDukascopy辺りがMT5 を採用してくれたら嬉しいけど…無理なんでしょうねぇ..。


自動更新されない!_MTF SR.mq4の修正。。


本題です。

新とまと 2010/04/28 11:35

はじめまして

JPN_Time_SubZeroやMTF_MAのCrossAlertの作りこみの丁寧さは、まさに匠の技と感動しております。

私のお願いは、!_MTF_SR.mq4の改良でございます。なぜか自動更新されないため、手動で行っています。

私も家宝にしたいものですから、何卒宜しくお願い致します。

(本当はどっちも手抜きしてます...orz すみません。。


以前に再初期化でカタチが変わってしまうインジケータへの応急処置。で説明しましたが、

int counted_bars=IndicatorCounted();

こんな一行を

int counted_bars=0;

と修正すれば、最低限の自動更新は実現できます。しかし、この方法では全ての Bar が更新されるので若干非効率です。なので、もう少し効率の良い更新方法を行います。


正攻法で対応する場合は、まず、何本前のデータまで更新すれば良いのか?をよく考えます。このインジケータは、MTFタイプなので、最長の時間足の影響が及ぶ範囲を更新する必要があります。

例えば、1分足のチャートに 5分足MTFインジケータを動かしていたら、そのインジケータは、最低でも5本(=5分足1本相当)のデータを更新する必要があるイメージです。(昨日の日記の画像を参考にどうぞ。)


!_MTF_SR.mq4 の場合、iFractals() 関数を使っているので、それだけでは足りません。

iFractals()は、Fractals.mq4 をみると、過去3本前のデータを更新しているので、3倍多いデータを更新しなくてはいけないことが分かります。結局、1分足のチャートに 5分足MTF-Fractalsを動かしたら、5本x3倍 = 15本のデータを更新する必要があるのです。



コードは、以下の部分に

int counted_bars=IndicatorCounted();

int i=0, y1d=0, y4h=0, y1h=0, y30m=0;

int limit=Bars-counted_bars;

下記のように2行追記すればOKです。

int counted_bars=IndicatorCounted();

int i=0, y1d=0, y4h=0, y1h=0, y30m=0;

int limit=Bars-counted_bars;

int MaxPeriod = MathMax(MathMax(MathMax(Period_1,Period_2),Period_3),Period_4);

limit = MathMax(MaxPeriod/Period()*3,limit);

MaxPeriodは、Period_1〜4 の中で最長の時間足を選択しています。

次の行は、更新範囲(limit) が、最長時間足の3倍より大きくなるようにしています。


MetaEditor でコピペしてコンパイルすれば動くはずなので頑張ってください><

f:id:fai_fx:20100429112515p:image

新とまと新とまと 2010/04/29 11:47 早速作っていただきまして、本当に有難う御座います。
無事に動きました。思い切ってお願いしてよかったです。助かりました。
家宝にさせていただきます。

あのレベルでも手抜きなんですか!? 絶句
ますますの御発展、心より祈念申し上げます

alohafxalohafx 2010/04/30 00:26 MT5やっとバックテストできるようになったのですね
僕はどちらかというとEA専なのでこれで少しは遊べるようになったようです
でも16コアもあるCPUなんて持ってません・・・orz
ここを参考にちぼちぼMQ5の勉強開始します

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/fai_fx/20100429/1272482022