皆さん、こんにちは!今日はMetaTrader 4用のエキスパートアドバイザー(EA)「バックボーン」についてお話しします。このEAは、取引の方向を常に変化させる仕組みを持っており、テイクプロフィット、ストップロス、トレーリングストップのレベルに基づいてポジションを開きます。前回閉じたポジションとは逆の方向にポジションを開き、テイクプロフィット、ストップロス、またはトレーリングストップのいずれかに到達すると同時にポジションが閉じられます。
バックボーンは、様々な時間枠で使用可能ですが、各時間枠に対して異なる最適なテイクプロフィット、ストップロス、トレーリングストップレベルが必要になります。例えば、私はEURUSDのH1チャートを使い、2007年10月1日から2008年9月30日までの期間で最適化を行いました。最適化をスピードアップするために、新しいバーが出現する際だけにトレードを行うように設定し、「オープンプライスのみ」を使用しました。最適化の結果を確認するためには「すべてのティック」を使っています。
以下が入力パラメータです(これらの値はEURUSD H1、2007年10月1日から2008年9月30日までに最適化されています)。
- extern double MaxRisk = 0.5; // すべてのトレードでの最大リスク
- extern int ntmax = 10; // 一方向の最大トレード数
- extern int TakeProfit = 170;
- extern int StopLoss = 40; // 0: 無効; >0: 有効
- extern int TrailingStop = 300; // 0: 無効; >0: 有効(ストップロスも有効にする必要あり)
最適化されたEAの多くは、最適化範囲内でのみうまく機能します。アウトオブサンプルのチェックを行うと、結果が悪化することがあります。例えば、バックボーンが2008年のチャンピオンシップに参加していた場合、その残高は104ドルになっていたでしょう。 ですが、バックボーンは、損失トレードのフィルターを追加することで、より複雑で収益性の高いEAの基盤として利用できます。私のアドバイスは、まずバックボーンをテイクプロフィット、ストップロス、トレーリングストップの最適化を行い、その後最適化した値を固定し、フィルターのパラメータだけを最適化することです。
頑張ってください!

| シンボル | EURUSD (ユーロ対米ドル) | ||||
| 期間 | 1時間(H1)2007.10.01 00:00 - 2008.09.29 23:00 (2007.10.01 - 2008.09.30) | ||||
| モデル | すべてのティック(利用可能な最も正確な方法) | ||||
| パラメータ | MaxRisk=0.5; ntmax=10; TakeProfit=170; StopLoss=40; TrailingStop=300; | ||||
| テスト中のバー数 | 7086 | モデル化されたティック数 | 3103036 | モデルの質 | n/a |
| 不一致チャートエラー数 | 219 | ||||
| 初期預金 | 10000.00 | ||||
| 総純利益 | 9882406.34 | 総利益 | 31810499.95 | 総損失 | -21928093.61 |
| 利益ファクター | 1.45 | 期待されるペイオフ | 4607.18 | ||
| 絶対ドローダウン | 672.94 | 最大ドローダウン | 2039240.00 (20.33%) | 相対ドローダウン | 82.13% (1922003.87) |
| 総トレード数 | 2145 | ショートポジション(勝率) | 1138 (26.27%) | ロングポジション(勝率) | 1007 (31.28%) |
| 利益トレード(総数に対する割合) | 614 (28.62%) | 損失トレード(総数に対する割合) | 1531 (71.38%) | ||
| 最大 | 利益トレード | 85560.00 | 損失トレード | -23220.00 | |
| 平均 | 利益トレード | 51808.63 | 損失トレード | -14322.73 | |
| 最大 | 連続勝利(利益額) | 22 (1861260.00) | 連続損失(損失額) | 79 (-1591660.00) | |
| 最大 | 連続利益(勝利数) | 1861260.00 (22) | 連続損失(損失数) | -1591660.00 (79) | |
| 平均 | 連続勝利 | 7 | 連続損失 | 16 | |
コメント 0