ライブラリ: MT4Orders - ページ 49

 

このライブラリを使用して作成した MT4 Expert Advisor で、次のような現象が見られます。

テスターでは注文は正常にオープン、クローズされています。

ログには数百行のグループで以下のものだけが記録されています。

  • 2020.04.21 00:52:00 注文の割り当てに失敗しました!エラー番号: 4754 - 存在しないエラー番号

平均すると、10件ごとに発生している。同時に、ログによると、110番目の注文は正常にオープンされますが、108の場合は110番目以降に問題が発生します。

どなたか、このライブラリや特定のMQL4 Expert Advisorでこのような問題を経験された方はいらっしゃいますか?


 
vrubzov1957:

本ライブラリを利用して構築したMT4 EAでは、以下の点を確認しています。

テスターでは注文は正常にオープン、クローズされている。

ログでは、数百行のグループで似たようなものしかありません。

  • 2020.04.21 00:52:00 注文の割り当てに失敗しました!エラー番号: 4754 - 存在しないエラー番号です。

平均すると、10件ごとに発生している。同時に、ログによると、110番目の注文は正常にオープンされているが、110番目の注文の後の108の問題。

どなたかこのような問題をこのライブラリ、または特定のMQL4 Expert Advisorで観測された方はいらっしゃいますか?

おそらく、取引注文の 価格が正しくないのでしょう。

 

static bool MT4OrderSelect( const long &Index, const int &Select, const int &Pool )

参照渡しのポイントは何でしょうか?MT4ORDERS::MT4OrderSelect(Orders[i],SELECT_BY_TICKET,MODE_TRADES)のようなコンストラクションを呼び出すことを防ぎます。

 
traveller00:

static bool MT4OrderSelect( const long &Index, const int &Select, const int &Pool )

参照渡しのポイントは何でしょうか?MT4ORDERS::MT4OrderSelect(Orders[i],SELECT_BY_TICKET,MODE_TRADES)のようなコンストラクションを呼び出すことを防ぎます。

bool OrderSelect( const long Index, const int Select, const int Pool = MODE_TRADES )
{
  return(MT4ORDERS::MT4OrderSelect(Index, Select, Pool));
}
 
はい、私自身の疑問はすでに解決しました。たぶん古いコードの名残で、もう必要ないのだと思います。
 
traveller00:
はい、私自身の疑問はすでに解決しました。私は、それが古いコードの名残であり、もはや必要ないものなのかどうかをはっきりさせたかったのだ。

これらは、スピードに対する理論的な闘争の結果である。

 
fxsaber:

これらは、スピードに対する理論的闘争の結果である。

理にかなっているのだろうか?32ビット・アーキテクチャの場合、intは値で渡す方が速く、定数であればメモリ・アクセスが少なく、最適化も可能である。この問題は、longでは議論の余地がある。しかし、現在MT5は64ビットに切り替わっています。そして、これらのパラメータはすべて、値で渡した方が速くなります。それとも、私は何かを見逃しているのでしょうか?

 
traveller00:

意味があるのだろうか?32ビット・アーキテクチャでは、intは値で渡す方が速く、定数であればメモリ・アクセスの回数が減り、最適化も可能である。longの場合は議論の余地がある。しかし、現在MT5は64ビットに切り替わっています。そして、これらのパラメータはすべて、値で渡した方が速くなります。それとも、私は何かを見逃しているのでしょうか?

私はこれについて何も知らない。そのため、自分なりに、おそらくは間違っているであろう仮定をしたのです。私は異なるバリアントを使ったパフォーマンス測定の実験はしていません。

もしやることになったら、結果を教えてください。

 

個々のモジュールのパフォーマンスを測定できるライブラリの未公開バージョン。HFTやLFIに近づきたい人には便利かもしれないが......。

しかし、実際に使用した結果もある。

MT5側の 速度低下しかない。バイブルの実装自体にボトルネックはないようだ。

MT5の遅れはほぼ全てOrderSelectに現れている。OrdersTotalは大きなラグで2位。


ZЫ ライブラリ内にHistorySelect-functionの動作ログがないので、積極的に取引履歴を操作しているようには見えない。

MT5 и скорость в боевом исполнении
MT5 и скорость в боевом исполнении
  • 2020.06.12
  • www.mql5.com
MT5 - шустрая платформа. Но есть узкие горлышки, которые сводят на нет все старания быстрой торговли...
 
素晴らしいニュースだ!