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

 

なぜか標準ライブラリを使って インジケータからデータを取得することができません。以下はそのスクリプトです。

//---------------------------------------------------------------------
#include  <Indicators\Trend.mqh>
//---------------------------------------------------------------------
CiSAR  price_source;
//---------------------------------------------------------------------
void
OnStart( )
{
  if( price_source.Create( Symbol( ), PERIOD_CURRENT, 0.01, 0.2 ) == true )
  {
    for( int i = 0; i < 10; i++ )
    {
      Print( "Price[ ", i, " ] = ", price_source.Main( i ));
    }
  }
}
//---------------------------------------------------------------------

以下はその動作結果です。

2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 9 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 8 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 7 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 6 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 5 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 4 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 3 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 2 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 1 ] = 1.797693134862316e+308
2010.10.04 13:31:17 TestIndicator (AUDUSD,H1) Price[ 0 ] = 1.797693134862316e+308

どうやら値の代わりにEMPTY_VALUEが出力されるようです。

何がいけなかったのか?

 
Dima_S:


私は何を間違えているのだろう?


を加えてみてください。

price_source.Refresh(-1);


データを要求する前に

 

ありがとうございます、助かります。ヘルプに反映させるとよいでしょう。

voidCIndicator::Refresh(int flags)

つまり、flagsはリフレッシュされる時間枠のバイナリマスクだと理解していいのでしょうか?もし-1なら、すべてのTFがリフレッシュされるのか?
 
Dima_S:
フラグとは、リフレッシュされる時間枠のバイナリマスクということですね?もし-1なら、すべてのTFがリフレッシュされるのですか?

その通りです。オブジェクトの可視性定数を使用することができます。

https://www.mql5.com/ru/docs/constants/objectconstants/visible

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Видимость объектов - Документация по MQL5
 

理解できない、見逃していたに違いない。これです。

class dfgdfg
{                                
   void sgsfd();
};

は正常にコンパイルされます。こんなんでいいのか?

つまり、コンパイル前にオプティマイザがそのメソッドを未使用と判断し、その結果、エラーメッセージ 111が生成されないのだと理解しています。

+また、実装ミスのある未使用のメソッドは、メッセージなしでコンパイルされます。

 

私の問題に関心を持つ人はいるだろうか?

https://www.mql5.com/ru/forum/2172/page1

Не обновляются некоторые графики
Не обновляются некоторые графики
  • www.mql5.com
Непосредственно в индикаторе выбирается необходимый инструмент и период графика.
 

また、問題もあります。

配列はインジケータ起動時のみ初期化される

これは、標準的なジグザグに何らかの誤差があることと相関があります。


 
MT 5がプロキシ(http,socks 4,5) を通して動作しない Build 328.しかし、これらのプロキシを経由しても、MT 4は問題なく動作します。
 
AlexSTAL:

私の問題に関心を持つ人はいるだろうか?

https://www.mql5.com/ru/forum/2172/page1

はい、あなたのメッセージは見られています。

再挑戦すること

 
AlexSTAL:

また、問題もあります。

配列はインジケータ起動時のみ初期化される

これは、標準的なジグザグに何らかの誤差があることと相関があります。


Memory例外が発生した場合、ターミナルの実行を継続する意味はありません。一番賢明なのは、端末を再起動し、なぜこんなにメモリを消費したのかを考え、食欲を抑えるようにすることです。