著者:
Cheftrader*
説明:
このフレームワークは、ストップオーダーを使用してポジションを取得するシステムを構築・テストするためのものです。日次システムに基づいて保留中のオーダーやポジションが管理されます。エントリーのロジック(STP値の計算)は、mqhファイル内で簡単に変更可能です。
さらに、以下の機能があります:
- リスク管理: トレーリングストップの有効/無効
- 資金管理: アカウントの利益に応じてポジションサイズを決定
- 指定時刻に保留中のオーダーをキャンセル
- オープンからの指定期間後にポジションをクローズ
- 最適化に使用するフィルタメソッド(例: 週の異なる曜日の取引結果)
- 重要な資本変動をメールで通知
おすすめの方法:
- ロングとショートのパラメータを別々に最適化する(例: side=-1)
- シンプルなアイデアから始める: 昨日の安値で売りストップを設置(mqhファイルのサンプル参照)
- ロットサイズ0.1でテストおよび最適化を行う。資金管理なし(maxLot=0.1)。メリット: テスターでの利益はピップでスケーリングされます。
- 1時間後または他の期間/ポジションのライブ時間後に自動的にポジションをクローズするテストを開始(closetimeperiod = 3600)
- エントリーアプローチが成功した場合、期間に基づくポジションのクローズをスキップし、リスク管理パラメータを最適化する(SL、TP、SLslope)
- 特定の曜日にシステムが安定しているかテストする: 例: dayfilterを1に設定 - 月曜日のみSTPエントリーオーダーが発注されます。
- 最終的に資金管理をテストする(maxLot、PercentOfProfit)
以下は設定例です:
extern double SL = 8; // ストップロスの基準点: 1/10000または100/10000 = 1/100(JPYの場合) extern double TP = 20.5; // テイクプロフィットの基準点 extern double SLslope = 0.8 // トレーリングストップは、達成した取引利益の一部[例: 0.8]のみを使用します。 // > 1.0の場合はトレーリングストップが無効になります extern int side = -1 // ロング = 1, ショート = -1, 両方向にオーダーを発注する: 0 extern int PercentOfProfit = 30 // アカウントの既に達成した利益のリスク[%]、 // ポジションサイズを計算するために使用されます extern double MaxLot = 10.0; // 取引の最大ロット extern int dayfilter = 7 // 保留中のオーダーを全日発注する場合は7、特定の曜日のみの場合は1(月曜日)...5(金曜日)
* このEAはRomanYの作品からインスパイアを受けました。
https://www.mql5.com/en/users/romany
http://codebase.mql4.com/en/code/9321

コメント 0