全決済「OrderClose」error 129

「全決済」実行で、OrderClose error 129 が発生。
デモ環境では発生しなかったが、リアル口座で発生・発覚しました。
備忘録として記録。



これは、クローズするオーダに指定するレート(成行き)が、現在レートと乖離している場合に発生します。

AskやBidは、OnTick()開始時の値と思われるので、処理に時間がかかる場合、乖離することが十分に考えられます。(OnChartEvent()の時はどうなのか?)

→「全決済」では、多くのオーダをクローズする必要があり処理時間がかかる。


AskやBidのリファレンスには、
RefreshRates()関数を使用して更新する必要があります。

とあるので、

RefreshRatesをOrderClose前に実行する様に修正する。

EA差し替え後、10/24に全決済したときには、エラーが発生しなかったので多分OK。


0 件のコメント :

コメントを投稿