MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1892

 
Vitaly Muzichenko #:

ありがとうございます。それを使って仕事をする。ハンドブックがぐちゃぐちゃ

 
Sergey Dymov #:

ありがとうございます。それを使って仕事をする。ハンドブックがぐちゃぐちゃ

適応されるようです・・・。

mql5がmql4より速いというのは、誰もが言うことです。では、質問があります。同じExpert Advisorが、mql4では164ms、mql5では527msで実行されたのはなぜですか?何が問題なのでしょうか?

 
Sergey Dymov #:

適応がうまくいったようで・・・。

mql5がmql4より速いというのは、誰もが言うことです。では、質問があります。同じExpert Advisorが、mql4では164ms、mql5では527msで実行されるのはなぜですか?何が問題なのでしょうか?

何を使って、どのように性能を測定したのでしょうか?

 
Sergey Dymov 多通貨EAを持って います。テスターではもちろん動作しません。mql5に乗り換えるべきと判断しました。

コンパイラーエラーを全て適応し、修正しました。テクニカル指標を使用する場合を除く。頭を使うことはほとんどありません。ドキュメントは2ページにわたり、理解しがたいものです。もしかしたら、見る場所を間違えているのかもしれません。

mql4で以下のような1行のコードがあります。

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);

または

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0)とする。

ドキュメントによると、mql5ではコードのページ全体が変更されます。ハンドル、バッファ、パラメータ付き配列、初期化するもの、計算するもの、ハンドル作成時のエラー処理...。これは異常だ...見ている場所が悪いのかもしれません。

そして、複数のペアと複数のタイムフレームを使用すると、「戦争と平和」が発生します。

4kaでは、情報提供の部分は他の記号と連動するはずですが、順序の部分は連動しません。しかし、まず必要なシンボルを引用アーカイブに読み込む必要があります。以前はうまくいかなかったんです。シンボルによるアーカイブの読み込みの奥義に効くでしょう。アーカイブで日付を確認することができます。

 

もっとアドバイスをお願いします。

EAをMT5に転送し、すべてが機能しているようです。mt4でカスタムインジケーターを書いて 実行の正しさを確認しているのですが、mt5にも移行しています。

インジケータを適応させたところ、それも動作するようですが、あまりうまくいきません。

1) アンインストール時にチャートからオブジェクトを削除してもうまくいきません。間違うところがないと思うんです。

int OnInit()

{

ObjectCreate(0, "GBP_S0",OBJ_LABEL,0,0,0);

return(INIT_SUCCEEDED);

}

void OnDeinit(const int reason);

{

ObjectDelete(0, "GBP_S0")。

}

2)

このようにすれば

ExtGBPBuffer[i]=GBPTP;

ObjectSetString(0, "GBP_S101",OBJPROP_TEXT,ExtGBPBuffer[i]);

そうすると、GBP_S101という値はまさに求めているものです。しかし、その線はゼロである。どうしてでしょう?つまり、線が引かれ、色、幅、値以外のすべてがうまくいっているのです。


このようにしてもExtGBPBuffer[i]=2; 行は0のまま です。

 
Sergey Dymov #:

1)アンインストール時にグラフからオブジェクトを削除してもうまくいきません。間違うところがないようです。

効果あり

 
for(int cycle=1; cycle<=6; cycle++) { int period = per+(CountBuy()+CountSell()); vgran = iCustom(NULL,TF,"Канал_1",period,1,0);      }
ヒントiCustomでインジケータを追加し、このインジケータで1つのインスタンスパラメータ-periodを変更しながらループしています。その結果、いくつかのバリエーションを選んで仕事をすることになります。最後の1本だけを取る。しかし、Expert Advisorを停止 すると、パラメータが異なる数十種類のインジケータが、履歴の全長にわたって表示されていることに気づきます。インジケータをヒストグラム(別ウィンドウ)に変更すると、それぞれ10個のヒストグラムウィンドウが表示されます。削除方法(線を表示しない)、サイクル列挙時にインジケータ全体を使用せず、最後の値のみを使用する。
 
Aleksandr Kononov Expert Advisorを停止 すると、パラメータが異なる数十種類のインジケータが、履歴の全長にわたって表示されていることに気づきます。インジケータをヒストグラム(別ウィンドウ)に変更すると、それぞれ10個のヒストグラムウィンドウが表示されます。削除方法(線を表示しない)、サイクル列挙時にインジケータ全体を使用せず、最後の値のみを使用する。
   HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);
 

Mql4のカスタムインジケータは、始値に基づいてMAで構築され、それは新しいティックが来て、その読みを変更しない、それは始値に基づいている理由であるみんな、アドバイスしてください。

mql5では、適応されたインジケータは、ティックごとにトランジションゾーンでの読みが変化します...。また、価格を開くことによっても、このように


copy=CopyBuffer(MA2EURJPY,0,1,CountBars,MA2EURJPY_TF)。

if(copy<0)

Print("コピー失敗 MA2EURJPY_MAS");


を読み直したが、まだ一進一退を繰り返している。


Andrey Sokolov #:

効果あり

一度しか動作しないので、言語が不具合な気がする。mql5で関係ないフラグメントを編集すると、すべてが動かなくなる...。



 
Sergey Dymov #:

言葉の不具合も多いような気がします。mql5で関係ない部分を編集すると全部動かなくなる...私もそんなことがありましたが、その度に「バビナじゃなかった」と気づくので、バビナじゃないからmql4じゃないんだと思います。

私も似たようなことがありましたが、その度に「バビナではない」と判明しましたので...。

理由: