処理中のレート変動に注意

「買い注文の場合、指値注文は現在レートより下がったときの価格を指定しないと発注できない」
よく考えてみたら当たり前の事実ですが、自動売買プログラムの実装にとって重要なことです。人間が現在レートを見て同じ価格で発注処理する場合、ボタンを押す作業をしている間にレートは変動してしまいます。レートが読み取り時より上がっていれば、注文成立するが、レートが下がれば注文不可のエラーとなります。約定を優先させるなら、成行注文が必要です。人間の動きを模擬している自動売買プログラムであっても同じことが言えます。
では成行で注文すれば良いかというとそうもできない事情があります。現在は、建玉選択機能が実装されておらず、決済は新規注文時に指定、つまりイフダン注文にする必要があるからです。
対策は①現在レートの読み取るタイミングと注文のタイミングを出来るだけ短くする。②新規注文のレートは読み取る値よりも少しだけ下げる。③成行注文して、後から建玉指定して決済注文をする。
③の実装は今の実力では困難であるため、今回は①②で対応します。
「現在レートを見て計算して条件満たしているか判断してから、注文直前でもう一度現在レートを読み取り5pips下げた価格で確定ボタンを押す。」これでも急激な変動にはついていけずにエラーになる場合があるが、エラー処理を今後考えていく。
これでうまくいきますように!