偉大で恐ろしいMT4の永遠(または移行の戦略方法) - ページ 25 1...1819202122232425262728293031 新しいコメント fxsaber 2021.05.11 16:57 #241 Igor Makanu:PMがサーバーを放棄した このサーバー(というかブローカーのソフト)にはスパム対策が施されています。来週までにアップデートする予定で、そうすれば速度低下はなくなるそうです。 Andrey Khatimlianskii 2021.05.11 19:42 #242 fxsaber:このサーバーを見てもらわなければなりませんね。ここで提案された松葉杖が 重要と思われる方は、一度確認されると良いと思います。しばらくしてこの話題に戻るのは嫌ですね。バグがあれば指摘したほうがいいと思います。 MT4-styleのオプションはまだないのですか? 異なるサーバーで100のポジションを開くスクリプトを実行するだけ? fxsaber 2021.05.11 20:29 #243 Andrey Khatimlianskii:MT4スタイルのオプションはまだない? まだ始まっていません。ほとんどの場合、ユーザーはコードに何も変更を加えないでしょう。追加機能は、マクロで起動することになります。 異なるサーバーで100のポジションを開くスクリプトを実行するだけ? はい、異なるサーバーで、しかし、異なるスクリプトだけ です。1分間動作させてもダブリが発生しなければ、正常にチェックを通過したことになる。そうでなければ-失敗。 Библиотеки: TradesID 2021.03.29www.mql5.com Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: TradesID fxsaber 2021.05.12 19:59 #244 fxsaber:まだ始まっていません。ほとんどの場合、ユーザーはコードに何も変更を加えないでしょう。追加機能は、マクロで起動します。 了解です。 Библиотеки: MT4Orders 2021.02.09www.mql5.com MT4Orders: Автор: fxsaber... fxsaber 2021.05.13 07:18 #245 そうでした。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 偉大で恐ろしい永遠のMT4(あるいは賢い移行戦略の作り方) fxsaber, 2021.05.11 09:05 ポジションを待たずに、すぐに結果を出すことができます。 #include <fxsaber\TradesID\ByPass.mqh> #include <MT4Orders.mqh> #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK) void OnStart() { BYPASS ByPass; MT4ORDERS::OrderSend_MaxPause = 0; // Запрет на ожидание позиции после OrderSend while (OrdersTotal() < 30) if (ByPass.Is()) ByPass += OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0); Print(OrdersTotal()); } そうでした。 #define MT4ORDERS_BYPASS_MAXTIME 1000000 // Максимальное время (в мкс.) на ожидание синхронизации торгового окружения #include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006 #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK) void OnStart() { MT4ORDERS::OrderSend_MaxPause = 0; // Запрет на ожидание позиции после OrderSend while (OrdersTotal() < 30) OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0); Print(OrdersTotal()); } 信頼性を含め、MT4バリアントと変わらなくなりました。 MT5では書くのが大変な例も、当然のように簡単に実装できるようになりました。 mktr8591 2021.05.13 13:57 #246 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 偉大で恐ろしい永遠のMT4(または移行戦略の構築方法) イゴール・マカヌ さん 2021.05.10 10:28 が効くようです。 #include <Trade\Trade.mqh> void OnStart() { CTrade Trade; while(PositionsTotal() < 10) { if(OrdersTotal() > 0) continue; if(!Trade.Buy(0.01)) continue; if(OrdersTotal() == 0 && PositionsTotal() >= 10) return; } } が、非常に遅く、解像度はまあまあです。 10番目のポジションをオープンする注文を出した後、次の反復で、もし while(PositionsTotal() < 10) PositionTotalは更新する時間がなく(=9)、注文はすでに履歴に入ることができ、OrdersTotal()==0となっています。 その場合、Trade.Buy()はもう一回あるのでしょうか? 理論的には、何度か連続して起こる可能性があるのでは? それとも、何か見落としているのでしょうか? Fast235 2021.05.13 15:11 #247 mktr8591: 10 番目のポジションをオープンする注文が出された後、次の反復で PositionTotalは更新する時間がなく(=9)、注文はすでに履歴に行くことができ、OrdersTotal()==0となっています。その場合、Trade.Buy()はもう一回あるのでしょうか?理論的には、何度か連続して起こる可能性があるのでは?それとも、何か見落としているのでしょうか?それは彼の高周波の興味であり、他は十分なタイムアウトがあり、二度目は問題ない。 MT4ではそのように構築されているのでしょう、様子見です fxsaber 2021.05.13 19:37 #248 mktr8591: 10 番目のポジションをオープンする注文が出された後、次の反復で PositionTotalは更新する時間がなく(=9)、注文はすでに履歴に行くことができ、OrdersTotal()==0となっています。その場合、Trade.Buy()はもう一回あるのでしょうか? もちろん、そうなります。コードの中の理屈は全く同じです。 理論的には、何度か連続した繰り返しをするのでは? もしBuyが真なら、次の反復でOrdersTotal()== 0になる確率はほぼゼロです。つまり、12ポジションを開くことは実際には不可能なのです。 これは非常に原始的なケースです。二重の繰り返しは、しばしば次のようになります。 指値注文合計=1、ポジション合計=0。 リミッターを実行する。OrdersTotal = 0, PositionsTotal = 0. ポジションを開設しました。OrdersTotal = 0, PositionsTotal = 1. 2段階目で、Expert Advisorは何もないことを確認し、Limitを設定します。その結果、2つのポジションが空席となりました。 2点目は、MT5のオーバーシュートです。そして今、松葉杖がそれを迂回する。 mktr8591 2021.05.14 12:16 #249 ありがとうございます。そのことについて。fxsaber: 2倍表示はMT5の難点ではなく、Total()関数が誤検出をする場合のアーキテクチャ上のバグです。 バグだと言うこともできますし、違う形で提示することもできます :-)PositionsTotal()は 、オープンポジションの数ではなく、オープンポジションテーブルのサイズ です。ポジションの表は、実際には、取引の履歴の キャッシュとして、それだけで要求に応じてではなく、自動的に更新されますが、即座にではなく、わずかな遅延で、キャッシュです。このため、すでにオープンしているポジションが含まれていなかったり、すでにクローズしているポジションが含まれていたりすることがあります。OrdersTotal()も同様です。このようにヘルプを説明すれば、疑問や苦情、誤解は少なくなるはずです。そして、「MetaTrader 5の注文、ポジション、取引」の記事では、このことに注意を払うことができます(今は曖昧ですが、「PositionTotal()関数の結果は、ポジションキャッシュがいっぱいかどうかに依存しません -それは常にすべてのシンボルのベースターミナルでオープンポジションの実際の数を返します」)。 P.S. しかし、そこで正当な疑問が生じます。ライブ注文、ポジション、取引、約定した注文のテーブルの同期状態を判断するシステム関数/フラグを作り、松葉杖を作らないようにしたらどうでしょうか? fxsaber 2021.05.14 18:06 #250 mktr8591:P.S. しかし、そこで正当な疑問が生じます。ライブオーダー、ポジション、トレード、約定したオーダーのテーブルの同期 状態を判断するシステムfi/flagを 作り、松葉杖を作らないようにしたらどうでしょうか? ほとんどの場合、内部にそのようなフラグはありません。 1...1819202122232425262728293031 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
PMがサーバーを放棄した
このサーバー(というかブローカーのソフト)にはスパム対策が施されています。来週までにアップデートする予定で、そうすれば速度低下はなくなるそうです。
このサーバーを見てもらわなければなりませんね。ここで提案された松葉杖が 重要と思われる方は、一度確認されると良いと思います。
しばらくしてこの話題に戻るのは嫌ですね。バグがあれば指摘したほうがいいと思います。
MT4-styleのオプションはまだないのですか?
異なるサーバーで100のポジションを開くスクリプトを実行するだけ?
MT4スタイルのオプションはまだない?
まだ始まっていません。ほとんどの場合、ユーザーはコードに何も変更を加えないでしょう。追加機能は、マクロで起動することになります。
異なるサーバーで100のポジションを開くスクリプトを実行するだけ?
はい、異なるサーバーで、しかし、異なるスクリプトだけ です。1分間動作させてもダブリが発生しなければ、正常にチェックを通過したことになる。そうでなければ-失敗。
まだ始まっていません。ほとんどの場合、ユーザーはコードに何も変更を加えないでしょう。追加機能は、マクロで起動します。
了解です。
そうでした。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
偉大で恐ろしい永遠のMT4(あるいは賢い移行戦略の作り方)
fxsaber, 2021.05.11 09:05
ポジションを待たずに、すぐに結果を出すことができます。
そうでした。
信頼性を含め、MT4バリアントと変わらなくなりました。
MT5では書くのが大変な例も、当然のように簡単に実装できるようになりました。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
偉大で恐ろしい永遠のMT4(または移行戦略の構築方法)
イゴール・マカヌ さん 2021.05.10 10:28
が効くようです。
が、非常に遅く、解像度はまあまあです。
10番目のポジションをオープンする注文を出した後、次の反復で、もし
PositionTotalは更新する時間がなく(=9)、注文はすでに履歴に入ることができ、OrdersTotal()==0となっています。
その場合、Trade.Buy()はもう一回あるのでしょうか?
理論的には、何度か連続して起こる可能性があるのでは?
それとも、何か見落としているのでしょうか?
10 番目のポジションをオープンする注文が出された後、次の反復で
PositionTotalは更新する時間がなく(=9)、注文はすでに履歴に行くことができ、OrdersTotal()==0となっています。
その場合、Trade.Buy()はもう一回あるのでしょうか?
理論的には、何度か連続して起こる可能性があるのでは?
それとも、何か見落としているのでしょうか?
それは彼の高周波の興味であり、他は十分なタイムアウトがあり、二度目は問題ない。
MT4ではそのように構築されているのでしょう、様子見です10 番目のポジションをオープンする注文が出された後、次の反復で
PositionTotalは更新する時間がなく(=9)、注文はすでに履歴に行くことができ、OrdersTotal()==0となっています。
その場合、Trade.Buy()はもう一回あるのでしょうか?
もちろん、そうなります。コードの中の理屈は全く同じです。
理論的には、何度か連続した繰り返しをするのでは?
もしBuyが真なら、次の反復でOrdersTotal()== 0になる確率はほぼゼロです。つまり、12ポジションを開くことは実際には不可能なのです。
これは非常に原始的なケースです。二重の繰り返しは、しばしば次のようになります。
2段階目で、Expert Advisorは何もないことを確認し、Limitを設定します。その結果、2つのポジションが空席となりました。
2点目は、MT5のオーバーシュートです。そして今、松葉杖がそれを迂回する。
ありがとうございます。
そのことについて。
fxsaber:
2倍表示はMT5の難点ではなく、Total()関数が誤検出をする場合のアーキテクチャ上のバグです。バグだと言うこともできますし、違う形で提示することもできます :-)
PositionsTotal()は 、オープンポジションの数ではなく、オープンポジションテーブルのサイズ です。ポジションの表は、実際には、取引の履歴の キャッシュとして、それだけで要求に応じてではなく、自動的に更新されますが、即座にではなく、わずかな遅延で、キャッシュです。このため、すでにオープンしているポジションが含まれていなかったり、すでにクローズしているポジションが含まれていたりすることがあります。
OrdersTotal()も同様です。
このようにヘルプを説明すれば、疑問や苦情、誤解は少なくなるはずです。
そして、「MetaTrader 5の注文、ポジション、取引」の記事では、このことに注意を払うことができます(今は曖昧ですが、「PositionTotal()関数の結果は、ポジションキャッシュがいっぱいかどうかに依存しません -それは常にすべてのシンボルのベースターミナルでオープンポジションの実際の数を返します」)。
P.S. しかし、そこで正当な疑問が生じます。ライブ注文、ポジション、取引、約定した注文のテーブルの同期状態を判断するシステム関数/フラグを作り、松葉杖を作らないようにしたらどうでしょうか?P.S. しかし、そこで正当な疑問が生じます。ライブオーダー、ポジション、トレード、約定したオーダーのテーブルの同期 状態を判断するシステムfi/flagを 作り、松葉杖を作らないようにしたらどうでしょうか?
ほとんどの場合、内部にそのようなフラグはありません。