ライブラリ: iBarShift - ページ 3 1234 新しいコメント Andrey Khatimlianskii 2013.10.28 02:13 #21 angevoyageur:ありがとうございます。このパラメーターを誤解していたので、exactがtrueの場合のコードも修正しなければなりません。iBarShiftの英語のドキュメントは間違っています。iBarShiftは(正確なオープン時間ではなく)指定した時間を含むバーを返すべきです。私のライブラリであなたの関数を使うことはできますか?もしその方が速くて正しいのであれば、なぜ私が車輪を再発明しなければならないのでしょうか?) Alain Verleyen 2013.10.28 09:16 #22 komposter:iBarShiftは(正確なオープン時間ではなく)指定した時間を含むバーを返すべきです。私のライブラリであなたの関数を使うことはできますか?もしその方が速くて正しいのであれば、なぜ私が車輪を再発明しなければならないのでしょうか?) もちろんです。 Alain Verleyen 2013.10.28 23:43 #23 正確」パラメータを考慮した修正コードを公開しました。 Alain Verleyen 2013.12.07 13:31 #24 angevoyageur:ありがとうございます。このパラメーターを誤解していたので、exactがtrueの場合のコードも修正しなければなりません。iBarShiftの英語のドキュメントは間違っています。mql5のバグはBars()関数に あり、サービスデスクに報告しました。 Bars()のバグはビルド880で修正されたようです。 Alain Verleyen 2013.12.07 13:51 #25 ビルド880ではBars()のバグが 修正され、現在はすべて正常に動作している。 Pasi Hakamaki 2013.12.07 14:04 #26 angevoyageur: ビルド880ではBars()のバグが 修正され、現在はすべて正常に動作している。 Vasiliy Smirnov 2014.03.17 23:59 #27 m1でのm2でのtrudyでの値は、なぜか-1ではなく、0小節で1小節目に戻る。 Ilya Malev 2015.10.15 01:35 #28 この関数は少なくとも2カ所で曲がっている:1) if(time>LastBar)return(0);つまり、time>LastBar+PeriodSeconds(timeframe)の場合です。2) if(CopyTime(symbol,timeframe,time,1,checkcandle)==1)...return(-1);繰り返しますが、exact=false の場合、最も近いバーが返されるはずです(この場合、Bars(symbol,timeframe)-1)。 Carl Schreiber 2017.09.13 11:57 #29 あなたのコードには小さなバグがあると思います://--- time > LastBarの場合、常に0を返す。 if(time>LastBar) return(0);最後のティックが新しいバーを「オープン」した場合、if(time>LastBar) は偽になります。というのも、現在time==LastBarだからです: if(checkcandle[0]==time) return(shift-1);シフト==0となり、0ではなく-1が返されます!だから、私はこう思う://--- time > LastBarの場合、常に0を返す。 if(time>LastBar) return(0);に変更する必要があります。 //--- time > LastBarの場合、常に0を返す。 if(time>=LastBar) return(0);Calli Alain Verleyen 2017.09.13 17:57 #30 Carl Schreiber:あなたのコードには小さなバグがあると思います:最後のティックが新しいバーを「オープン」 した場合、if(time>LastBar) はfalseになります。 どういう意味ですか?最後のティック」は関係ないと思います。この関数を 使うときは、time=LastBar になるかならないかです。そして、後にここに着地します:そして、 今シフト== 0は 0ではなく-1を返します! もしtime==LastBarなら、shift=1であり、0ではない。だから、バグはない(シフトは、バーカウントであるBars()から来る、それは我々が'シフト-1'を返す理由です)。ですから、私はこう考えます:を Calliしかし、'time==LastBar'のケースは "通常の "ケースとして処理されます。ステートメント if(time>LastBar)はバグ修正として追加されました。 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ありがとうございます。このパラメーターを誤解していたので、exactがtrueの場合のコードも修正しなければなりません。iBarShiftの英語のドキュメントは間違っています。
iBarShiftは(正確なオープン時間ではなく)指定した時間を含むバーを返すべきです。
私のライブラリであなたの関数を使うことはできますか?もしその方が速くて正しいのであれば、なぜ私が車輪を再発明しなければならないのでしょうか?)
iBarShiftは(正確なオープン時間ではなく)指定した時間を含むバーを返すべきです。
私のライブラリであなたの関数を使うことはできますか?もしその方が速くて正しいのであれば、なぜ私が車輪を再発明しなければならないのでしょうか?)
ありがとうございます。このパラメーターを誤解していたので、exactがtrueの場合のコードも修正しなければなりません。iBarShiftの英語のドキュメントは間違っています。
mql5のバグはBars()関数に あり、サービスデスクに報告しました。
ビルド880ではBars()のバグが 修正され、現在はすべて正常に動作している。
m1でのm2でのtrudyでの値は、なぜか-1ではなく、0小節で1小節目に戻る。
この関数は少なくとも2カ所で曲がっている:
1) if(time>LastBar)
return(0);
つまり、time>LastBar+PeriodSeconds(timeframe)の場合です。
2) if(CopyTime(symbol,timeframe,time,1,checkcandle)==1)
...
return(-1);
繰り返しますが、exact=false の場合、最も近いバーが返されるはずです(この場合、Bars(symbol,timeframe)-1)。
あなたのコードには小さなバグがあると思います:
最後のティックが新しいバーを「オープン」した場合、if(time>LastBar) は偽になります。
というのも、現在time==LastBarだからです:
シフト==0となり、0ではなく-1が返されます!
だから、私はこう思う:
に変更する必要があります。
Calli
あなたのコードには小さなバグがあると思います:
最後のティックが新しいバーを「オープン」 した場合、if(time>LastBar) はfalseになります。
そして、後にここに着地します:
そして、 今シフト== 0は 0ではなく-1を返します!
ですから、私はこう考えます:
を
Calli
しかし、'time==LastBar'のケースは "通常の "ケースとして処理されます。
ステートメント
if(time>LastBar)はバグ修正として追加されました。