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

 
Сергей Таболин:

また、どの上位TFでローソク足が表示されないかというと、下位TFのローソク足が表示されます。

M1のインジケーターは、M5の別のインジケーターを使用しています。

一般的には、最適化の際に重要な計算資源の不当な消費が増えなければ問題にはならないでしょう(私の場合、新しいM5のたびに全履歴の指標の再実行が 発生し、プロジェクトはまだ完全に完了しておらず、異なるTFから16の指標を使用する計画です)。

 
Andrey Dik:

M1のインジケーターはM5の別のインジケーターを使用しています。

一般的には、最適化の際に重要な計算資源の不当な消費が増えなければ、問題にはならないでしょう(私の場合、新しいM5が出るたびに、全履歴のインジケータを再実行 することになります。)

アンドレイ でも、M5のローソクはM1のローソクと同じタイミングで開くんですよ。それとも、インジケーターの再描画(再計算)の負荷のことでしょうか?では、再描画を禁止したら、一体何が必要なのでしょうか?そうすると、新しいデータが手に入らなくなる...。

 

検索を修正してください。

 

コンパイルエラーです。

#define  MACRO( X )      X##X
void OnStart()
{
    Print( 11 );        //(1) нормально
    Print( MACRO( 1 )); //(2) Error: '11' - undeclared identifier
}
と(2)の違いは何ですか?
 
Сергей Таболин:

アンドレイ でも、M5のローソクはM1のローソクと同じ瞬間に開くんですよ。それとも、インジケーターの再描画(再計算)の負荷のことでしょうか?では、再描画を禁止したら、一体何が必要なのでしょうか?そうすると、新しいデータは出てこないので...。

新しい タイムフレームのバーが 表示され、そこからデータが取得されると、カウンタprev_calculatedはリセットされます。 これは、インディケータが初めて起動したかのように、再計算 されることを意味します。

は、このような構造が身近にあるのでしょうか?

if (rates_total == prev_calculated) return rates_total;
  
int startInd = rates_total - prev_calculated;

for (int i = startInd; i >= 0; i--)
{
  //тут считаем индикатор, который обращается к другому индикатору на старшем ТФ
}

EAのロジック(再描画、再描画しない、過少描画など)ではなく、誰も頼んでいないのにprev_calculatedがリセットされていることが問題なのです!?

 
Andrey Dik:

データを取得する新しいタイムフレームバーが あるとすぐに、prev_calculated カウンターがリセットされます。

は、このような構造が身近にあるのでしょうか?

EAのロジック(再描画、再描画しない、過少描画など)ではなく、誰も頼んでいないのにprev_calculatedがリセットされていることが問題なのです

インジケータは苦手です ))))

でも!

全く理解できていないのか、それとも少し勘違いしているのか、どちらかです。

私の知る限り、prev_calculatedは未計算のデータのカウンタです。そして、受信データをカウントしたら、そのカウンターをリセットする...。もういいや、男、新しいデータは計算しなくていいや...みたいな。)))

そして、そのような場合にインジケータが完全に 再計算されるべき理由は何なのか、私にはわかりません。

---------------

ちょっとだけ嘘をつきました )))

再計算されるのは指標ではなく、ヒストリー上で「見栄え」を良くするためだけに再描画される「指標」です ;)

 
Сергей Таболин:


少し嘘をつきました )))

指標は再描画されず、「指標」はヒストリー上で見栄えをよくするためにのみ再描画されます ;)

だから、飛ぶように売れるんです。なぜなら、彼らはいつもBEAUTIFULで美しく見えるからです。

 
Vladislav Andruschenko:

だから、飛ぶように売れるのです。なぜなら、彼らはいつもBEAUTIFULで美しく見えるからです。

100500 ))))))

 
Сергей Таболин:


私の知る限り、prev_calculatedは未計算のデータのカウンタです。

残念ながら、あなたの知識はドキュメントと矛盾しています。

OnCalculate()

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Функции обработки событий - Функции - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

EX5がデバッグモードでコンパイルされていることを内部で知るにはどうしたらよいですか?Debugモードで実行するのではなく、Debugで一度コンパイルして、通常の方法で実行します。

見つけた。

void OnStart()
{      
  #ifdef _DEBUG
    Alert("EX5 - debug.");
  #endif

  if (MQLInfoInteger(MQL_DEBUG))
    Alert("Debugging...");
}


また、EX5が保護されていることを知るにはどうすればよいのでしょうか。