ポジションが設定したpipsプラスになったら、ストップロスをセット。同時にトレーリングストップをスタートするExpert Advisor:EA 『hjEA_SelectPositionTrailingStop100』
EA名が長くなってしまいました。このEAは、ポジション取りはせず、すでに存在するポジションに対して動作するので、他との区別で悩んだ末に SelectPosition を付記しました。
ご依頼主は、ハンドルネーム『ぱせり』さんです。ご提案文章の内容、理解できているといいのですが・・・取引状況もイメージしながら作成しています。イメージが合ってるといいけど・・・
なお、チャート右肩のタイム表示は、別インジケーターです。
hjEA_SelectPositionTrailingStop100 仕様
保有ポジションの含み益(pips換算)が設定値に達したら、最初のストップロスを設定。
その後、設定した pips 幅でトレーリングストップをスタート。
- トレーリングストップスタート要件
- ポジションの含み益:pips が設定値に達したとき
- 通貨ペアひとつに対し、ポジション一つの場合のみ動作
★この EA はポジション取りしないため、各通貨ペア1ポジションに限定。チケットNo指定など、考慮すると利便性は良くなるかもしれません。
- トレーリングストップスタート要件を満たした時点で、ストップロスをセット
- ストップロスは、pips 指定
- ストップロスセット後、トレーリングストップをスタート
- トレーリングストップ幅は pips 指定
資金量とエントリーロット数は、チェックしません。関係するエラーメッセージはありません。
また、トレーリングストップスタート、決済の通知は、このバージョンにはありません。
パラメーター
- トレーリングストップ開始+pips
- トレーリングストップを開始する含み益
- pips指定
- 最初のストップロス pips
- トレーリングストップ開始時、最初のストップロス位置
- pips指定
- トレーリングストップ pips
- トレーリングストップ間隔
- pips指定
最初のストップロス pips とトレーリングストップ pips は、設定値によっては、最初のストップロスが無意味になる場合もあります。
試行していただくとわかると思います。
使 用 例
動作中の例
例のパラメーター
適当に SELL エントリー
その後、決済までの動作
インジケーターセット例
パラメーター変更例
EAが動作しない状況だった場合の通知
次の状況下で、EAは動作しません。
- 1つの通貨ぺアで、複数ポジションを保持中
- トレーリングストップ開始+pips < ストップレベル
- 最初のストップロス pips < ストップレベル
- トレーリングストップ pips < ストップレベル
上記4つの通知は、その条件から外れると消えます。同時に EA は動作するようになります。
1つの通貨ペアで、複数ポジション存在時
トレーリングストップ開始+pips < ストップレベル
最初のストップロス pips < ストップレベル
トレーリングストップ pips < ストップレベル
ダウンロード
EAなので、必ずデモ口座で仕様通り動作することを確認してくださいね。
ひとりで作成・検証しているので、バグは100%ない、と言い切れません。
おかしいな、と感じたら、即コメントください。
コメント
HappyJiJiさん、こんにちは。
追加でご相談がございます。
私がスキャルピング専用で利用しているFX業者は、
スプレッドが狭くてとても良いのですが、一方でストップレベルがかなり広いため、
損切り幅を自由に決められずトレーリングストップが機能を発揮できません。
先日たまたまインターネットサーフィンをしていて勉強したのですが
EAで決済するには下記3パターンのどれかに該当するとのことでした。
①エントリーと同時に、TP・SL注文を出す「OrderSend()関数」を使用するパターン。
②エントリーした後に、修正注文としてTP・SL注文を出す「OrderModify()関数」を使用するパターン。
③エントリーした後に、別途、保有ポジションに対する決済注文を出す「OrderClose()関数」を使用するパターン。
上記③「OrderClose()関数」を使うことで、裁量エントリー後に、
ストップレベルに関係なく、『指定値で決済できる』と聞いたのですが、
例えば、これを応用することで、FX業者ごとに設定されているストップレベルに関係なく、
トレーリングストップ機能を実装することも可能なのでしょうか?
よろしくお願いします。
ぱせりさん、
現在の仕様は、最初のストップロス値は、業者のストップレベルより広くしてエラー文続出を防いでいます。
業者のストップレベルに無関係に決済するには、パセリさんのリサーチ結果通り、Closeで可能です。
正確には、可能と思います。
業者によっては、なんらかの制御を追加している場合がある可能性がないとは言い切れないので、試行してみないと正確には?です。
なお、この場合、現仕様トレーリングストップで表示されている決済ラインは、EAで描画させないと表示されません。
このラインはなくてもいいですか?
また、一般的なトレーリングストップとは考え方を異にして、別EAとして作成した方がいいでしょう。
検証用の損切pips値を教えてください。
HappyJiJiさん、
もし可能であれば試作品を作成して頂けると幸いです。
決済ラインの描画は無くても構いません。
と言うのも、基本的にはスマホから裁量エントリーをしているので、
エントリー後はPC版MT4に任せきりで、決済されるまでの途中経過を見ていないためです。
検証用の損切pips値ですが、1.5pipsでいかがでしょうか。
よろしくお願いいたします。
ぱせりさん、
気になる点があります。
ご利用FX業者で、次の2つのパラメーター
・最初のストップロスpips
・トレーリングストップロスpips
を1.5pipsに設定して、期待通りに動作しなかったのでしょうか?
もう一点仕様面でご確認です。
今回ご希望のEAには、現EAのパラメーター『トレーリングストップ開始+pips』は不要となりますか?
以上、意思疎通がうまく図れているか心配でお尋ねしました。
お返事、お待ちしております。
HappyJiJiさん、こんにちは。
1週間テスト使用をした感想をご報告します。
結論から言うと『素晴らしいEA』の一言です。
私はスマホからエントリーすることが多いのですが、
トレーリング機能を使う場合、エントリー後にアナログで都度設定する必要があり、
非常に効率の悪さを感じていました。
そのため、今回こちらのEAを作成いただいたことでトレード環境が数倍に向上しました。
心より感謝しております。
ありがとうございました。
ぱせりさん、
お役に立ててなによりです。
使っていて、改善点・新規案浮かびましたら遠慮なくコメントください。
HappyJiJiさん、テスト結果の報告になります。
私のPC環境が悪いせいかもですが、何故かEAが動作しない状況の場合の通知機能が動作しません。
それと、設定項目にはないはずですがS/Lが自動で設定されました。
ご確認お願いいたします。
ぱせりさん、
確認のため、以下教えてください。
1)EAが動作しない状況は、どの状況ですか? 4つともかなぁ・・・
2)パラメーター値、上から順に数値だけでもかまいません。
3)ターミナルのエキスパートにエラーは出力されていますか?
出力されていたら、その文章を教えてください。
4)EAをセットしたFX業者名
以上、よろしくお願いします。
HappyJiJiさん、状況を報告します。
1)EAが動作しない状況は、どの状況ですか?
パラメータの設定を4つのパターンにしてテストしてみたのですが、4つとも通知機能が表示されません。
2)パラメーター値、上から順に数値だけでもかまいません。
例えば、上から
・6pips 7pips 3pips
・5pips 3pips 1pips などにしてテストしました。
3)ターミナルのエキスパートにエラーは出力されていますか?
エラーは表示されていません。
hjEA_SelectPositionTrailingStop100 EURUSD,H1: initialized
4)EAをセットしたFX業者名
FBSを使っています。
よろしくお願いします。
ぱせりさん、
情報ありがとうございます。
以下は、EAが正常に稼働してるとして記しています。
また、MT4上でEAが正常に動作していても、取引できる状態でないとEAは動作しない仕様にしていることもご理解ください。
1)2)EAが動作しない状況について
4つともメッセージ表示されないとのこと。当方のMT4では意図通りメッセージが表示されますので、?状態です。
4つの内、パラメーターでセットする3つの設定値は、ストップレベルより少ないpipsを設定していたら通知し、この通知はポジションの有無に関係なく表示される仕様です。
また、複数ポジション保持でのメッセージは、同一通貨ペアで二つ以上のポジションを持ってたら通知する仕様です。
3)ターミナルエラーが出力されていないとのことですので、ひょっとしたらストップレベルがとても小さいか0かもしれないですね。
もしくは、取引可能状態でないかもしれません。
ストップレベル値がいくつか気になりますので、セットしているチャートの通貨ペアのストップレベルを確認してください。
4)ご利用業者FBSについて
私の使ってる業者だったらすぐに検証しようと思ったのですが・・・
FBS 多分デモ口座開設できると思いますので、確認してみます。
繰り返しのお願いになりますが、以下二点教えてください。
・USDJPY・GBPJPY のストップレベル
・お好みの通貨ペアにEAをセットして稼働させ、ポジションを2つ持ってください。
もちろん、デモ口座でお願いします。リアル口座でしたらやめてくださいね。
当方は、FBS でのデモ口座開設と確認を行い、結果を報告します。
以上、よろしくお願いします。
ぱせりさん、
FBSデモ口座:スタンダード、開設し、確認しました。
同じ口座かどうかは?ですが、仕様通り動作することを確認しました。
EURUSD は、ストップレベルが、0.1pipsですね。
なので、パラメーター値を 0.1より小さく、例えば、0.05とかにセットしてみてください。
次に複数ポジションある場合ですが、こちらも2本ポジション持つとメッセージは出力されます。
以上、よろしくお願いします。
ぱせりさん、
サーバー移行でコメントが反映できませんでした。
動作確認とれた、とのこと。
よかったです。
当初のご希望のパラメーター値で正常動作することをデモで確認してくださいね。
ご自分の目で確認することがとても重要だと思っています。
それでは、失礼します。
HappyJiJiさん、こんにちは。
この度は決済EAを作成していただきありがとうございます。
説明を読む限りでは、私の依頼通りの機能に出来上がっていると思います。
さらに、EAが動作しない状況だった場合の通知機能を追加していただきありがとうございます。
さっそく来週に動作確認をしてみます。
ありがとうございました。
ぱせりさん、
コメントありがとうございます。
動作確認結果、お待ちしています。