初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 320 1...313314315316317318319320321322323324325326327...1503 新しいコメント Aleksandr Novikov 2014.11.27 10:17 #3191 プログラマーの皆様、ご存知の方、アドバイスお願いします。私は、MT4用のExpert Advisorを持っていて、合計利益に達したときに注文の束(500-2500)を閉じます。気がつくと、魔力の弱いものから強いものへと順番に注文が閉じられている。そこで質問なのですが、Expert Advisorに 注文終了時にスクリプトを起動 し、注文を終了させ、端からマジックで大きいものから小さいものへとソートする機能を追加することは可能でしょうか?このアイデアで、決算のスピードが加速するのでは? どこかで、サーバーに同時に送ることができるリクエストは4つまでと聞いたことがあります。 Roman Shiredchenko 2014.11.27 10:54 #3192 Tapochun: それなら、コードを見ないと...。もしかしたら、それかもしれない...は、プリントにそのような線があるのでしょうか? いいえ。すべて過去にテスト済み、問答無用で......。他に何があるんだ? Vasiliy Sokolov 2014.11.27 10:57 #3193 Novikov:プログラマーの皆様、ご存知の方、アドバイスお願いします。私は、MT4用のExpert Advisorを持っていて、合計利益に達したときに注文の束(500-2500)を閉じます。気がつくと、魔力の弱いものから強いものへと順番に注文が閉じられている。そこで、Expert Advisorに 注文終了時にスクリプトを起動 し、注文を終了させるが、端からマジックで大きいものから小さいものにソートする機能を追加することは可能か?また、このアイデアで決算のスピードが速くなるのでしょうか? どこかで、サーバーに同時に送れるリクエストは4つまでと聞いたことがあります。Expert Advisorからスクリプトを実行することはできません。異なるEAから同時に複数のリクエストをサーバーに送信することが本当にできます。複数のEAを同期させれば、確かにパフォーマンスが上がるかもしれません。でも、もし私があなただったら、開いたドアに頭をぶつけたりしないわね。MetaTrader5に乗り換えたい。OrderSendAsync機能により、数秒で100~200件の注文を一括で決済するという驚異的なスピードでポジションを決済することができます。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム デベロッパーズ!エラー 10024 (要求が多すぎる) C-4, 2014.11.07 15:55 とにかく、私の小さな調査を総括してください。50リクエストは50ミリ秒で、100リクエストは180ミリ秒で、200リクエストは2100ミリ秒で、500リクエストは9000ミリ秒で、1000リクエストは23000ミリ秒でプッシュすることに成功しました。(時間は平均値です)。つまり、プッシュする必要があるほど、時間がかかるのです。文盲のコーディングの問題かもしれません。リクエストの束の実際の実行 時間は、もちろん長くなる。この時間は、最悪の場合、リクエスト送信の時間+リクエスト実行の時間に相当するようです。いずれにしても、取引所での平均的な注文執行時間+トレードサーバーとの通信時間というのが限界のような気がします。リクエスト数が60以下であれば、取引サーバーと通信し、すべてのリクエストを送信し、その成立を待つ必要はない。送信自体は40〜60ミリ秒かかる。要望が多ければ、より難しくなります。サーバーからの返信を待ち、再度注文送信のスイッチを入れ、拒否されるのを待つ、などの作業が必要です。つまり、ネットワーク上でメッセージのやり取りが行われているわけです。リクエストが多い場合は、リクエストの充足に応じて徐々にプールを解放していきます。その後の派遣は、1回、2回と小分けに依頼が来るので、これがネットワークです。その結果、時間はどんどん増えていく。とにかく、コードは正しく動作しているようなので、リクエストの送受信のメカニズムを理解する必要があります。そのような送信をテストするコードを添付します。p.s. 結論から言うと、60リクエストはHFT取引でも十分すぎるほどです。注文を出して、結果を得て、取引環境を分析し、必要なら新しい注文を出すというように、実際には取引行動を意識的に分析する必要があります。全体のサイクルは、40-60ミリ秒+1オーダーの平均実行時間という規模を明らかに超えることになります。 削除済み 2014.11.27 11:05 #3194 R0MAN: いいえ。昔は問答無用で全部テストしていたのに...。他に何か原因があるのでしょうか? 新しいデータでテストしてみてください。別の端末で実行してみましたか? Roman Shiredchenko 2014.11.27 11:22 #3195 Tapochun: 新しいデータでテストしてみてください。別の端末で実行してみましたか? いいえ、今日bxから新しいのを取り付けました。その上でテストを試みた。もう一回やってみるか...。その結果をここに掲載します。 Aleksandr Novikov 2014.11.27 11:22 #3196 C-4:EAからスクリプトを実行することはできません。確かに、異なるEAから同時に複数のリクエストをサーバーに送信することは可能です。複数のEAを同期させれば、確かにある程度の性能向上は見込めます。でも、もし私があなただったら、開いたドアに頭をぶつけるようなことはしないでしょう。MetaTrader5に 乗り換えたい。そこにあるOrderSendAsyncという機能を使えば、数秒で100~200件の注文を一括で決済するという驚異的なスピードでポジションを決済することができます。MT5とさらに100~200の注文がどう関係するのでしょうか?また、MT5で100~200の注文は?これがMT5の100~200種類の取引ツールです!結局のところ、1つのシンボルには1つの注文しか出せないのです。そして、28の商品で大量の注文が溜まって おり、同時に一部ロットで!?質問のテーマで提案できることがあれば、ありがたいですし、質問と関係ないアドバイスは不要で、建設的ではありません Roman Shiredchenko 2014.11.27 11:32 #3197 C-4:EAからスクリプトを実行することはできません。確かに、異なるEAから同時に複数のリクエストをサーバーに送信することは可能です。複数のEAを同期させれば、確かにある程度の性能向上は見込めます。でも、もし私があなただったら、開いたドアに頭をぶつけないようにします。MetaTrader5に乗り換えたい。そこにあるOrderSendAsyncという機能を使えば、数秒で100~200件の注文を一括で決済するという驚異的なスピードでポジションを決済することができます。 О!Vasiliyさん、もしいらっしゃったら、私の質問に目を通してください、ありがとうございます。 Vasiliy Sokolov 2014.11.27 11:41 #3198 R0MAN: ワシリー、もしここにいたら、私の質問を見てください、ありがとうございます。こんにちは!チェックしました。残念ながら、これまでこのようなエラーに遭遇したことはありません。例えば、テスターの履歴フォルダを確認することです。必要なシンボルのファイルがない場合は、メインフォルダ y:\MetaTrader 5bases﹑AdmiralMarkets-MT5⁾から手動でデータをコピーして、テスターを再起動してみてください。今のところ他のアイデアはありません。s.e.不思議ですが。テスターは自動的に履歴をコピーする必要があります。でも、何があるかはわからない。 Roman Shiredchenko 2014.11.27 11:44 #3199 C-4: こんにちは!チェックしました。残念ながら、これまでこのようなエラーに遭遇したことはありません。例えばテスターのhistoryフォルダを確認するとか......。必要なシンボルのファイルがない場合は、メインフォルダ y:\MetaTrader 5bases﹑AdmiralMarkets-MT5⁾から手動でデータをコピーして、テスターを再起動してみてください。今のところ、それ以外のアイデアはありません。 ありがとうございます。キャンパスに戻ると...今、携帯電話からです。 Vasiliy Sokolov 2014.11.27 11:59 #3200 Novikov: MT5と、特に100~200の注文は関係あるのでしょうか?また、MT5の100~200の注文は何ですか?これがMT5の100~200種類の取引ツールです!結局のところ、私が間違っていなければ、1つのシンボルに対して1つのオーダーしか開くことができません。そして、28の商品と同時に一部ロットで大量の注文が溜まって いるんですよー。このテーマで何か提案できることがあれば、ありがたいですし、質問と関係ないアドバイスをするのは無駄で非建設的なことですもう一度(よく読んでください)。MetaTrader4では、注文を閉じるために注文を送信し、その実行を待ち、次の注文に移るというように、順次注文を閉じることしかできません。このため、MetaTrader4では、注文の一括決済にかかる時間は相当なものであり、些細なことでは短縮できません。しかし、複数のExpert Advisorを自分のチャートにアップロードして、相互に情報を交換させ、共通のコマンドで注文をクローズさせることができます。各エキスパートは、そのシンボルでのみ注文をクローズします。MetaTrader4では、複数の取引スレッドが存在するため、互いにブロックして注文を送信することはないでしょう。しかし、そのような専門家の集まりの組織は複雑であり、あなたの知識レベルから判断して、そのようなことは勧められないと思います。それでもまだ書きすぎだと思われる方は、ここで簡単にまとめておきましょう。1.ご質問の答えは「いいえ」です。Expert Advisorからスクリプトを実行することはできません。2.MetaTrader4では、複雑な方法を用いなければ、取引注文の執行速度を向上させることはできません。ご質問の件を正常に解決する唯一の方法は、MetaTrader4には存在しないOrderSendAsync関数を使用することです。 1...313314315316317318319320321322323324325326327...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
プログラマーの皆様、ご存知の方、アドバイスお願いします。
私は、MT4用のExpert Advisorを持っていて、合計利益に達したときに注文の束(500-2500)を閉じます。気がつくと、魔力の弱いものから強いものへと順番に注文が閉じられている。
そこで質問なのですが、Expert Advisorに 注文終了時にスクリプトを起動 し、注文を終了させ、端からマジックで大きいものから小さいものへとソートする機能を追加することは可能でしょうか?
このアイデアで、決算のスピードが加速するのでは?
どこかで、サーバーに同時に送ることができるリクエストは4つまでと聞いたことがあります。それなら、コードを見ないと...。もしかしたら、それかもしれない...は、プリントにそのような線があるのでしょうか?
プログラマーの皆様、ご存知の方、アドバイスお願いします。
私は、MT4用のExpert Advisorを持っていて、合計利益に達したときに注文の束(500-2500)を閉じます。気がつくと、魔力の弱いものから強いものへと順番に注文が閉じられている。
そこで、Expert Advisorに 注文終了時にスクリプトを起動 し、注文を終了させるが、端からマジックで大きいものから小さいものにソートする機能を追加することは可能か?
また、このアイデアで決算のスピードが速くなるのでしょうか?
どこかで、サーバーに同時に送れるリクエストは4つまでと聞いたことがあります。Expert Advisorからスクリプトを実行することはできません。異なるEAから同時に複数のリクエストをサーバーに送信することが本当にできます。複数のEAを同期させれば、確かにパフォーマンスが上がるかもしれません。
でも、もし私があなただったら、開いたドアに頭をぶつけたりしないわね。MetaTrader5に乗り換えたい。OrderSendAsync機能により、数秒で100~200件の注文を一括で決済するという驚異的なスピードでポジションを決済することができます。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
デベロッパーズ!エラー 10024 (要求が多すぎる)
C-4, 2014.11.07 15:55
とにかく、私の小さな調査を総括してください。
50リクエストは50ミリ秒で、100リクエストは180ミリ秒で、200リクエストは2100ミリ秒で、500リクエストは9000ミリ秒で、1000リクエストは23000ミリ秒でプッシュすることに成功しました。(時間は平均値です)。つまり、プッシュする必要があるほど、時間がかかるのです。文盲のコーディングの問題かもしれません。
リクエストの束の実際の実行 時間は、もちろん長くなる。この時間は、最悪の場合、リクエスト送信の時間+リクエスト実行の時間に相当するようです。いずれにしても、取引所での平均的な注文執行時間+トレードサーバーとの通信時間というのが限界のような気がします。リクエスト数が60以下であれば、取引サーバーと通信し、すべてのリクエストを送信し、その成立を待つ必要はない。送信自体は40〜60ミリ秒かかる。要望が多ければ、より難しくなります。サーバーからの返信を待ち、再度注文送信のスイッチを入れ、拒否されるのを待つ、などの作業が必要です。つまり、ネットワーク上でメッセージのやり取りが行われているわけです。リクエストが多い場合は、リクエストの充足に応じて徐々にプールを解放していきます。その後の派遣は、1回、2回と小分けに依頼が来るので、これがネットワークです。その結果、時間はどんどん増えていく。とにかく、コードは正しく動作しているようなので、リクエストの送受信のメカニズムを理解する必要があります。
そのような送信をテストするコードを添付します。
p.s. 結論から言うと、60リクエストはHFT取引でも十分すぎるほどです。注文を出して、結果を得て、取引環境を分析し、必要なら新しい注文を出すというように、実際には取引行動を意識的に分析する必要があります。全体のサイクルは、40-60ミリ秒+1オーダーの平均実行時間という規模を明らかに超えることになります。
いいえ。昔は問答無用で全部テストしていたのに...。他に何か原因があるのでしょうか?
新しいデータでテストしてみてください。別の端末で実行してみましたか?
EAからスクリプトを実行することはできません。確かに、異なるEAから同時に複数のリクエストをサーバーに送信することは可能です。複数のEAを同期させれば、確かにある程度の性能向上は見込めます。
でも、もし私があなただったら、開いたドアに頭をぶつけるようなことはしないでしょう。MetaTrader5に 乗り換えたい。そこにあるOrderSendAsyncという機能を使えば、数秒で100~200件の注文を一括で決済するという驚異的なスピードでポジションを決済することができます。
MT5とさらに100~200の注文がどう関係するのでしょうか?また、MT5で100~200の注文は?これがMT5の100~200種類の取引ツールです!結局のところ、1つのシンボルには1つの注文しか出せないのです。
そして、28の商品で大量の注文が溜まって おり、同時に一部ロットで!?
質問のテーマで提案できることがあれば、ありがたいですし、質問と関係ないアドバイスは不要で、建設的ではありません
EAからスクリプトを実行することはできません。確かに、異なるEAから同時に複数のリクエストをサーバーに送信することは可能です。複数のEAを同期させれば、確かにある程度の性能向上は見込めます。
でも、もし私があなただったら、開いたドアに頭をぶつけないようにします。MetaTrader5に乗り換えたい。そこにあるOrderSendAsyncという機能を使えば、数秒で100~200件の注文を一括で決済するという驚異的なスピードでポジションを決済することができます。
ワシリー、もしここにいたら、私の質問を見てください、ありがとうございます。
こんにちは!チェックしました。残念ながら、これまでこのようなエラーに遭遇したことはありません。例えば、テスターの履歴フォルダを確認することです。必要なシンボルのファイルがない場合は、メインフォルダ y:\MetaTrader 5bases﹑AdmiralMarkets-MT5⁾から手動でデータをコピーして、テスターを再起動してみてください。今のところ他のアイデアはありません。
s.e.不思議ですが。テスターは自動的に履歴をコピーする必要があります。でも、何があるかはわからない。
こんにちは!チェックしました。残念ながら、これまでこのようなエラーに遭遇したことはありません。例えばテスターのhistoryフォルダを確認するとか......。必要なシンボルのファイルがない場合は、メインフォルダ y:\MetaTrader 5bases﹑AdmiralMarkets-MT5⁾から手動でデータをコピーして、テスターを再起動してみてください。今のところ、それ以外のアイデアはありません。
MT5と、特に100~200の注文は関係あるのでしょうか?また、MT5の100~200の注文は何ですか?これがMT5の100~200種類の取引ツールです!結局のところ、私が間違っていなければ、1つのシンボルに対して1つのオーダーしか開くことができません。
そして、28の商品と同時に一部ロットで大量の注文が溜まって いるんですよー。
このテーマで何か提案できることがあれば、ありがたいですし、質問と関係ないアドバイスをするのは無駄で非建設的なことです
もう一度(よく読んでください)。
MetaTrader4では、注文を閉じるために注文を送信し、その実行を待ち、次の注文に移るというように、順次注文を閉じることしかできません。このため、MetaTrader4では、注文の一括決済にかかる時間は相当なものであり、些細なことでは短縮できません。しかし、複数のExpert Advisorを自分のチャートにアップロードして、相互に情報を交換させ、共通のコマンドで注文をクローズさせることができます。各エキスパートは、そのシンボルでのみ注文をクローズします。MetaTrader4では、複数の取引スレッドが存在するため、互いにブロックして注文を送信することはないでしょう。しかし、そのような専門家の集まりの組織は複雑であり、あなたの知識レベルから判断して、そのようなことは勧められないと思います。
それでもまだ書きすぎだと思われる方は、ここで簡単にまとめておきましょう。
1.ご質問の答えは「いいえ」です。Expert Advisorからスクリプトを実行することはできません。
2.MetaTrader4では、複雑な方法を用いなければ、取引注文の執行速度を向上させることはできません。
ご質問の件を正常に解決する唯一の方法は、MetaTrader4には存在しないOrderSendAsync関数を使用することです。