目標収益を達成後、口座残高を確保しつつ、さらに収益を伸ばすため補助ツール(EA)の作成
ChatGPT(GPTs)にお願いして、ちょっと便利なツール(EA)を作ってもらいました。
目標収益を達成後、さらに収益を伸ばしたいが、これ以上は口座残高を減らしたくはない、という時に、口座残高が一定以下になったら全ポジションを強制決済するツールです。
ただ、EA(ソフトウェア)でも、急激な相場変動には付いていけないことはよくあるので、要注意ではあります。
(人の手よりは遥かに信用は高くはありますが。)
使用GPTs:EA Creator
依頼内容と実行結果
今回は、基本そのまま使えるものを作ってもらえました。
依頼内容
以下の仕様で新たなEAの作成をお願いします。
#パラメータ
・ターゲット残高 = 0
・確保残高 = 0
その他、必要なものあれば追加#仕様
・有効証拠金が「ターゲット残高」で指定した金額を超えた後、「確保残高」を下回ったら
全ポジションを強制的に全決済する
・全決済後は、「ターゲット残高」を超えたという状態は忘れる
再度ポジションを持っても、「ターゲット残高」を超えるまでは、上記動作は行わない
ChatGPT出力結果
以下の仕様に基づいて、新しいEAのMQL4コードを作成します。このEAは、指定された条件に基づいてポジションを強制的に全決済します。
仕様
- 有効証拠金が「ターゲット残高」を超えた後、「確保残高」を下回ったら全ポジションを強制的に全決済する。
- 全決済後は、「ターゲット残高」を超えたという状態を忘れ、再度ポジションを持っても「ターゲット残高」を超えるまでは動作を行わない。
//+------------------------------------------------------------------+ //| EA_EquityManager | //| Copyright 2024, SeSe | //| https://fx-trading-gym.info/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2024, SeSe" #property link "https://fx-trading-gym.info/" #property version "1.00" #property strict input double TargetBalance = 0; // ターゲット残高 input double SecureBalance = 0; // 確保残高 bool targetExceeded = false; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { double equity = AccountEquity(); // ターゲット残高を超えたかどうかをチェック if (equity > TargetBalance) { targetExceeded = true; } // ターゲット残高を超えた後、確保残高を下回ったかどうかをチェック if (targetExceeded && equity < SecureBalance) { CloseAllPositions(); targetExceeded = false; // 状態をリセット } } //+------------------------------------------------------------------+ //| すべてのポジションを決済する関数 | //+------------------------------------------------------------------+ void CloseAllPositions() { for (int i = OrdersTotal() - 1; i >= 0; i--) { if (OrderSelect(i, SELECT_BY_POS)) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { if (!OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, clrRed)) { Print("Failed to close order: ", OrderTicket(), " Error: ", GetLastError()); } } } } } //+------------------------------------------------------------------+
説明
- パラメータ
TargetBalance
: ターゲット残高SecureBalance
: 確保残高
- 初期化 (
OnInit
)
- 特に初期化は必要ありません。
- ティックイベント (
OnTick
)
- 有効証拠金 (
AccountEquity
) をチェックします。- 有効証拠金が
TargetBalance
を超えた場合、フラグtargetExceeded
をtrue
に設定します。- 有効証拠金が
TargetBalance
を超えた後、SecureBalance
を下回った場合、すべてのポジションを決済し、フラグtargetExceeded
をfalse
にリセットします。
- すべてのポジションを決済する関数 (
CloseAllPositions
)
- すべてのポジションを決済し、エラーが発生した場合はエラーメッセージを出力します。
このEAは、有効証拠金が設定されたターゲット残高を超えた後、確保残高を下回った場合にすべてのポジションを強制的に決済します。再度ポジションを持つ際には、再びターゲット残高を超えるまでこの動作は行われません。
ツール(EA)
作成したEAを上げておきます。
基本的な動作確認はしておりますが、不具合を原因とする場合を含め、利用者の損失を補填することは致しかねますのでご了承ください。
ご自身の責任の範囲で(ご自身でも動作確認するなど)ご利用ください。
ご協力のお願い
もし、こちらのインジケータ、ツールを気に入ってもらえて、気が向いたら(何か利用する機会あれば)、ドネーション代わりに以下のいずれか何でもよいので、ご対応いただけたら幸いです。活動の励みになります。
海外FX口座の開設
- その他、口座(キャッシュバックあり)の開設
詳しくはこちらの記事「なぜFX海外口座が人気なのか?MT4/MT5のEAも使用可能、入金/取引キャッシュバックあり、トレーダのための究極ガイド」をご参照下さい。
国内FX口座の開設
詳しくはこちらの記事「あなたのFX取引を加速させるDMM.com証券のキャッシュバックキャンペーン」をご参照ください。
- その他FX口座の開設
MT4対応口座等もピックアップしています。こちらの記事「FX取引: 国内口座の選択とおすすめ業者の比較、MT4 EA対応口座は」からお願いします。
トレードシステム(EA)の購入
- 私が作成したEAのご購入
こちらの記事「FXトレーダー必見!MT4向け利益追求型自動売買EAの紹介」で、私が作成したEAの紹介をしています。利用いただけたら嬉しいです。
特に、おすすめは(調子が良いのは)こちら「ポンドュール(HL band M15 for GJ)」「BBHL band H1 for AJ」辺りです。
- 他のEAのご購入
以下より人気EA、売れ筋EAを購入する。
コメント