Swallowのポジション保有時間に関するコード修正
Swallowのコード修正に関するご連絡。
fx-onのコミュニティで指摘がございました通り、Swallowの前バージョンではポジション保有中にMT4を再起動したり、パラメーターを変更してEAを再読み込みしたりすると、ポジション保有時間の計算がリセットされ、次の1時間足確定でポジションが強制決済されてしまうという問題がありました。
これは、EA内部でポジションのオープン時間を変数に記憶させていたのですが、EAが再読み込みされるとそれが初期値の0にリセットされてしまうためでした。
したがって、これへの対処として1時間足の更新時にポジションのオープン時間をOrderOpenTime関数で毎回読み込むこととし、上記の問題を解決しました。
fx-onの製品版の方は先にバージョンアップしていましたが、こちらのサイトで公開している試用版も先程バージョンアップしましたので、必要な方は再ダウンロードをお願いいたします。
ちなみに、最新版でのポジション保有時間に関する挙動について説明しておくと以下の通りです。
なお、36時間という数字はデフォルトの場合です。
①片建てのまま36時間経過した場合
エントリーから36時間で決済されます。
②2つ目のポジションを保有(両建て状態)した後、36時間経過した場合
2つ目のポジションのエントリーから36時間で2つとも決済されます。
③2つ目のポジションを保有(両建て状態)した後、1つ目のポジションが内部ロジックで決済された場合
2つ目のポジションは、2つ目のポジションがエントリーした時間から36時間で決済されます。
④2つ目のポジションを保有(両建て状態)した後、2つ目のポジションが内部ロジックで決済された場合
1つ目のポジションは、1つ目のポジションのエントリー時間から36時間経過していればその時点で決済されます。
まあ④についてはめったに起こらないはずですが、一応、そういう仕様になっているということでご理解ください。
それでは。
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。