bitFlyer(ビットフライヤー)で、寝ロングしましたが、さすがに行ってけ相場ではないので、OCO注文を使って損切りと利確を設定して寝ました。
しかし、朝起きたら、おはぎゃああああああああああ・・・
OCO注文自体は実行されていましたが、設定した決済内容が実行されていませんでした。お問い合わせすると、証拠金不足と言われました。
OCOとは
まず、OCOという注文について。
bitFlyerには、IFD、OCO、IFDOCOといった特殊な注文方法があります。
OCOは、トリガー(STOP-LIMITなど)で注文が板にのると証拠金が必要となり、注文1と2の2つの証拠金が必要になります。
OCOは、どちらかのみの注文が実行されるのですが、トリガー発動すると両方の証拠金が必要になるようです。
※IFDは、注文1を実行完了したら、注文2を実行
※IFDOCOは、IFDとOCOの合わせで、注文1が実行完了したら、注文2か注文3を実行して、使わなかった注文を破棄
ポジションを持った時の反対売買に注意
今回の失敗したポイントとしては、まず、すでにポジションをもっていたのに、そこにさらにOCO注文したことで3つの状態に対して証拠金が必要となってしまったこと。
・既にポジションをもっているのに必要な証拠金/建玉証拠金x1
・OCO注文で必要な証拠金/注文証拠金x2
ちなみに、どんなオーダー(指値、成行、STOP、STOP-LIMIT、トレール)でも、注文時に証拠金(注文証拠金)が必要になります(とお問い合わせで言われた)。
・・・と説明だけではよくわからないので、たとえで説明すると下記のようになります。
証拠金=注文価格 × 注文数量 × 証拠金率
※証拠金率=1 ÷ レバレッジ(4倍なら証拠金率0.25)
【例】
・BTCが1110000で1BTCもっている場合の建玉証拠金は・・・
1110000x1x0.25=277500
・OCOで1120000で利確注文、1100000で損切する場合の注文証拠金は・・・
1120000x1x0.25=280000
1100000x1x0.25=275000
合計で、832,500円の証拠金があれば失敗しない。
対策
注文が失敗しないようにする対策としては、証拠金を増やすか、証拠金内に収まるようにポジション量を減らすしかないと思っています。
すでに建玉をもっていて、新たに特殊注文などを入れる場合(特に証拠金が倍必要になるOCO、IFDOCO)、の場合は、建玉証拠金と注文証拠金の合計の証拠金が足りているかを確認しないと、思い通りの処理(損切り)ができない可能性があります。APIを使っている場合も注意が必要です。