ある指標でゼロ除算エラーが発生した - ページ 9 1234567891011 新しいコメント Aleksey Vyazmikin 2018.07.04 21:33 #81 Sergey Savinkin:また、1時間ごとのタイムフレームからCopyRatesを作り(丸い数字が得られる)、現在のタイムフレームからの時間(Timeに変わる)をCreateFigure プロシージャに渡し、現在のタイムフレームでインデックスを検索 すると、なぜ丸くなるのか?start_index=ArrayBsearch(Time,start_time) となります。そうです、配列の中の丸くない時間に丸い時間を求めているのです...。つまり、分単位の時間枠で、その時間がその時間の開始 時間に対応するバーを探します。 Алексей Тарабанов 2018.07.04 21:36 #82 О! Aleksey Vyazmikin 2018.07.04 21:37 #83 Алексей Тарабанов: О!感動はいいものだ! でも、もしかしたら実質的な感想が出るかも!? Aleksey Vyazmikin 2018.07.04 21:41 #84 ここでは、例えば時間についてはどうかというと、時間を節約するために2つの変数を追加しました。 void CreateFigure(int i,const datetime &Time[],const double &Open[],const double &High[],const double &Low[],const double &Close[],MqlRates &rates[]) { datetime start_time=rates[i].time; datetime stop_time=(start_time+PeriodSeconds(TimeFrames)); datetime start_timeA=start_time; //--- int start_index,stop_index,limit; datetime vertical_line_time; //--- start_index=ArrayBsearch(Time,start_time); datetime start_timeB=Time[start_index]; if(Time[start_index]<start_time) start_index=(start_index>0?start_index-1:start_index); start_time=Time[start_index]; Print("start_timeA=", start_timeA, " start_timeB=",start_timeB," start_time=",start_time); このようなプリントを得ることができます。 2018.07.05 00:39:30.465 IndDrafter_Test (Si-9.18,M1) start_timeA=2018.07.04 12:00:00 start_timeB=2018.07.04 12:00:00 start_time=2018.07.04 12:00:00 2018.07.05 00:39:30.465 IndDrafter_Test (Si-9.18,M1) start_timeA=2018.07.04 13:00:00 start_timeB=2018.07.04 13:00:00 start_time=2018.07.04 13:00:00 2018.07.05 00:39:30.465 IndDrafter_Test (Si-9.18,M1) start_timeA=2018.07.04 14:00:00 start_timeB=2018.07.04 13:59:00 start_time=2018.07.04 14:05:00 2018.07.05 00:39:30.465 IndDrafter_Test (Si-9.18,M1) start_timeA=2018.07.04 15:00:00 start_timeB=2018.07.04 15:00:00 start_time=2018.07.04 15:00:00 つまり、通常/静止状態では、すべてが正しいかのように。 14:00に分足TFのバーの開始時刻が 14:05に修正されていることがわかります - TF M1上の最初のバーが出現した実際の時刻です。 Алексей Тарабанов 2018.07.04 21:44 #85 Aleksey Vyazmikin:感動はいいものだ! でも、もしかしたら実質的な感想が出るかも!?時間は同じなので、limit=0。自分でやりたかったんです。 Aleksey Vyazmikin 2018.07.04 21:47 #86 Алексей Тарабанов:時間は同じなので、limit=0。自分でやりたかったんです。では、1時間が同じならどうでしょう?何しろ、TF M1のこの時間には60本の小節があるのだ!また、現在のTFと計算されたTFが一致した場合、保護され、この状況ではゼロによる除算は 行われません。 if(_Period>=TimeFrames) return(0); Алексей Тарабанов 2018.07.04 21:49 #87 スリーピング Aleksey Vyazmikin 2018.07.04 21:50 #88 Алексей Тарабанов: スリーピング隠れているのか!? Алексей Тарабанов 2018.07.04 21:52 #89 スリーピング Aleksey Vyazmikin 2018.07.04 21:56 #90 Алексей Тарабанов: スリーピング??? 1234567891011 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
また、1時間ごとのタイムフレームからCopyRatesを作り(丸い数字が得られる)、現在のタイムフレームからの時間(Timeに変わる)をCreateFigure プロシージャに渡し、現在のタイムフレームでインデックスを検索 すると、なぜ丸くなるのか?start_index=ArrayBsearch(Time,start_time) となります。
そうです、配列の中の丸くない時間に丸い時間を求めているのです...。つまり、分単位の時間枠で、その時間がその時間の開始 時間に対応するバーを探します。
О!
感動はいいものだ!
でも、もしかしたら実質的な感想が出るかも!?
ここでは、例えば時間についてはどうかというと、時間を節約するために2つの変数を追加しました。
このようなプリントを得ることができます。
つまり、通常/静止状態では、すべてが正しいかのように。
14:00に分足TFのバーの開始時刻が 14:05に修正されていることがわかります - TF M1上の最初のバーが出現した実際の時刻です。感動はいいものだ!
でも、もしかしたら実質的な感想が出るかも!?
時間は同じなので、limit=0。自分でやりたかったんです。
時間は同じなので、limit=0。自分でやりたかったんです。
では、1時間が同じならどうでしょう?何しろ、TF M1のこの時間には60本の小節があるのだ!
また、現在のTFと計算されたTFが一致した場合、保護され、この状況ではゼロによる除算は 行われません。
スリーピング
隠れているのか!?
スリーピング
???