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

 
Forexman77:

ENUM_APPLIED_PRICE」をインジケータで使用 する、つまり、この列挙の価格を使い 分けるというアイデアを思いつきました。

Close[i] の代わりにPRICE_HIGH[i]を取り出し、最適化中にインジケータに供給 する方法が 見つからないのです。

せめて Close[i]の代わりにHigh[i] にしてほしい。

いくつかの指標と、それに対する必要な数学的操作で、おそらくこの問題は解決されるでしょう
 
_new-rena:
いくつかの指標とそれに対する必要な数学的作業で、この問題を解決できるかもしれません。
標準のMAでは、clozeからmax, minなどへの切り替えがありますが、そのコードが書かれたファイルがフォルダ内に見当たりません。
 
Forexman77:
標準のMAには、clozからmax、minなどの切り替えがありますが、フォルダ内にコードファイルが見当たりません。
iMA
 
_new-rena:

しかし、図にあるようなパラメータに影響を与えるようなパラメータはありません。

スムージングメソッドは 問題なく通過

extern ENUM_MA_METHOD MA_Method=MODE_SMMA;

そして、 ここ もし

extern ENUM_APPLIED_PRICE price= PRICE_CLOSE;
for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=price[i];

は、配列 "[' - array required" を必要とします。

 
Forexman77:

しかし、図にあるようなパラメータに影響を与えるようなパラメータはありません。

スムージングメソッドは問題なく通過

そして、 ここ もし

は、配列 "'[' - array required'' を必要とします。


何も必要とせず、方法も価格も、すべてが最適化されているのです。なぜ、配列でループが必要なのですか?EAからインジケータに列挙を渡せば、すべてうまくいきます。


 
evillive:

何も必要とせず、方法も価格も、すべてが最適化されています。なぜ配列でループが必要なのですか?Expert Advisor からインジケータに列挙を渡せば、すべてうまくいきます。

ちょっと戸惑いましたが(;・∀・)MAはいらない。インジケーターの計算をするために、インジケーターの計算周期で価格を取得したいのですが。ここでは、Close[i]-Close[i+5]を表示しています。

Close[i]の代わりにインジケータに渡す方法 例えばLow[i] 、加重平均価格と 中央値はそれほど重要ではありません - 彼らは計算することができます。

つまり、最大値、最小値、終値で最適化するのです。

 
Forexman77:

ちょっと戸惑いましたが(;・∀・)MAはいらない。インジケーターの計算をするために、インジケーターの計算周期で価格を取得したいのですが。ここでは、Close[i]-Close[i+5]を表示しています。

Close[i]の代わりにインジケータに渡す方法 例えばLow[i] 、加重平均価格と中央値はそれほど重要ではありません - 彼らは計算することができます。

つまり、最大値、最小値、終値で最適化することができるのです。


次に、配列を作成し、CopyClose, CopyOpen, CopyHigh, CopyLowをマスターする必要があります - 配列内の適切な価格をコピーする。

またはクラスと新しい言語の他の目新しさで動作する方法を学ぶ、例として Indicator.mqh を行います

 
evillive:

次に、配列を作成し、CopyClose, CopyOpen, CopyHigh, CopyLow - をマスターして、適切な価格を配列にコピーする必要があります。

またはマスタークラスや新しい言語の他のノベルティは、 Indicator.mqh inluderは例として行うだろう

なるほど、考えてみます。MQL5にはいくつかの例がありますが、一方で、手動で変更しなければなりません。
 
Forexman77:
なるほど、MQL5にも例があるので考えてみます。 とりあえず、手動で変更してみます。

もし必要な人がいれば、複雑な構造なしに価格タイプ別のインジケータを描画する方法を考え出した。

extern int price=1;//1=Close, 2=High, 3=Low, 4=PRICE_MEDIAN_, 5=PRICE_TYPICAL_, 6=PRICE_WEIGHTED_

for(i=limit1;i>=0;i--) 
   {
   if (price == 1)ExtMapBuffer1[i]=Close[i];//Close
   if (price == 2)ExtMapBuffer1[i]=High[i];//High
   if (price == 3)ExtMapBuffer1[i]=Low[i];//Low
   if (price == 4)ExtMapBuffer1[i]=((High[i]+Low[i])/2);//PRICE_MEDIAN_
   if (price == 5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//PRICE_TYPICAL_
   if (price ==6){ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i]+Close[i])/4);//PRICE_WEIGHTED_
   }
 
Forexman77:

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


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