リミット(Trailing Stop Limit)注文
注意事項:
このページにあるサンプルソースは、実際に売買を行う処理が含まれているので、絶対にライブ口座では実行しないで下さい。 念の為、デモ口座でしか処理しない対策処理を施しています。
これはあくまで勉強用のソースコードです。
懸案 | 仕様 |
エントリー基準 | ●短期単純移動平均と長期単純移動平均がクロスした時にエントリーする ●逆にクロスしたらクローズする。 ●短期SMA期間は5日、長期SMAは25日で固定 |
トレードスタイル | ●順張りのみ |
リミット・ストップ | ○リミットは20%に設定 ○ストップは10%に設定 ○エントリー直後に入れる必要は無い ○トレーリングストップはしない |
判定タイミング | ●エントリー判定はローソク足確定時に行う ●クローズ判定はローソク足確定時に行う ○リミット・ストップは指定時間経過毎に行う(30分毎) |
建玉と増玉 | ●増玉はしない ●ロットは最小ロット固定 |
部分実装した箇所は◎、実装済み箇所は●です。
変更箇所は、関数名をModify_OrderからEA_Modify_Orderに変更したのと、 リミット(Trailing Stop Limit)注文
オフセットをリミット用オフセットとストップ用オフセットに分けて、それぞれのオフセットを算出するようにしただけです。
今回作成するEAの仕様ではリミットは20%、ストップは10%の固定なので、エントリー価格からのオフセットをそれぞれ算出します。
リミット・ストップの注文を出して良いかの判定処理を作成します。
今回作成するEAの仕様ではトレーリングストップは行わない事と、リミットは20%、ストップは10%の固定なので、
一度設定すればもう再度設定する必要はありません。
という事は単純に、
・リミット・ストップの両方が設定済みの場合は設定しない
・いずれかが未設定の場合は設定する
左上のデバッグ情報でリミット・ストップが設定された事が確認できました。
実は未だ完成ではありません。
ちょっと予想外の事が起きてしまいました。
本来ならリミット・ストップが設定されずにエラーになる筈だったのですが、エラーになりませんでした。
昔はエラーになった筈ですが、仕様変更になってMT4が自動調整してくれるようになったのか分かりませんが、一応エラーになる筈だった内容を紹介します。
リミット(Trailing Stop Limit)注文
為替をやっていたら、耳慣れた言葉なのかもしれませんね。
(多分、欧米では商品取引や株式取引でもこの"stop order","limit order"と
いう言葉を使うと思います)
逆指値・・通常指値とは、いくら以下になったら買う、いくら以上になったら売る、
という指定のしかただが、逆指値の場合は逆になる。すなわち、
いくら以下になったら売る、いくら以上になったら買う
という注文形態。
moneytree7は為替始めた初期、恐いのでポジションを持ち、買値より上がると
ストップ(逆指値)売り注文を入れて利益を守る、ということをしていましたが、
それだと逆指値売りのところまで下げてきて、決済注文がとおったあと、
反転してあがっていく、つまり振り落とされることが多かったために、
急落に備えてこの注文を入れていれば、よしんば急落が来ても、注文入れてる値段では
約定するわけ(値が飛ぶとそれ以下で約定することもあるが、通常)ですから
安心です。
したがって、途中で利益を限定してしまうリミット注文は、非常に不利な取引ですね。
(上ヒゲつけた天井で売ろうとすると、指値でないと売れないわけですが、そんな天井
だれにも読めないですね(^^;)
(本当なら、指値は入れないで上がるに任せておき、17円超えて17.15くらいになったとき
やおら17.0の逆指値売り注文(ストップ)を入れておけばよかったのです。
こうすれば17円以上での利益確定は確保しつつ、それ以上の上げにも付いていけます)
買ったポジションが利益が積み上がってくると、その利益がなくならないかと心配で、
指値・成り行きでポジション手仕舞いしてしまいがちですが、ストップ注文を
入れることによって、天井売りはできないものの、利益を確保しながら前へ進んでいけます。
(上がったら、ストップ注文のレベルを上げていく。こういうのをトレーリングストップと
いうようです)
最近は、為替はかならずこういう取引方法(指値(リミット)を使わず逆指値(ストップ)使う)に
切り替えてきています。
これはとても有効な方法ですね。
中国株も、逆指値ができるといいのですが・・。
どこかの証券会社で、そういうの開発してくれないかな・・
(でも中国株の場合は、BidとOfferの間がとても広いときがあるから、
難しいかもしれませんね・・下げ始めてから成り売り注文出されても、
注文出した値段よりかなり下でないと約定しないかも。(^^;)
コメント