どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 691

 
MT5用に書かれたEAを最新のMT4で動かすことができるのか、またその逆は可能なのか、教えてください。
 
borilunad:

小さな間違い:0=Close, 1=Open、他は正解 です。

オープンは必要ありません。主な作業は、さまざまな種類の価格を基に構築できるインジケータを基にEAを実行するために、テスターにどのように変数を置くかということでした。

ここで忘れてはならないのは、最適化の際に 価格を1〜6まで、1 刻みで設定することだ。

 
rambo:
MT5用に書かれたEAを最新のMT4で動かすことができるのか、またその逆は可能なのか、教えてください。
コンパイルできれば実行できますが、意図したとおりに動くかどうか、それが問題なのです。
 
Forexman77:

オープンは必要ありません。主な作業は、さまざまな種類の価格を基に構築できるインジケータを基にEAを実行するために、テスターにどのように変数を入れるかということでした。

ここで忘れてはならないのが、最適化を行う際の 価格を1〜6まで、1 刻みで設定することだ。


しかし、Open priceは1、Close priceは0です。ドクを見よ!
 
Forexman77:

もし必要な人がいれば、複雑な構造でなく、価格タイプのインジケーターレンダリングを行う方法を考え出した。

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

この方が簡単かもしれませんが、より多くの価格タイプを追加する必要がある場合は、あなたの方法というか、複合的な方法で行う方が良いのは間違いないでしょう
 
evillive:
コンパイルできれば実行できますが、意図したとおりに動くかどうかが問題です。

しゃい
 
Vinin:

その方が簡単かもしれませんが、もし価格の種類を増やす必要がある場合は、もちろんあなたの方法というか、複合的な方法でやった方がいいと思います

それは天才的だ!この方法は思いつきませんでした。

 
borilunad:

しかし、Open価格は1、Close価格は0です。ドクを見よ!

ENUM_APPLIED_PRICE」列挙を使用した場合。

しかし、私はそれらを使わず、条件演算子を使って6つの選択肢すべてが真実かどうかをチェックし、常に1つの条件だけが機能するようにしています。

例えば、条件がうまくいって、価格を計算した。

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
計算される終値を 受け取ります。つまり、価格は自分で用意し、enumeration "ENUM_APPLIED_PRICE" からは取得しない。
 
Forexman77:

それは天才的だ!そういう発想はなかったですね。


この方法はテクニカル・インジケータを 呼び出すときのみ機能し、他の計算で設定により価格タイプを変更する必要がある場合(例えば、ある値をClose[i]と比較して、オプティマイザで (High[i]+Low[i])/2 すなわちPRICE_MEDIANと渡したい)、機能しない。
 
evillive:

この方法はテクニカル・インジケータを呼び出すときのみ有効で、他の計算で設定により価格タイプを変更しなければならない場合(例えば、ある値をClose[i]と比較して、オプティマイザでそれを(High[i]+Low[i])/2、つまりPRICE_MEDIANと比較したい)、うまくいかない。

物価は指標を算出 するためにのみ必要です。

こんな感じでやりました。

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

このバリエーションを比較すると、変更するときはすべて同じです。