{‘status’: -205, ‘error_message’: ‘Margin amount is insufficient for this order.’, ‘data’: None}
こんなエラー出ました。AWS Cloud9での話です。
ここしばらく順調に稼働してくれていたドテン君ですが、今日のショートのドテンのタイミングで注文が通っていませんでした。
ログを遡って見ると、上のようなエラーが出て注文が通っていませんでした。
どういうことかなと思って調べてみた結果、どうもこのエラーメッセージが出るのはbitFlyerの証拠金不足であるようだということがわかってきました。
でも、証拠金が足らないというわけでもないんですよ。レバレッジも2倍と低めに設定していましたし、LOT数も注文可能な数で設定していました。
なぜだ?
実は、証拠金が足らないから注文が通らないというよりも、証拠金維持率が一定以上でなければ注文が通らない仕様になっているようです。(まだ未検証だけど、200%以上が必要との情報あり)
私の場合は、ある程度安全に運用しようとレバレッジを2倍と低めに設定していたのですが、これが逆効果だったようです。bitFlyerの場合、レバレッジを低めに設定していると証拠金維持率が低く表示されてしまい、逆に注文が通りにくいということがあるようです。
実際に保有している証拠金の額は同じですし、むしろレバレッジを低く設定している方が証拠金に余裕をもって注文しているはずですが、bitFlyerの仕様でこのようになっているのであれば仕方がないですね。(たしかBitMEXの証拠金維持率の計算方法は違ったと思う)
応急対処として、ドテンが発生するごとにポジション量やレバレッジ設定を確認・調整するようにしています。
というか、bitFlyerにこだわる必要もないのでBitMEXで運用すればいいのか。
※関連記事
bitFlyerの場合、注文が集中している時にはサーバーが重たくなって注文が弾かれてしまい、逆にbotの注文が複数回入ってしまう場合があります。
これが怖いのでハイレバレッジをかけて玉数をたくさん持ちたくはないのですが、かといって注文が入らないのも困る。ここは悩みどころですね。
プログラマーであればロジック部分で対応もできそうですが、今の自分では難しそう。
ということで、レバレッジ設定やロット数の最適なバランスをもう少し詰めていきたいと思います。
以上、AWS Cloud9で
{‘status’: -205, ‘error_message’: ‘Margin amount is insufficient for this order.’, ‘data’: None}
こんなエラーメッセージが出た時の考え方でした。
※こちらの記事も読まれています