intBars(
string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time // по какую дату
);
//дата последней свечи
curr_time=iTime(symbol,frame,0);
//ограничение на торговлю вне начала бараif(last_time==curr_time) return;
if((iBarShift(eSymbol,eFrame,last_time)-iBarShift(eSymbol,eFrame,curr_time))>PeriodSeconds(eFrame)) printf("а-я-яй");
last_time=curr_time;
int nbars = ( ( iTime(_Symbol,PERIOD_M30,N) - iTime(_Symbol,PERIOD_M30,N+1) ) ) / PeriodSeconds(PERIOD_M30) ) % 48; // сколько баров должно быть между ссоедними отметками
if (nbars>1) PrintFormat("Пропущено баров: %d",nbars-1);
例えば、こんな感じです。
水曜日の1小節を逃し、00:30にこのシンボルで開始、すなわち00:00に失う。
M30時間帯、48ではなく1日で47になることが判明。これこそ、私たちが見極めなければならないことです
以下はその一例です。
水曜日の1小節を逃し、00:30にこのシンボルで開始、すなわち00:00に失う。
M30時間帯、48ではなく47を1日で取得。これこそ、私たちが見極めなければならないことです。
正しい方法はわからないが、私ならこの方向で考える。
以下はその一例です。
水曜日の1小節を逃し、00:30にこのシンボルで開始、すなわち00:00に失う。
M30時間帯、48ではなく47を1日で取得。これこそ、私たちが見極めなければならないことです
Vitaly Muzichenko #:
それこそ、見極めが必要なのです。
なるほど、問題は誤報ですが、これはたくさんあるでしょう。
もし47
これは、CopyOpen()でも可能です。
全編を通してのループで、どのように整理していくか決めかねています
をさらにシンプルにしました。
これは、CopyOpen()でも可能です。
全編を通してのループで、どのように整理していくか決めかねています
これは、CopyOpen()でも可能です。
全歴史をループしてアレンジする方法が決められない
その通り(例えばM30) - 隣のバーのオープン間の時間(モジュロ%24時間)がM30より長い場合、それらの間に欠けているバーがあることを意味します。
int nbars = ( ( iTime(_Symbol,PERIOD_M30,N) - iTime(_Symbol,PERIOD_M30,N+1) ) ) / PeriodSeconds(PERIOD_M30) ) % 48; // сколько баров должно быть между ссоедними отметками
if (nbars>1) PrintFormat("Пропущено баров: %d",nbars-1);
皆さん、ありがとうございます。原理は明確で、問題は形式化されました。
---
さて、質問です。すべての文字が同じ値になっていますが、何が間違っているのでしょうか?
---
追伸:ターミナルMT4、異なる証券会社の2つのターミナルで確認しました。
P.SS.MT5で確認しましたが、結果は同じです
---
私はきっと何か間違っている!
"ポイント値 "を取得したい
皆さん、ありがとうございます。原理は明確で、問題は形式化されました。
---
さて、質問です。すべての文字が同じ値になっていますが、何が間違っているのでしょうか?
Vitalyさん、ここで必要なのは、開発者をバグらせるか、あるいは