証券会社によって設定されているストップレベル。
理想の損切や利確ができなくてお困りではありませんか。
この記事ではシステムの力を使ってサクッと解決する方法をお伝えします。
狭小スキャルピングからトレイリングストップまで、この記事で解決です。
Contents
1. ストップレベル
ストップレベルというものが各証券会社、各通貨によって決められているのを知っていますか?
損切り幅を自由に決められないことによってトレード画面に張り付かなくならなかったり、理想的なトレードに対してのハードルになってしまいます。
1-1. ストップレベルとは
1-2. スキャルピング勢の苦しみ
1-3. OrderSend Error 130
1-1. ストップレベルとは
ストップレベルとは証券会社によって設定された指値、逆指値の設定可能な幅で、通貨によっても異なります。
自分の取引している通貨が現在値からどれだけ離れないと指値できないかご存知ですか?MT4から簡単に調べる方法があるのでご紹介します。
まず、気配値からストップレベルを知りたい通貨ペアを選び、右クリックでメニューを出します。
その中から「仕様」をクリックしてください。今回はXMのデモ口座でGBPUSDの仕様を確認してみます。
仕様をクリックすると取引条件のウインドウが開きます。
色々と取引に関する情報が書いてありますが、ストップレベルを確認してください。
52というのはpoint表記なのでpipsで考えたい方は10で割ります。
つまり、GBPUSDのストップレベルは5.2 pipsになり、現在値から5.2 pips以上離れた位置でしか指値することができません。
1-2. OrderSend Error 130
システムをお作りの方で、OrderSend Error 130というエラーがでて発注できなくなった人はたくさんいると思います。
これは、ストップレベルに引っかかっていることによって発注が通らない時に起こるエラーです。
システム作製時にストップまでの値が大きければ、発注時に固定幅で決済値をいれることは決済のコードを自分で書く必要がないため、簡単なのですが、値幅を狭くしてシステムを作ってしまうと発注すらできなくなります。
また、トレイリングストップの注文にもこの問題が生じます。
トレイリングストップを指値をしていく形でセットするようなシステムは現在値よりも離れた場所にストップを置く必要が生じてしまいます。
そこで決済のロジックを書くことで、指値せずに普通の発注として決済注文を出せばストップレベルに引っかからず狭い値幅で決済することが可能になります。
1-3. 半裁量取引にも
裁量スキャルピングをしている人は、ロスカットの巧みさが勝敗を分けると聞きます。
ロスカット幅を先に決めてから注文している人も多いのではないでしょうか。
しかし、ストップレベルによって幅を狭くできず、相場に張り付かざるをえなかったり、逆に一瞬気を抜いてしまったがために目標の損切り幅を見逃し、損失を大きく広げてしまう人もいるかもしれません。
MT4のEAは、発注のみや決済のみでも使用することができます。
私はバックテストできることから、すべてロジックに任せるシステムトレードをおすすめしていますが、エントリーだけはどうしても自分でしたいというこだわり派の人もいるかもしれないので、決済部分だけで使用できるプログラムをご紹介します。
2. システムについて
EAを使って決済を管理すれば、ストップレベルにかかることなく簡単に決済できます。半裁量スキャルを行いたい方たちも利用できるように決済のみ行ってくれる簡単なコードを記載します。システムトレードを行いたい方は、プログラムをご自身の決済部分に組み込んでみてください。
2-1. どのような動きをするか
2-2. デモ口座で検証
2-1. どのような動きをするか
本当に簡単なシステムなのですが、この決済用EAを「ストップレベルクラッシャー」と名付けます!!!
このEAだけでストップレベルを気にせず自動でロスカットを行うことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//ロスカット幅を決める input double lc = 40; void OnTick() { if(0 != OrdersTotal()) { //ポジション指定 OrderSelect(0,SELECT_BY_POS); //買いポジション決済 if (OrderType() == OP_BUY && Bid <= OrderOpenPrice() - lc*Point) { OrderClose(OrderTicket(), OrderLots(), Bid, 10); } //売りポジション決済 else if (OrderType() == OP_SELL && Ask >= OrderOpenPrice() + lc*Point) { OrderClose(OrderTicket(), OrderLots(), Ask, 10); } } return(0); } |
ここに書いてあるlcの値に自分がロスカットしたい数をいれてください。
MQL4ではpointでの表記なのでpipsから変換する時は10倍する必要があります。
例えば4pipsで決済したい場合は40を指定する必要があります。
このコードをコピペしてコンパイルしたら完成です。
本当にシンプルなシステムなので、1ポジションしか管理できないようになっています。
ですから、複数ポジションをもったり、他のEAと同時に使用しないでください。
ポジションが決済されなかったり、他のEAが持ったポジションを決済してしまう可能性があります。
もし、複数ポジションを持てるシステムがほしいと思ったあなたは、勉強のチャンスです!このシステムにどんどん手を加えて自分だけの決済システムを作りましょう。
裁量→半裁量(決済のみ自動)→システムトレーダー になるのは間近じゃないでしょうか!
システムトレーダーが増えることを願っています。
2-3. デモ口座で検証
実際にこのシステムが稼働するかXMのデモ口座で確かめました。
XMではGBPUSDのストップレベルは5.2 pipsに設定されています。
そこで、今回は-4 pipsで自動で損切れるか検証しました。
売りでも買いでもご覧のように4pipsで決済できていることが確認できます。
0.1 pipsほど滑っていますが、スリッページは指値でもおこることなので、許容範囲ではないでしょうか。