エラー、バグ、質問 - ページ 1549

 
comp:

了解しました、ありがとうございます。残念ながら、この解決策はExpert Advisor(計算が中断されるはずのもの)でのみ機能します。チャート上でインジケータを呼び出すと、並列のチャートキューが作成されず、同じイベントキューに入り、特定のチャートだけでなく、このシンボルのすべてのチャートに入るため、インジケータでは動作しません。

インジケーターをEX5-resourceではなくMQ5-resourceとして突っ込むにはどうしたらいいですか?

無理でしょう。また、他のプログラムからコード(プログラムテキスト)を編集しようとすることはできません。
 

みんな!何が問題なのでしょうか?

m_trade.SellLimit(1,Ask+40,_Symbol,0,0,ORDER_TIME_GTC,0,")。

設定されています。そして...同じ速度で削除される。EAには1行しかない(すでにある)!?これだ!つまり、注文を削除するのは私のEAではないのです。何が問題なのか?

 
Karputov Vladimir:
無理でしょう。特に、コードそのもの(プログラムテキスト)を他のプログラムから編集しようとすることはできません。

EX5を配列としてコードに担わせることができる。サンドボックス内にEX5ファイルを作成し、リソースとして接続する。

ただ、同じようにMQ5-Resourceを一度に接続できれば、もっと合理的なのに、なぜこんな面倒なことをするのでしょう。

 
comp:

EX5を配列としてコードに担わせることができる。サンドボックス内にEX5ファイルを作成し、リソースとして接続する。

ただ、同じことをするならば、MQ5-Resourceを一度に接続できた方が合理的なのに、なぜこんな面倒なことをするのでしょうか。

自分の欲望の実現を求めるのではなく、既存のルールを当たり前にすること。
 
Karputov Vladimir:
自分の欲望の実現を求めるのではなく、既存のルールを当たり前にする。
どこに需要があるんだ!
 

comp:

MQ5リソースを一度に接続することができれば。

とか、学問的な興味とは別に目的は何なのか?
 
o_O:
また、学問的な興味とは別に、何を目指しているのでしょうか?

実は、開発者がこの禁止事項を

コンプ

私のコードでは、EX5を配列として運ぶことができます。サンドボックスでEX5ファイルを作成 し、リソースとしてプラグインする。

でも、もちろんそんなことは関係ない。汎用的なIsChanged()を作り、#includeで接続したい。

平行法表示器EX5-fileを持ち運びたくない。どんなものが入るかわからない。MQ5がオープンソースであるならば、もう一つ姿勢がある。

 
インジケーターの実行中に「インジケーターが遅い」というログが一度も表示されなければ、インジケーターはフリーズしなかったと言えるのでしょうか?
 
comp:
インジケータ実行中に「indicator is too slow」がログに表示されることがなかった場合、インジケータがハングアップしていないことを確認してもよいでしょうか。

メッセージ・キューにあるインジケータが少なくとも何かを置くのであれば、高速のマーケットでテストすることは意味があります。

追加されました。もし、インジケータが少なくともメッセージ・キューに何かを入れるのであれば、高速マーケットでのテストに加えて、ターミナルでいくつかのインジケータを実行することは理にかなっていると言えるでしょう。

 
Karputov Vladimir:

メッセージ・キューにあるインジケータが少なくとも何かを置くのであれば、高速のマーケットでテストすることは意味がある。

追加されました。もし、インジケータが少なくともメッセージ・キューに何かを入れるのであれば、高速マーケットでのテストに加えて、ターミナルでいくつかのインジケータを実行することは理にかなっていると言えるでしょう。

FullOnCalculate()の呼び出しにより、高速な市場をエミュレートすることができます。

#define  TIMESERIES(X)                                                  \
   ::ArraySetAsSeries(X, TRUE);                                        \
   Size = ::MathMin(Copy##X(::Symbol(), ::Period(), 0, bars, X), Size);  

int FullOnCalculate( const int Prev_Calculated = 0 )
{
  int Spread[];
  long RealVolume[];
  
  int Size = INT_MAX;
  
  #ifdef __MQL4__
    const int bars = ::Bars;
  #endif

  #ifdef __MQL5__
    const int bars = ::Bars(::Symbol(), ::Period());
  #endif

   TIMESERIES(Spread)
  TIMESERIES(RealVolume)
  
  #ifdef __MQL4__
    return(::OnCalculate(Size, Prev_Calculated, Time, Open, High, Low, Close, RealVolume, Volume, Spread));
  #endif
  
  #ifdef __MQL5__
    datetime Time[];
    double Open[];
    double High[];
    double Low[];
    double Close[];
    long TickVolume[];

    TIMESERIES(Time)
    TIMESERIES(Open)
    TIMESERIES(High)
    TIMESERIES(Low)
    TIMESERIES(Close)
    TIMESERIES(TickVolume)
  
    return(::OnCalculate(Size, Prev_Calculated, Time, Open, High, Low, Close, RealVolume, TickVolume, Spread));
  #endif
}

イベントモデル も同様です。質問は他のことだった

comp:
あるインディケータの実行中に、そのログに「indicator is too slow」がなかった場合、そのインディケータはフリーズ しなかったと判断してもよいでしょうか。

ロシア語教育から見た過去形。