unageanu / jiji2

Forex algorithmic trading framework using OANDA REST API.
http://jiji2.unageanu.net/
238 stars 54 forks source link

ロスカット価格がオーダーに反映されない。 #57

Open baseballyama opened 8 years ago

baseballyama commented 8 years ago

表題につきまして、自力で解決できませんでしたので、こちらに記載させていただきます。

現在、オーダー発行について、

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下"などと指定する方法はあるのでしょうか? 合わせてご教示頂けたら幸いです。

よろしくお願い致します。

unageanu commented 8 years ago

「stop_loss」だけオーダーに反映されません。

サンプルコードをざっと見た限りでは特に問題はなさそうです。まずは、以下を確認いただけますでしょうか?

"注文価格の50pips下"

Pair#pip で1pipsあたりの値幅を取得できるので、これを利用して計算してください。

pair = broker.pairs.find { |p| p.name == :USDJPY }
@price - (50 * pair.pip) 
KeitaSugiyama commented 7 years ago

私も同じような問題にぶつかりました.

バックテストにてtake_profitとtrailing_stopは反映されるのですが, stop_lossだけ以下のように数値を直接入力しても反映されません.

broker.buy(:USDJPY, 10000, :market,{take_profit:b,trailing_stop: loss_bid,stop_loss: 100})

この点について解決策をご教示いただければと思います.

unageanu commented 7 years ago

こちら、詳細をお教えいただけますでしょうか?

KeitaSugiyama commented 7 years ago

確認に時間がかかってしまい申し訳ありません. UIでは未だに表示がでないのですが, ログをみたところ,ロスカットは適用されているようでした! お騒がせしました.ありがとうございます!

unageanu commented 7 years ago

追加情報、ありがとうございます。 となると、UI表示のところで何か不具合があるのかもしれませんね。 時間があるときにこちらでも確認してみます。

unageanu commented 7 years ago

こちらやはり UI 表示部分の不具合でした。 修正したバージョン Jiji v1.1.2 をリリースしましたので、アップデートしてご利用ください。 アップデートの手順は こちら を参照ください。

情報ありがとうございました。