Open baseballyama opened 8 years ago
「stop_loss」だけオーダーに反映されません。
サンプルコードをざっと見た限りでは特に問題はなさそうです。まずは、以下を確認いただけますでしょうか?
stop_loss
やtake_profit
の値が期待通り設定されているかどうか。trailing_stop: 10
なので、こちらの条件に該当してしまい、早期にロスカットされている可能性も考えられます。trailing_stop
の条件を外した場合、どのような動作になりますでしょうか?"注文価格の50pips下"
Pair#pip
で1pipsあたりの値幅を取得できるので、これを利用して計算してください。
pair = broker.pairs.find { |p| p.name == :USDJPY }
@price - (50 * pair.pip)
私も同じような問題にぶつかりました.
バックテストにてtake_profitとtrailing_stopは反映されるのですが, stop_lossだけ以下のように数値を直接入力しても反映されません.
broker.buy(:USDJPY, 10000, :market,{take_profit:b,trailing_stop: loss_bid,stop_loss: 100})
この点について解決策をご教示いただければと思います.
こちら、詳細をお教えいただけますでしょうか?
確認に時間がかかってしまい申し訳ありません. UIでは未だに表示がでないのですが, ログをみたところ,ロスカットは適用されているようでした! お騒がせしました.ありがとうございます!
追加情報、ありがとうございます。 となると、UI表示のところで何か不具合があるのかもしれませんね。 時間があるときにこちらでも確認してみます。
表題につきまして、自力で解決できませんでしたので、こちらに記載させていただきます。
現在、オーダー発行について、
broker.buy(:USDJPY, 10000, :market, { stop_loss: @price.to_f - 0.5, take_profit: @price.to_f + 0.5, trailing_stop: 10 }) *「@price」は現在価格
と実装し、テストを行っているのですが、「stop_loss」だけオーダーに反映されません。 そして、なぜか15pips下がったところでロスカットされています。 なぜ「stop_loss」がオーダーに反映されないのかご教示頂けませんでしょうか。
また、「stop_loss」と「take_profit」 について、"注文価格の50pips下"などと指定する方法はあるのでしょうか? 合わせてご教示頂けたら幸いです。
よろしくお願い致します。