"ダミー "からの質問 - ページ 268

 
DC2008:

よくわからないが、おそらくこのせいだろう。

INDICATOR_DATAとINDICATOR_CALCULATIONSは端末でサイズが設定され、バー0から描画 されます。


それから、すべてのArrayInitialize(array,EMPTY_VALUE);は、ゼロバーでも動作しないことが判明しましたか?



 
Silent:

ArrayResizeを持たず、INDICATOR_DATAとINDICATOR_CALCULATIONSにサイズを設定し、0番目のバーから描画するターミナル です。

そうでないかもしれませんが、配列は動的で、各タイムフレームには異なる数のバーが あります!1つから別のものに切り替えると配列のサイズが変わり(これはあなたが参加しなくても行われます)、ゴミが表示されるのです。

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Silent:

それから、すべてのArrayInitialize(array,EMPTY_VALUE);は、ゼロバーでも動作しないことが判明しましたか?

この場合、デフォルトのインデックスが左から右のため、(バー0であるにもかかわらず)配列の最後の要素になります。

 
DC2008:

そうではないかもしれませんが、配列は動的で、各タイムフレームには異なる数のバーが あります!一方から他方へ切り替えると、配列のサイズが変わり(これはあなたが参加しなくても行われます)、ゴミが表示されるのです。

理にかなっているように思います。それから、インジケータ・バッファの初期化はiniteでは全く意味がなく、全てOnCalculateで行われるべきです。

DC2008

この場合、デフォルトの設定では左から右へインデックスが付くので、(0 bar になっていても)配列の最後の要素になります。

そうですね、まだめくっていないんです。

 
皆さん、ありがとうございました。
 

エラーの修正、配列の反転、ArrayInitializeをいじった(とりあえず放置)...。

イニテでゴミを処分するのは無理そうです。PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); でも止められず、チャートの最初にも最後にも表示されることがあります。

トレーラーに置いておくと、開発者が見てくれるかもしれませんね。

PSですが、インジケーターを削除した後や再コンパイルした後にチャートの同じ場所にゴミが出現するのは、スズです。

こんなにも美しいのに・・・。


ファイル:
 
Silent:

エラーの修正、配列の反転、ArrayInitializeをいじった(とりあえず放置)...。

イニテでゴミを処分するのは無理そうです。PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars); でも止められず、チャートの最初にも最後にも表示されることがあります。

トレーラーに置いておくと、開発者が見てくれるかもしれませんね。

PSですが、インジケーターを削除した後や再コンパイルした後にチャートの同じ場所にゴミが出現するのは、スズです。

こんなにも美しいのに・・・。

これで、必要なときに必要な分だけ使えるようになったようです。

void OnDeinit(const int reason)
  {
   ArrayResize(USDBuffer,1);
   ArrayResize(EURBuffer,1);
   ArrayResize(GBPBuffer,1);
   return;
  }
 
DC2008:

ほら、思い通りに動いているようですね。

いや、これもポイ捨てだよ、左上の 数字でわかるだろ。

これらのセルをOnCalculateにロードした後にのみ動作します。

   ArrayInitialize(USDBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(EURBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,countBars);
   ArrayInitialize(GBPBuffer,EMPTY_VALUE);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,countBars);

あなたのバージョンは正しいようです。ゴミは、配列の自動レンダリングによるものです。そして、なぜそれが繰り返されるのか、その理由さえも明らかにされているようです。

例えば、端末が1,000から10,000にサイズを変更した場合、1つの同じ未使用メモリが割り当てられ、何度インジケータをリロードしても、1 001番目から9 999番目のセルまで左端の値のままである。

f_comment 関数で何かを変更し(色を変更)、その後のコンパイルの変更がターミナルの再起動インジケータに適用されないのはなぜでしょうか。

ファイル:
 
ある楽器のパラメーターのローソク足チャートを別ウィンドウで構築することは可能でしょうか?例えば、ブローカー "Otkritie "は、楽器RTS - 9.13とそれのために買い注文の グラフを構築するために、その値は "市場の概要 "ウィンドウに表示されているを持っています。
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
vicleo:
ある楽器のパラメーターのローソク足チャートを別ウィンドウで構築することは可能でしょうか?例えば、ブローカー "Otkritie "は、楽器RTS - 9.13とそれのために買い注文の チャートを構築するために、その値は "市場の概要 "ウィンドウに表示されているを持っています。
ブローカーと尋ねる)。