ライブラリ: MT4Orders - ページ 22 1...151617181920212223242526272829...95 新しいコメント Andrey Khatimlianskii 2018.04.16 12:30 #211 fxsaber:リアルタイムには影響しないはずだ。残念ながら、私には影響する。 取引履歴を 表示・非表示するボタンがある。もちろん、すべてを表示しても意味がないのだが、数千の中から記号やマジック、コメントなどで「自分だけのもの」を数十個選ぶ必要があることが多い。そこでブレーキがかかる。そこで、"自分のもの "のリストをキャッシュしておき、過去の新しい案件のときだけ更新するようにするのだ。 また、不具合のあるブローカーが成行注文を再ジャックするのを見たことがあるが、稼働中のExpert Advisorは1時間で10万件の再ジャック注文を履歴に生成できた。そして、端末自体がハングアップしていた......。 Andrey Khatimlianskii 2018.04.16 12:32 #212 fxsaber:取引履歴(価格履歴ではない)がバックテスト時間に大きく影響するTSの例が必要です。ファンタジーとして:過去の取引でバランス曲線を構築し、曲線の傾きに応じて新しい取引のロットを計算する。 キャッシュを残しておかなければ、各取引の前に履歴を完全に調べなければならない。しかし、ここではもちろん、バランス値を配列に集める方が簡単で、すべての取引を保存する必要はない。 fxsaber 2018.04.16 16:50 #213 Andrey Khatimlianskii:残念ながら、私はその影響を受けている。取引履歴を 表示/非表示するボタンがある。もちろん、すべてを表示しても意味がないのだが、記号やマジック、コメントなどで「自分だけのもの」を数千件の中から数十件選ぶ必要があることが多い。そこでブレーキがかかる。そこで、"自分たちのもの "のリストをキャッシュしておき、新しい歴史的な案件のときだけ更新するというアイデアがある。 私はこの問題を理解している。そう、聖書のシステムに組み込まれた本格的なキャッシュは、もう期限切れなのだ。どのように実装するか考えなければならないだろう。 私も不具合のあるブローカーが成行注文をリジャックしているのを見たことがありますが、動いているExpert Advisorは1時間で10万件の履歴のリジャック注文を生成していました。その時は端末自体がハングアップしていた...。このような素晴らしいブローカーを見てみたい。 fxsaber 2018.04.16 16:52 #214 Andrey Khatimlianskii:ファンタジーとして:過去の取引によってバランスカーブを構築し、カーブの傾きに応じて新規取引のロットを計算する。自分のキャッシュを保持していない場合、各取引の前に履歴を完全に調べなければならない。しかし、ここではもちろん、残高の値を配列に集める方が簡単で、すべての取引を保存する必要はない。そんなことも考えたが、そこは即座にバランスVRを提案する。逆説的だが、取引履歴のキャッシュが 必要なのは戦闘用だけらしい(テスター用には必要ない)。 Andrey Khatimlianskii 2018.04.16 18:05 #215 fxsaber:問題は理解している。そうですね、ビブラに組み込まれた本格的なキャッシュはやはり必要です。どのように実装するか考えなければなりません。理想的には、GetPositionDealIn(とその中のHistorySelectByPosition)が99%実行されるので、各取引のDEAL_ENTRY_IN チケットを保存するだけで十分でしょう。 fxsaber: この素晴らしいブローカーにぜひ会いたい。 PrimeXM-LiveUK. これはサクソバンクへの松葉杖橋です。 fxsaber 2018.04.17 15:01 #216 Andrey Khatimlianskii:理想的には、各取引ごとにDEAL_ENTRY_IN チケットを保存しておけば十分です。取引履歴とのハッシュ比較はかなり前に行われています。したがって、Generic 側を掘り下げるのが最適であろう。 この方法を学ぶ動機付けとしては、これで十分だ!夏のある日、静かな環境で......。 Библиотека Generic классов - ошибки, описание, вопросы, особенности использования и предложения 2017.12.08www.mql5.com С 6 декабря 2017 года в стандартную поставку MetaTrader 5 стали входить так называемые Generic-классы, реализующие эффективные алгоритмы для хранен... Andrey Khatimlianskii 2018.06.06 01:53 #217 fxsaberからのアップデート: // 30.05.2018 // 追加:取引履歴を使った作業を加速させ、パフォーマンスと実現性の黄金平均を選択した。 // メモリ消費 - VPSでは重要。標準的なGenericライブラリを使用。 // もしジェネリック・ライブラリーを使いたくないのであれば、ヒストリーを扱う古いモードが利用できる。 // これを行うには、MT4Orders-libraryの前に以下の行を記述する必要があります。 // // #define MT4ORDERS_FASTHISTORY_OFF // 高速取引履歴の実装をオフにする - Genericライブラリを使用しない。 ロングヒストリーを使用した場合、ただ飛ぶだけになってしまいました! モデレータの皆さん、機会があれば、コードをデータベースにアップロードしてください。 ファイル: MT4orders.mqh 77 kb Rashid Umarov 2018.06.06 09:49 #218 Andrey Khatimlianskii:fxsaberからのアップデート:長いヒストリーを使った作業がとても楽になりました!モデレーターの皆さん、もし可能なら、コードをデータベースにアップロードしてください。ありがとうございます。 Sergey Likho 2018.06.08 22:08 #219 私はこのライブラリをMT4のExpert Advisorで使用しています。 私は奇妙な瞬間を見つけました: Metaquotesサーバー(デモ)でテストすると、ライブラリは正常に動作します。(例えば、注文を開くとき) ブローカーfhtmデモでテストした場合、OrderSend関数は取引を開始しますが、エラーを返します。 int ticket=OrderSend(_Symbol,type,lot,price,0,0,0,comment_,magic,0,clrDarkSlateBlue); デバッグ後 ticket = -1; ログのテキストは以下のとおりです: 同時に、ログにはすべてが正常であるというメッセージも表示されます。 なぜこのような問題が発生するのでしょうか? 2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::AccountInfoString(ACCOUNT_SERVER) = ForexTimeFXTM-Demo012018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_CONNECTED) = true2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_PING_LAST) = 553352018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoDouble(TERMINAL_RETRANSMISSION) = 0.88757396449704142018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_BUILD) = 18352018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_X64) = true2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Res = false2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS::OrderSendBug = true2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.action =TRADE_ACTION_DEAL(1)2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.magic = 02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.order = 02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.symbol = EURUSD2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.volume = 0.012018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.price = 1.176812018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.stoplimit = 0.02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.sl = 0.02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.tp = 0.02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.deviation = 02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type = ORDER_TYPE_BUY (0)2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_filling = ORDER_FILLING_FOK (0)2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_time = ORDER_TIME_GTC (0)2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.expiration = 1970.01.01 00:00:002018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.comment =2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position = 22108216202018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position_by = 02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode = 100092018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.deal = 02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.order = 22108217752018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.volume = 0.012018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.price = 0.02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.bid = 0.02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.ask = 0.02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.comment = Request executed 190.826 + 1000.396 ms2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.request_id = 1542018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode_external = 02018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS: not Sync with History! ログをfxsaberに送信してください!2018.06.08 22:55:47.197 EA MT5 (EURUSD,M1) OrderSend with error 4754 エラー、バグ、質問 Errors, bugs, questions MetaEditor build 1490 削除済み 2018.06.09 00:20 #220 Rashid Umarov:ありがとう。fxsaberも戻ってきて くれると嬉しい。 1...151617181920212223242526272829...95 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
リアルタイムには影響しないはずだ。
残念ながら、私には影響する。
取引履歴を 表示・非表示するボタンがある。もちろん、すべてを表示しても意味がないのだが、数千の中から記号やマジック、コメントなどで「自分だけのもの」を数十個選ぶ必要があることが多い。そこでブレーキがかかる。そこで、"自分のもの "のリストをキャッシュしておき、過去の新しい案件のときだけ更新するようにするのだ。
また、不具合のあるブローカーが成行注文を再ジャックするのを見たことがあるが、稼働中のExpert Advisorは1時間で10万件の再ジャック注文を履歴に生成できた。そして、端末自体がハングアップしていた......。
取引履歴(価格履歴ではない)がバックテスト時間に大きく影響するTSの例が必要です。
ファンタジーとして:過去の取引でバランス曲線を構築し、曲線の傾きに応じて新しい取引のロットを計算する。
キャッシュを残しておかなければ、各取引の前に履歴を完全に調べなければならない。しかし、ここではもちろん、バランス値を配列に集める方が簡単で、すべての取引を保存する必要はない。
残念ながら、私はその影響を受けている。
取引履歴を 表示/非表示するボタンがある。もちろん、すべてを表示しても意味がないのだが、記号やマジック、コメントなどで「自分だけのもの」を数千件の中から数十件選ぶ必要があることが多い。そこでブレーキがかかる。そこで、"自分たちのもの "のリストをキャッシュしておき、新しい歴史的な案件のときだけ更新するというアイデアがある。
私はこの問題を理解している。そう、聖書のシステムに組み込まれた本格的なキャッシュは、もう期限切れなのだ。どのように実装するか考えなければならないだろう。
私も不具合のあるブローカーが成行注文をリジャックしているのを見たことがありますが、動いているExpert Advisorは1時間で10万件の履歴のリジャック注文を生成していました。その時は端末自体がハングアップしていた...。
このような素晴らしいブローカーを見てみたい。
ファンタジーとして:過去の取引によってバランスカーブを構築し、カーブの傾きに応じて新規取引のロットを計算する。
自分のキャッシュを保持していない場合、各取引の前に履歴を完全に調べなければならない。しかし、ここではもちろん、残高の値を配列に集める方が簡単で、すべての取引を保存する必要はない。
そんなことも考えたが、そこは即座にバランスVRを提案する。逆説的だが、取引履歴のキャッシュが 必要なのは戦闘用だけらしい(テスター用には必要ない)。
問題は理解している。そうですね、ビブラに組み込まれた本格的なキャッシュはやはり必要です。どのように実装するか考えなければなりません。
理想的には、GetPositionDealIn(とその中のHistorySelectByPosition)が99%実行されるので、各取引のDEAL_ENTRY_IN チケットを保存するだけで十分でしょう。
この素晴らしいブローカーにぜひ会いたい。
PrimeXM-LiveUK.
これはサクソバンクへの松葉杖橋です。
理想的には、各取引ごとにDEAL_ENTRY_IN チケットを保存しておけば十分です。
取引履歴とのハッシュ比較はかなり前に行われています。したがって、Generic 側を掘り下げるのが最適であろう。
この方法を学ぶ動機付けとしては、これで十分だ!夏のある日、静かな環境で......。
fxsaberからのアップデート:
ロングヒストリーを使用した場合、ただ飛ぶだけになってしまいました!
モデレータの皆さん、機会があれば、コードをデータベースにアップロードしてください。
fxsaberからのアップデート:
長いヒストリーを使った作業がとても楽になりました!
モデレーターの皆さん、もし可能なら、コードをデータベースにアップロードしてください。
ありがとうございます。
私はこのライブラリをMT4のExpert Advisorで使用しています。
私は奇妙な瞬間を見つけました:
Metaquotesサーバー(デモ)でテストすると、ライブラリは正常に動作します。(例えば、注文を開くとき)
ブローカーfhtmデモでテストした場合、OrderSend関数は取引を開始しますが、エラーを返します。
デバッグ後 ticket = -1;
ログのテキストは以下のとおりです:
同時に、ログにはすべてが正常であるというメッセージも表示されます。
なぜこのような問題が発生するのでしょうか?
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::AccountInfoString(ACCOUNT_SERVER) = ForexTimeFXTM-Demo01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_CONNECTED) = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_PING_LAST) = 55335
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoDouble(TERMINAL_RETRANSMISSION) = 0.8875739644970414
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) ::TerminalInfoInteger(TERMINAL_BUILD) = 1835
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) (bool)::TerminalInfoInteger(TERMINAL_X64) = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Res = false
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS::OrderSendBug = true
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.action =TRADE_ACTION_DEAL(1)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.magic = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.order = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.symbol = EURUSD
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.volume = 0.01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.price = 1.17681
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.stoplimit = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.sl = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.tp = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.deviation = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type = ORDER_TYPE_BUY (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_filling = ORDER_FILLING_FOK (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.type_time = ORDER_TIME_GTC (0)
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.expiration = 1970.01.01 00:00:00
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.comment =
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position = 2210821620
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Request.position_by = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode = 10009
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.deal = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.order = 2210821775
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.volume = 0.01
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.price = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.bid = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.ask = 0.0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.comment = Request executed 190.826 + 1000.396 ms
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.request_id = 154
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) Result.retcode_external = 0
2018.06.08 22:58:47.197 EA MT5 (EURUSD,M1) MT4ORDERS: not Sync with History! ログをfxsaberに送信してください!
2018.06.08 22:55:47.197 EA MT5 (EURUSD,M1) OrderSend with error 4754
ありがとう。
fxsaberも戻ってきて くれると嬉しい。