初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1356

 
ウラジミール 比較の法則は知っています。では、何も条件を加えないとできないのですか?
 
Oleg Kolesov #:
ウラジミール 比較のルールは知っています。では、何も条件を加えないとできないのですか?

おまけは何ですか?


比べるまでもなく、それ以上のことができるのか。

      //---------------------------------------------+
      levelcol1[i]=1.0;
      if(level1[i]>level1[i+PeriodSh])
        {
         levelcol1[i]=0.0;
         continue;
        }
      /*if(CompareDoubles(level1[i],level1[i+PeriodSh]))
        {
         levelcol1[i]=1.0;
         continue;
        }*/
      if(level1[i]<level1[i+PeriodSh])
        {
         levelcol1[i]=2.0;
         continue;
        }
     }  //--- Возвращаемое значение prev_calculated для следующего вызова
 
よろしくお願いします。
 
Vladimir Karputov #:

おまけは何ですか?


そして、比較することなく、さらに良いものを作ることができます。

正規化せずに等倍で比較した場合も同様です。

 
本題は未解決のままです。2色でバッファを着色する方法。>= 青から <= 赤へ。
 
Oleg Kolesov #:
本題は未解決のままです。2色でバッファを着色する方法。>= 青から <= 赤へ。

また、イコールの場合、多いか少ないか、どうやって判断するのでしょうか?それが課題ですね(笑)。

 
Oleg Kolesov #:
課題は何ですか? ループ?ArrayBsearch? ArraySort? どんな手段で?

ハッサーズ沈黙!

これは黙示録だ。

心の治療が必要です。

 
ちょっと休憩します。ありがとうございます。
 

メインウィンドウから インジケータを削除する方法を教えてください。

例えば、いくつかのカスタムMAインディケータが配置され、それぞれがiCustom(handleMA,...,..)によって呼び出されます。

このように、十数本の移動平均線 がチャート上に表示されます。

そして、これらの指標をタイマーで再計算する必要があります。

タイマーが作動し、古い指標が削除され、新しい移動平均の計算と描画が行われる、という順序です。

さて、まさに問題なのは、新しい反復のたびに古い線がチャート上に残ってしまうことです。

2つの方法で削除を試みました。

Graph_MA[i] = iCustom(_Symbol,Timeframe,"MA", /*параметры индикатора*/);   
for(int i=0; i < kol_Lines; i++) 
     {
      res = IndicatorRelease(Graph_MA[i]);
     }

この場合、res変数は毎回Trueに等しくなりますが、余分なインジケータはチャートから取り除かれることはありません。

2つ目の方法。

name_MA[i]=StringFormat("MA_Line # %d", i);
IndicatorSetString(INDICATOR_SHORTNAME,name_MA[i]);
res = ChartIndicatorDelete(0, 0, name_MA[i]);

無駄なこと:resは常に偽である。

 
qadexys #:

メインウィンドウから インジケータを削除する方法を教えてください。

例えば、いくつかのカスタムMAインディケータが配置され、それぞれがiCustom(handleMA,...,..)によって呼び出されます。

このように、十数本の移動平均線 がチャート上に表示されます。

そして、これらの指標をタイマーで再計算する必要があります。

タイマーが作動し、古い指標が削除され、新しい移動平均の計算と描画が行われる、という順序です。

さて、まさに問題なのは、新しい反復のたびに古い線がチャート上に残ってしまうことです。

2つの方法で削除を試みました。

この場合、res変数は毎回Trueに等しくなりますが、余分なインジケータはチャートから取り除かれることはありません。

2つ目の方法。

無駄なこと:resは常に偽である。

以上がIndicatorRelease()の特徴で、インジケーターの削除ではなく、インジケーターが不要になったことを端末に通知するものです。さらに、端末が自分で削除するタイミングを決める。通常、数秒後に実行されます。

何かコツがあるのかもしれませんが......わかりません。チャートを入れ替えてみるとか。

理由: