初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 230 1...223224225226227228229230231232233234235236237...260 新しいコメント Nargiz Ravanova 2020.12.15 11:30 #2291 Aleksey Mavrin:とか、10秒後に必ず利益が増えるとか) もちろんいつもというわけではありませんが、1分で値が飛んでしまって、EAが露骨に固定値でクローズしてしまうということはよくあることです。 Konstantin Nikitin 2020.12.15 11:34 #2292 Nargiz Ravanova:言われた通りやったのですが、CloseAll()関数の後、1時間スリップしているにもかかわらず、Expert Advisorを閉じた後、なぜか数回トレードを開いてしまうのです。 datetime sleep = TimeCurrent(); if(sleep > TimeCurrent()) return; //--- double op = CalculateProfit(); if(op >= Profit && LastTime == 0) LastTime = TimeCurrent(); if(LastTime > 0 && TimeCurrent() - LastTime >= Second) { CloseAll(); LastTime = 0; SendNotification("Trade is end"); sleep = TimeCurrent()+60*60; } そういうものなんです。もちろん、膝の上に書いただけです。 Nargiz Ravanova 2020.12.15 13:22 #2293 Konstantin Nikitin: そんな感じです。もちろん、その場で書いただけです。 ありがとうございます。現在、EAは市場にあるすべてのトレードのうち、1つのトレードしかクローズしません。 スリップが発生せず、EAが再び新しい取引を開始し、スリップを無視しています。EAを見ると、もう一つ開くことはできないと思うのですが、以前のように戻すしかないのでしょうか。このEAで何をしたらいいのかわからない。 Iurii Tokman 2020.12.15 13:56 #2294 Nargiz Ravanova:ありがとうございます!今はEAが全取引のうち1回しか決済しない、グリッドEAがあります。というのも、"痒いところに手が届く "状態だからです。実装は無理だと思うので、以前のように戻すだけです。お礼を申し上げたい。 全体として実施する必要がある 理由は様々だろうが Konstantin Nikitin 2020.12.16 10:07 #2295 Nargiz Ravanova:ありがとうございます!今はEAが全取引のうち1回しか決済しない、グリッドEAがあります。というのも、"痒いところに手が届く "状態だからです。実装は無理だと思うので、以前のように戻すだけです。すでに実装済みで、まだ実装されていないので、以前の状態に戻すだけです。 これなら、もっと意味があるはずですよね? input double Profit = 100.0; input int Second = 10; //+------------------------------------------------------------------+ void CloseAllSleep(void) { static datetime sleep_all = TimeCurrent(); static datetime LastTime = 0; if(sleep_all > TimeCurrent()) return; //--- if(LastTime == 0) { if(CalculateProfit() < Profit) return; LastTime = TimeCurrent(); } if(TimeCurrent() - LastTime >= Second) return; //--- if(!CloseAll()) return; LastTime = 0; SendNotification("Trade is end"); sleep_all = TimeCurrent()+60*60; } //--- Считаем профит открытых позиций double CalculateProfit(void) { return 0.0; } //--- Закрываем все позиции bool CloseAll(void) { return true; } 繰り返しになりますが、これは純粋にわかりやすくするためのものです。そして、何をどのように実行する必要があるのか、自分自身で考えてみてください。 Aleksey Mavrin 2020.12.16 10:15 #2296 Nargiz Ravanova: もちろん、常にではありませんが、価格が1分間だけ飛んで、Expert Advisorが固定価格でぶっきらぼうに終了することはよくあることです。 それでも、このやり方は最適とは言えないと思います。価格が飛んでいる場合は、プラスのスリッページがあるはずです。もしあなたが時間を待つなら - それはルーレットのゲームです - その後、何のための戦略ですか、あなたの利益はすでに与えられた2ポンドよりも低いかもしれません。 価格変動の スピードを測り、利益に向かって高ければ待つ、下がればカバーする方が合理的です。 Nargiz Ravanova 2020.12.16 15:37 #2297 Konstantin Nikitin:そのほうが筋が通っていると思うのですが、いかがでしょう?繰り返しになりますが、これは純粋に理解のためのものです。何をどう実装するかは、あなた次第です。 正直言ってよくわからない、忘れてくれ、何か考えるから。 Nargiz Ravanova 2020.12.16 15:38 #2298 Aleksey Mavrin:それでも、このやり方は最適とは言えないと思います。価格が飛んでいるのであれば、スリッページはプラスになるはずです。もしあなたが時間を待つなら - それはルーレットのゲームです - その後、何のための戦略ですか、あなたの利益はすでに与えられた2ポンドよりも低くなる可能性があります。価格変動のスピードを測り、利益に向かって高ければ待つ、下がればカバーする方が合理的です。 ここで単純なスリップを直せないからスピードの話になる)))) Aleksey Mavrin 2020.12.16 20:18 #2299 Nargiz Ravanova: ここで単純なスリップを直せないからスピードの話になる)))) もしあなたが高い目標を掲げるなら、全能の神がその達成を助けてくれるでしょう;) Konstantin Nikitin 2020.12.16 21:52 #2300 Nargiz Ravanova: ここで単純なスリップを直せないからスピードの話になる)))) 正確には、できないようです。そして、SLEEPについて。Expert Advisor全体をしばらくの間、凍結しますか?あるいは、ある機能だけを、鍛え上げた後。いずれにせよ、Expert Advisor の動作を中断する場合でも、長時間遅延のフラグを使用し、それを確認する際に、許可がなければOnTick/OnTimer に抜けるだけにしておく方がよいでしょう。短時間の遅延の場合は、はい、SLEEPを 使用することができます。 ちなみに、SLEEPは インジケーターでは使えません。 Sleep()関数はカスタムインジケータからは 呼び出せません。なぜなら、インジケータはインターフェイススレッドで実行され、その速度を低下させて はならないからです。 だから、フラッグの使い方を理解しておくと、将来的に必要になってくる。 1...223224225226227228229230231232233234235236237...260 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
とか、10秒後に必ず利益が増えるとか)
言われた通りやったのですが、CloseAll()関数の後、1時間スリップしているにもかかわらず、Expert Advisorを閉じた後、なぜか数回トレードを開いてしまうのです。
そういうものなんです。もちろん、膝の上に書いただけです。
そんな感じです。もちろん、その場で書いただけです。
ありがとうございます。現在、EAは市場にあるすべてのトレードのうち、1つのトレードしかクローズしません。
スリップが発生せず、EAが再び新しい取引を開始し、スリップを無視しています。EAを見ると、もう一つ開くことはできないと思うのですが、以前のように戻すしかないのでしょうか。このEAで何をしたらいいのかわからない。
ありがとうございます!今はEAが全取引のうち1回しか決済しない、グリッドEAがあります。
というのも、"痒いところに手が届く "状態だからです。実装は無理だと思うので、以前のように戻すだけです。お礼を申し上げたい。
全体として実施する必要がある
理由は様々だろうが
ありがとうございます!今はEAが全取引のうち1回しか決済しない、グリッドEAがあります。
というのも、"痒いところに手が届く "状態だからです。実装は無理だと思うので、以前のように戻すだけです。すでに実装済みで、まだ実装されていないので、以前の状態に戻すだけです。
これなら、もっと意味があるはずですよね?
繰り返しになりますが、これは純粋にわかりやすくするためのものです。そして、何をどのように実行する必要があるのか、自分自身で考えてみてください。
もちろん、常にではありませんが、価格が1分間だけ飛んで、Expert Advisorが固定価格でぶっきらぼうに終了することはよくあることです。
それでも、このやり方は最適とは言えないと思います。価格が飛んでいる場合は、プラスのスリッページがあるはずです。もしあなたが時間を待つなら - それはルーレットのゲームです - その後、何のための戦略ですか、あなたの利益はすでに与えられた2ポンドよりも低いかもしれません。
価格変動の スピードを測り、利益に向かって高ければ待つ、下がればカバーする方が合理的です。
そのほうが筋が通っていると思うのですが、いかがでしょう?
繰り返しになりますが、これは純粋に理解のためのものです。何をどう実装するかは、あなた次第です。
正直言ってよくわからない、忘れてくれ、何か考えるから。
それでも、このやり方は最適とは言えないと思います。価格が飛んでいるのであれば、スリッページはプラスになるはずです。もしあなたが時間を待つなら - それはルーレットのゲームです - その後、何のための戦略ですか、あなたの利益はすでに与えられた2ポンドよりも低くなる可能性があります。
価格変動のスピードを測り、利益に向かって高ければ待つ、下がればカバーする方が合理的です。
ここで単純なスリップを直せないからスピードの話になる))))
もしあなたが高い目標を掲げるなら、全能の神がその達成を助けてくれるでしょう;)
ここで単純なスリップを直せないからスピードの話になる))))
正確には、できないようです。そして、SLEEPについて。Expert Advisor全体をしばらくの間、凍結しますか?あるいは、ある機能だけを、鍛え上げた後。いずれにせよ、Expert Advisor の動作を中断する場合でも、長時間遅延のフラグを使用し、それを確認する際に、許可がなければOnTick/OnTimer に抜けるだけにしておく方がよいでしょう。短時間の遅延の場合は、はい、SLEEPを 使用することができます。
ちなみに、SLEEPは インジケーターでは使えません。
だから、フラッグの使い方を理解しておくと、将来的に必要になってくる。