2024年3月14日木曜日

トレーリングストップを自動でできるようにしたい

今回の主題はこれです。

エントリーの問題が解決しそうな気配がしてきたので、次は決済をなんとかしたいと考えています。

決済タイミングとしてはいくつかありますが、基本的にはこれも「ルール通りに行う」ことによって成績が安定するはずです。

なので「厳密に」ルール通りに実行するためには、やっぱりこれもある程度自動化してしまうのがいいのではないかと考えました。


そこで必要だと思ったのが、「トレーリングストップ」です。

損切りラインを常にエントリーラインの下に置いていたのでは、急激な相場変動に対応できずに「なんか利益出てたのに損切り食らったんだけど」という事態を避けられません。

そのため、利益がある程度出るたびに損切りラインを順次引き上げていくようななんかそういう機能を持ったアレがほしい。(語彙)


ということでそういうシンプルな決済用のEAがないかと思ってちょっと探してみたんですが、微妙に機能が高度なものが多く、あるにはあるものの、(例えばこういうやつ)どうにもエントリー機能が余計です。


エントリーは僕はそれはそれですでに専用のEA(easyorderってやつです)を用意しているため、エントリー後に決済するだけの機能を持ったEAがほしい。

機能的にはzigzagの山と谷に沿って、新しく山と谷が確定したタイミングで、その時点でのスプレッドに応じた損切り幅を設定するような、そんな感じのやつがほしい。


ってことで、内容的には結構シンプルになりそうなので、それなら自分で作ってしまえばいいのではないかと思いました。

多分この程度ならあんまり時間かからないし、バグも(多分)出にくいでしょう。

幸いにも先駆者が似たようなロジックのサンプルソースを公開してくれていますので、それをいい感じに弄っていけばできそうな予感がします。


EAでZigZagを使う(サンプルソース):

https://fx-prog.com/ea-zigzag/


上記のページはエントリーをzigzagでやっちゃう系のEAではありますが、同様に考えればエントリーを逆に決済ラインの確定タイミングに変えてしまったら、実質決済EAの出来上がりです。

関数とか何使えばいいのかとか全然わかりませんが、調べればなんとかなるでしょう。


以下メモです。


<仕様メモ>

・入力値…pips幅(ZigZagの山・谷から何pips離すか)

=現在のスプレッド+x(いらないかも)

・ZigZagの値は固定みたいなもんなので設定はいらない


<動作>

・現在の注文が存在しない場合には何もしない

・現在の注文が存在している場合:現在の決済ラインの情報を取得(水平線表示)

(1)注文が「買い」のケース

 ZigZagの谷に沿って決済ラインを引き上げていく(決済ラインの情報を更新)

(2)注文が「売り」のケース

 ZigZagの山に沿って決済ラインを引き下げていく(決済ラインの情報を更新)


・決済ラインの更新判定は、時間足のローソク足が1本確定するたびに1回行う

・現在のレートが決済ラインに到達した場合、保有している全てのポジションを解消し、何かの通知を行う(メールを送るとかなんか音を出すとかそういうやつ)


調べた結果、現在の注文を取得してストップロスを更新していけばそれで良さそう。

処理の通知自体はMT4に機能がついてるので、それを利用すれば十分か。


0 件のコメント:

コメントを投稿

FX:売手と買手の勝敗について

今日もなんとなく色々と相場を見ていたわけですが、なんだかんだでよく言われるように「売手と買手の勝敗が決まったタイミング」というのが非常に重要なんじゃないかと感じ始めました。 トレンドフォローって多数派の流れに乗るってことなので、勝敗がつくまでとりあえず待機して、明らかに勝敗がつい...