初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 667 1...660661662663664665666667668669670671672673674...1503 新しいコメント Vitaly Muzichenko 2016.11.06 17:14 #6661 Leo59: 残念ながら、うまくいきません。 init(); if(IsTradeAllowed())Print("取引が許可されました"); if(!IsTradeAllowed())Print("Trade is NOT allowed");取引承認済み」と書いてある 他に方法があるはずだ。どうやって?こんな風に試してみてください。starttime=(int)TimeCurrent()+sec; // например +5 секунд. Эту строку в OnInitif(TimeCurrent()>starttime) { ...}原理は明確で、刻みがない限りTimeCurrentは 変化しないのだと思います Leo59 2016.11.06 17:18 #6662 Vitaly Muzichenko:この方法で試してみてください。starttime=(int)TimeCurrent()+sec; // например +5 секунд if(TimeCurrent()>starttime) { ...}原理は明確で、刻みがない限りTimeCurrentは 変化しないのだと思います そうですね、Forexの場合はダニがよく来るので良いですね。FX向けでない場合は? Vitaly Muzichenko 2016.11.06 17:36 #6663 Leo59: そうですね、FXの場合はダニがよく来るので良いですね。FXに向いてないかも?ポイントは、初期化時に変数「starttime」がサーバー時間より 数秒長くなることです。つまり、ティックがマーケットオープン時に 来る場合、TimeCurrentは常にstarttimeより大きく なり、ティックは重要ではありません - この条件は満たされており、例えばタイムフレームの切り替えやターミナルの再ロードなど、次の再初期化まで満たさ れます。 Leo59 2016.11.06 17:44 #6664 Vitaly Muzichenko:ポイントは、初期化時に「starttime」変数の時間がサーバーの時間より数秒長くなることです。 最初のティックが到着する前に、今情報を処理して、新しい(最初の)ティックが到着したときに、すべてが動作するように準備する必要があるのです。 Vitaly Muzichenko 2016.11.06 17:46 #6665 Leo59: そうではないんです。よろしければ、今すぐご確認 ください)。でも、そんなことはどうでもいいんです。最初のティックが到着する前に、今のうちに情報を処理して、新しい(最初の)ティックが到着したときに、すべてが準備できているようにする必要があるのです。 数年前から使っていますが、ダニがいなくなるまで加工する必要はないですね。別のソリューションが必要で、私があげたリンクは、そのはずです。 Leo59 2016.11.06 17:57 #6666 Vitaly Muzichenko: ダニさえいなければ加工は必要ないのですが...。別のソリューションが必要で、あなたがあげたリンクから、それは 確かに、「starttime=(int)TimeCurrent()+sec;// 例:+5 秒」は、もちろんTimeCurrent()よりも大きいですからね 。大袈裟に言い過ぎました、脳が完全に溶けているようです )) そこにあげたリンク先にはTimeLocal()しか書いてありませんが、それは避けたかったのです。 Vitaly Muzichenko 2016.11.06 18:01 #6667 Leo59: おっしゃるとおり、「starttime=(int)TimeCurrent()+sec;// 例えば+5秒」は 、もちろんTimeCurrent()よりも大きいです 。大袈裟に言い過ぎました、脳が完全に溶けているようです )) リンク先はTimeLocal()にしか繋がらないので、避けたかったのです。タスクによっては、TimeCurrent()+OnTimer()、またはTimeCurrent()+TimeGMT()+TimeGMTOffset()の組み合わせで試してみてください。すべての条件をタイマーで行い、TimeCurrent()でトレードすることができます。多くの解決策がありますが、個々のタスクに応じた選択が必要です。 Leo59 2016.11.06 18:12 #6668 Vitaly Muzichenko:タスクによっては、TimeCurrent()+OnTimer()、またはTimeCurrent()+TimeGMT()+TimeGMTOffset()の組み合わせで試してみてください。タイマーを使ってすべての条件を実行し、TimeCurrent()で取引することができます。多くのソリューションがありますが、個々のタスクに応じた選択が必要です。 また、私の質問では、OnTimer() はどのように適用さ れるのでしょうか? Artyom Trishkin 2016.11.06 18:17 #6669 Leo59: また、私の質問では、OnTimer()はどのように適用されるのでしょうか? すべての計算が終わるまでインヒビットフラグをオンにしたままにする、など...。 Leo59 2016.11.06 18:21 #6670 Artyom Trishkin: すべての計算が終わるまでノーワークフラグを保持する、など...。 Artyomさん、質問は、TimeLocal() に頼らずに、プログラムで休日を定義する方法についてでした。)) 1...660661662663664665666667668669670671672673674...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
残念ながら、うまくいきません。 init(); if(IsTradeAllowed())Print("取引が許可されました"); if(!IsTradeAllowed())Print("Trade is NOT allowed");
取引承認済み」と書いてある
他に方法があるはずだ。どうやって?
こんな風に試してみてください。
if(TimeCurrent()>starttime) {
...
}
原理は明確で、刻みがない限りTimeCurrentは 変化しないのだと思います
この方法で試してみてください。
if(TimeCurrent()>starttime) {
...
}
原理は明確で、刻みがない限りTimeCurrentは 変化しないのだと思います
そうですね、FXの場合はダニがよく来るので良いですね。FXに向いてないかも?
ポイントは、初期化時に「starttime」変数の時間がサーバーの時間より数秒長くなることです。
そうではないんです。よろしければ、今すぐご確認 ください)。でも、そんなことはどうでもいいんです。最初のティックが到着する前に、今のうちに情報を処理して、新しい(最初の)ティックが到着したときに、すべてが準備できているようにする必要があるのです。
ダニさえいなければ加工は必要ないのですが...。別のソリューションが必要で、あなたがあげたリンクから、それは
そこにあげたリンク先にはTimeLocal()しか書いてありませんが、それは避けたかったのです。
おっしゃるとおり、「starttime=(int)TimeCurrent()+sec;// 例えば+5秒」は 、もちろんTimeCurrent()よりも大きいです 。大袈裟に言い過ぎました、脳が完全に溶けているようです )) リンク先はTimeLocal()にしか繋がらないので、避けたかったのです。
タスクによっては、TimeCurrent()+OnTimer()、またはTimeCurrent()+TimeGMT()+TimeGMTOffset()の組み合わせで試してみてください。
すべての条件をタイマーで行い、TimeCurrent()でトレードすることができます。多くの解決策がありますが、個々のタスクに応じた選択が必要です。
タスクによっては、TimeCurrent()+OnTimer()、またはTimeCurrent()+TimeGMT()+TimeGMTOffset()の組み合わせで試してみてください。
タイマーを使ってすべての条件を実行し、TimeCurrent()で取引することができます。多くのソリューションがありますが、個々のタスクに応じた選択が必要です。
また、私の質問では、OnTimer()はどのように適用されるのでしょうか?
すべての計算が終わるまでノーワークフラグを保持する、など...。