MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1384 1...137713781379138013811382138313841385138613871388138913901391...1953 新しいコメント Vitaly Muzichenko 2021.02.11 10:15 #13831 Mikhail Mishanin:時間値」を新しい時間と前回計算した時間の差に置き換えると?つまり、新しい時間があることを知ることができるのです。 -新日から -新しい週から -または指定された時間以上の差がある。 どう応用すればいいのか、さっぱりわからない! スクリーンショットでは22-00にロールオーバーとスプレッド拡大、他のほとんどのディーリングでは00-00に1時間後-スプレッド拡大となっています。 入力パラメータの時刻に制限されることなく、ロールオーバーの時刻をプログラムで調べるにはどうしたらよいでしょうか? --- 追伸:このコードはうまく動作しますが、ロールオーバーの500ティック前に実行することが条件となります。 bool CheckSpr(int _sp) { static int ts=0, res=0; static long tc=0; // Comment( res,"=",tc ); if(tc>500 && res*3<_sp) return(false); // если уже собрали 500 тиков и есть средний спред - смотрим на расширенный spr*3 tc++; ts += _sp; res =ts/tc; if(tc>LONG_MAX-1) { tc=0; ts=0; } // Comment( res,"=",tc ); if(tc<500) return(false); return(res>_sp?true:false); } Mikhail Mishanin 2021.02.11 10:34 #13832 Vitaly Muzichenko:どう応用すればいいのか、さっぱりわからない!スクリーンショットでは、22-00にロールオーバーとスプレッド拡大、00-00に他のほとんどの取引では、1時間後に-スプレッド拡大となっています。入力パラメータの時刻に制限されることなく、ロールオーバーの時刻をプログラムで調べるにはどうしたらよいでしょうか?---追伸:このコードはうまく動作しますが、ロールオーバーの500ティック前に実行するという条件下で ディーリングによるスプレッド拡大の理由は、取引セッションの 開始、すなわち大量の注文を処理するための「ダンピング」であり、すべてがどのように(どの価格で)「決済」されるのかが不明であることです。ディーリングすることで保険がかかり、スプレッドが広がる。取引セッションの終了/開始時間から遅らせるだけでよいのです。 Vitaly Muzichenko 2021.02.11 10:36 #13833 Mikhail Mishanin:ディーリングによってスプレッドが広がる理由は、取引セッションの 開始、すなわち大量の注文が処理されるため、すべてがどのように(どの価格で)「決済」されるのかが不明であるためです。ディーリングすることで保険がかかり、スプレッドが広がる。取引セッションの終了時または開始時に時間を確保するだけでよいのです。 はい、でも、楽器の仕様にはないんです。 そこで22:00にロールオーバーです。 そして、これが00-00でのロールオーバーです。 Tretyakov Rostyslav 2021.02.11 10:40 #13834 Vitaly Muzichenko:はい、しかし、ツールの仕様にはありません TimeCurrent()-TimeGMT() Vitaly Muzichenko 2021.02.11 11:40 #13835 最終バージョンでは、すべてを考慮したものになることを期待する MqlDateTime dt; bool CheckSpr(int _sp) { TimeGMT(dt); static int ts=0, res=0; static long tc=0; if(dt.hour==22) return(false); tc++; ts += _sp; res =ts/tc; if(tc>LONG_MAX-1) { tc=0; ts=0; } // Comment( res,"=",tc ); if(tc<500) return(false); return(res>_sp?true:false); } Mikhail Mishanin 2021.02.11 12:22 #13836 Vitaly Muzichenko:最終バージョンでは、すべてを考慮したものになることを期待します。 二変数 datetime daLAST=0; datetime daOLD=0。 取引 "が可能な各関数において,ティックの時間を取得 することができる。 daOLD =daLAST; daLAST= "チックタイム" (daLAST - daOLD > "time gap") - 新しいセッションが開始された場合、時間差がありました。 { //保存、使用、解除は自由です。 } Vitaly Muzichenko 2021.02.11 12:44 #13837 Mikhail Mishanin:二変数datetime daLAST=0;datetime daOLD=0。取引」できる各関数で、ティックの時間を取得 することができます。 daOLD =daLAST; daLAST="チックタイム"(daLAST - daOLD > "time gap") - 新しいセッションが開始された場合、時間差がありました。{//保存、使用、解除は自由です。} アジアセッションでは、21-59から22-01のロールオーバータイムで、アジアでのティック到着より早く、最大で数分間ティックがないペアやジレンマがあります。 Mikhail Mishanin 2021.02.11 13:23 #13838 Vitaly Muzichenko:アジアセッションでは、21-59から22-01まで、つまりアジアでのティック到着より早くロールオーバーし、最大で数分間ティックがないペアやディリングもあります。 では、振り出しに戻る。 目的は、法外に広がったスプレッドの取引を スキップすることでしょうか。 そうすると、時間を無視してスプレッドそのものを分析することができるのではないでしょうか。 Ask - Bid > "threshold "の場合、トラッキング/アキュムレーションを有効にする。 Ask - Bid < "threshold"の場合- スイッチオフ、またはアキュムレーションも。 このような「牛」は私にとっても便利なようで、こんなものを集めてみよう、統計をとってみよう...と。 また、何分間か新しいティックがない場合は、最初のティックをスキップして取引する方が合理的でしょう。 曲率」は「-」でも「+」でも機能するため、特定のペアやディリングで統計を取る必要があります。 Vitaly Muzichenko 2021.02.11 14:04 #13839 Mikhail Mishanin:では、振り出しに戻りましょう。目的は、法外に広がったスプレッドの取引を スキップすることでしょうか。そうすると、時間を無視してスプレッドそのものを分析することができるのではないでしょうか。Ask - Bid > "threshold "の場合、トラッキング/アキュムレーションを有効にする。Ask - Bid < "threshold"の場合- スイッチオフ、またはアキュムレーションも 行います。このような「牛」は私にとっても便利なようで、こんなものを集めてみよう、統計をとってみよう...と。また、何分間か新しいティックがない場合は、最初のティックをスキップして取引する方が合理 的でしょう。どのような「ねじれ」でも「-」や「+」として機能する可能性があるため、特定のペアやダイリン グについて統計を取る必要がある。 あなたが説明したことは、黄色を除いて、すべて上記のコードになります - 私はそれが冗長であり、全く正しくないと考えています。どういうわけか、そのロールオーバーは他の時間の誰か、いつもすべて1つで同じだった - 22-00 GMTで、私は間違っていることができるが、会ったことがない。 しかし、ロールオーバーの時間が5分だったり、1分ちょっとだったりと、異なることがよくあります。 --- コードを確認し、何かを変更できるかもしれません。 //+------------------------------------------------------------------+ void OnTick(void) { int sp = SymbolInfoInteger(Symbol(),SYMBOL_SPREAD); static int ts=0; if(CheckSpr(sp)) { // Здесь код отправки Comment( sp,"=",ts++,"=",res ); } else Comment( "false: ",sp,"=",ts++,"=",res ); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ MqlDateTime dt; int res=0; bool CheckSpr(int _sp) { TimeGMT(dt); static int ts=0; static long tc=0; if(dt.hour==22) return(false); tc++; ts += _sp; res =ts/tc; if(tc>LONG_MAX-1) { tc=0; ts=0; } // Comment( res,"=",tc ); if(tc<500) return(false); return(res>_sp?true:false); } Tretyakov Rostyslav 2021.02.11 15:11 #13840 Vitaly Muzichenko: みんな同じ時間、日本時間の午後10時です、間違っているかもしれませんが。 あなたは間違っていない。 1...137713781379138013811382138313841385138613871388138913901391...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
時間値」を新しい時間と前回計算した時間の差に置き換えると?
つまり、新しい時間があることを知ることができるのです。
-新日から
-新しい週から
-または指定された時間以上の差がある。
どう応用すればいいのか、さっぱりわからない!
スクリーンショットでは22-00にロールオーバーとスプレッド拡大、他のほとんどのディーリングでは00-00に1時間後-スプレッド拡大となっています。
入力パラメータの時刻に制限されることなく、ロールオーバーの時刻をプログラムで調べるにはどうしたらよいでしょうか?
---
追伸:このコードはうまく動作しますが、ロールオーバーの500ティック前に実行することが条件となります。
どう応用すればいいのか、さっぱりわからない!
スクリーンショットでは、22-00にロールオーバーとスプレッド拡大、00-00に他のほとんどの取引では、1時間後に-スプレッド拡大となっています。
入力パラメータの時刻に制限されることなく、ロールオーバーの時刻をプログラムで調べるにはどうしたらよいでしょうか?
---
追伸:このコードはうまく動作しますが、ロールオーバーの500ティック前に実行するという条件下で
ディーリングによるスプレッド拡大の理由は、取引セッションの 開始、すなわち大量の注文を処理するための「ダンピング」であり、すべてがどのように(どの価格で)「決済」されるのかが不明であることです。ディーリングすることで保険がかかり、スプレッドが広がる。取引セッションの終了/開始時間から遅らせるだけでよいのです。
ディーリングによってスプレッドが広がる理由は、取引セッションの 開始、すなわち大量の注文が処理されるため、すべてがどのように(どの価格で)「決済」されるのかが不明であるためです。ディーリングすることで保険がかかり、スプレッドが広がる。取引セッションの終了時または開始時に時間を確保するだけでよいのです。
はい、でも、楽器の仕様にはないんです。
そこで22:00にロールオーバーです。
そして、これが00-00でのロールオーバーです。
はい、しかし、ツールの仕様にはありません
最終バージョンでは、すべてを考慮したものになることを期待する
最終バージョンでは、すべてを考慮したものになることを期待します。
二変数
datetime daLAST=0;
datetime daOLD=0。
取引 "が可能な各関数において,ティックの時間を取得 することができる。
daOLD =daLAST;
daLAST= "チックタイム"
(daLAST - daOLD > "time gap") - 新しいセッションが開始された場合、時間差がありました。
{
//保存、使用、解除は自由です。
}
二変数
datetime daLAST=0;
datetime daOLD=0。
取引」できる各関数で、ティックの時間を取得 することができます。
daOLD =daLAST;
daLAST="チックタイム"
(daLAST - daOLD > "time gap") - 新しいセッションが開始された場合、時間差がありました。
{
//保存、使用、解除は自由です。
}
アジアセッションでは、21-59から22-01のロールオーバータイムで、アジアでのティック到着より早く、最大で数分間ティックがないペアやジレンマがあります。
アジアセッションでは、21-59から22-01まで、つまりアジアでのティック到着より早くロールオーバーし、最大で数分間ティックがないペアやディリングもあります。
では、振り出しに戻る。
目的は、法外に広がったスプレッドの取引を スキップすることでしょうか。
そうすると、時間を無視してスプレッドそのものを分析することができるのではないでしょうか。
Ask - Bid > "threshold "の場合、トラッキング/アキュムレーションを有効にする。
Ask - Bid < "threshold"の場合- スイッチオフ、またはアキュムレーションも。
このような「牛」は私にとっても便利なようで、こんなものを集めてみよう、統計をとってみよう...と。
また、何分間か新しいティックがない場合は、最初のティックをスキップして取引する方が合理的でしょう。
曲率」は「-」でも「+」でも機能するため、特定のペアやディリングで統計を取る必要があります。
では、振り出しに戻りましょう。
目的は、法外に広がったスプレッドの取引を スキップすることでしょうか。
そうすると、時間を無視してスプレッドそのものを分析することができるのではないでしょうか。
Ask - Bid > "threshold "の場合、トラッキング/アキュムレーションを有効にする。
Ask - Bid < "threshold"の場合- スイッチオフ、またはアキュムレーションも 行います。
このような「牛」は私にとっても便利なようで、こんなものを集めてみよう、統計をとってみよう...と。
また、何分間か新しいティックがない場合は、最初のティックをスキップして取引する方が合理 的でしょう。
どのような「ねじれ」でも「-」や「+」として機能する可能性があるため、特定のペアやダイリン グについて統計を取る必要がある。
あなたが説明したことは、黄色を除いて、すべて上記のコードになります - 私はそれが冗長であり、全く正しくないと考えています。どういうわけか、そのロールオーバーは他の時間の誰か、いつもすべて1つで同じだった - 22-00 GMTで、私は間違っていることができるが、会ったことがない。
しかし、ロールオーバーの時間が5分だったり、1分ちょっとだったりと、異なることがよくあります。
---
コードを確認し、何かを変更できるかもしれません。
みんな同じ時間、日本時間の午後10時です、間違っているかもしれませんが。
あなたは間違っていない。