こんにちは、MT5の機能を理解するために私を助けてくれるすべての人に大きな敬意を表します。あなたなしでは、とても無理です...。昏倒、しゃっくり、ぐるぐる回る。だから、RESPECTとKudos to you。
質問です。rates_totalとhistory bar limitを 連携させる方法は?コードに正しくリンクされていましたか? ヒント、ヒントとお返事ありがとうございます。
//--- Проверка количества доступных баровif(rates_total<24) return0;
//--- Проверка и расчёт количества просчитываемых баровint limit=rates_total-prev_calculated;
if(limit>1)
limit=rates_total-1;
//Показать историю за CountPeriods недель барах по Н1int bars=PeriodSeconds(PERIOD_W1)/PeriodSeconds(PERIOD_H1)*CountPeriods; // CountPeriods=4; В глобальных переменных//РЕШИЛ ТАК НО ПО-МОЕМУ ЧУШЬ...int lm=iBarShift(NULL,PERIOD_H1,iTime(NULL,PERIOD_CURRENT,limit)); //rates_total-1 в дняхint start=lm-(lm-bars);
Comment(start," bars ",bars); //Равенство значений есть
こんにちは、MT5の機能を理解するために私を助けてくれるすべての人に大きな敬意を表します。あなたなしでは、とても無理です...。昏倒、しゃっくり、ぐるぐる回る。だから、RESPECTとKudos to you。
質問です。rates_totalとhistory bar limitを 連携させる方法は?コードに正しくリンクされていましたか? ヒント、ヒントとお返事ありがとうございます。
ちょうど新しい時間帯を見ていたところです。はすべて正常に動作しているようです。
それから質問ですが、rate_totalに関して、私のコードは正しかったですか?
Bars関数のヘルプをよく読むこと。
"
start_time と stop_time パラメータが指定された場合、この関数は日付範囲内のバーの 数を返します。これらのパラメータが指定されない場合、この関数はバーの総数を返す。
"
ヘルプには開始日や終了日を含めるかどうかが書かれていないので、結果的にこの関数に何を期待すればいいのかがわからない。
驚くべきは、その機能の仕組みです。
コメントされているものも含め、どのオプションでもStopDtは2という値を取得します
特に驚くのは、2番目の式で開始日(2018.01.04 10:00)が終了日(2018.01.03 23:49)より時間的に遅い場合の選択肢ですが、なぜエラーにならないのか、少なくとも1が出るのか。
もし、開始日と終了日が同じなら、1を出して、また2を出さないのは理にかなっているのです
FORTSの1分足チャートでSiインストゥルメントを確認しています。
インジケーターの一部、助けてください
市場が閉 じた夜間など、time[i]配列がオーバーフローすることがあります。
この問題を解決するにはどうすればいいのか。
こんな宣言の後にヒントが。
double Price[];
配列のサイズは 常に0ですか?
こんな宣言の後にヒントが。
配列のサイズは常に0ですか?
はい。
インジケーターの一部、助けてください
市場が閉 じた夜間など、time[i]配列がオーバーフローすることがあります。
この問題を解決するにはどうすればいいのか。
例えば、Nbarパラメータを正しく計算するために。
Bars関数のヘルプをよく読むこと。
"
start_time と stop_time パラメータが指定された場合、この関数は日付範囲内のバーの 数を返します。これらのパラメータが指定されない場合、この関数はバーの総数を返す。
"
ヘルプには開始日や終了日を含めるかどうかが書かれていないので、結果的にこの関数に何を期待すればいいのかがわからない。
驚くべきは、その機能の仕組みです。
コメントされているものも含め、どのオプションでもStopDtは2という値を取得します
特に驚くのは、2番目の式で開始日(2018.01.04 10:00)が終了日(2018.01.03 23:49)よりも時間的に遅い場合の選択肢ですが、なぜエラーが出ない、あるいは少なくとも1が出ないのでしょうか。
もし、開始日と終了日が同じなら、1を出して、また2を出さないのは理にかなっているのです
FORTSでSiインストゥルメントを確認すると、分足チャートになっています。
不整合について議論する前に、関数が返す棒グラフよりも多くの棒グラフがあることを示す必要があります。
私はこの機能をかなり多く使っていますが、特に問題はありません。なぜ、iBarShiftやそれに類する機能がmql5に搭載されたのか、とても不思議に思っています。
プログラマーが突然間違えた場合、この関数が「from」と「to」の時間を入れ替えることも、「Foolproof」の概念に含まれる。
また、アドバイスとして、関数をより速く動作させるには、バーの開始時間を入れてください。2~3行の追加でスピードが確保できます。特にテスターにとっては重要なことです。
例えば、Nbarパラメータを正しく計算 する。
自分でも既にチェックはしていますが、このチェックはこの関数のエラーを回避するためのもので、ヘルプにはチェックの必要性については全く書かれていないので、内蔵されているはずです。
それから、インジケーターのチェックの話ですが、iBarShiftは私の中ではBarsを使って正しいバー開始時間を計算しているので、クリアランスや取引セッションが 丸一日ないために履歴で頻繁に失敗しないFXにのみ適していると思います。
矛盾を語る前に、関数が返す以上の棒グラフがあることを示すべきでしょう。
私はこの機能をかなり多く使っていますが、特に問題はありません。なぜ、iBarShiftやそれに類する機能をmql5に搭載したのか、とても驚きました。
プログラマーが突然、時間の「from」と「to」を間違えてしまっても、この機能が所々で変えてくれることも、「Foolproof」という概念の一部になっています。
また、この機能をより高速に動作させるために、バーの開始時刻を入力することをお勧めします。2~3行の追加でスピードが出ます。特にテスターにとっては重要なことです。
これは保護ではなく、コードのエラーを検出するための障害なのです
しかも、日付が同じなら2番を返すというのは全く論理的ではないのですが、ここの根拠は何でしょうか?
FORTSのバーの開始時刻が一致しないことがあり、14:00ではなく14:05にバーが開くなど、計算の間違いに悩まされました。