自動取引 FX STORE

TripleBullet MT5

TripleBullet MT5

概要

TripleBulletはその名の通り、1ペアから3ペアまで同時にトレードできるグリッドトレード(リピート方式)のEAです。

相関の低いペア(例:USDCHF / EURGBP / AUDNZD)または負の相関のあるペア(例:USDJPY / S&P500)を組み合わせることで、リスク分散が可能です。

ロジックとパラメーター

パラメーターサマリ

Parameter Roll Usage
 debugMode  ログ出力   trueのとき、ジャーナルにデバグログを表示します
 magicNumber  マジックナンバー  他のEAと被らないユニークな値を設定してください
 stopEquity セーフ機能  有効証拠金がstopEquity以下のとき、新規注文が行われません.
無効にするには、0を設定してください
 stopMarginLevel  セーフ機能   証拠金維持率がstopMarginLevel以下のとき、新規注文が行われません.
無効にするには、0を設定してください
 stopDrawDownPer セーフ機能  ドローダウンがstopDrawDownPer以上のとき、新規注文が行われません.
無効にするには、100を設定してください
 spreadLimit   セーフ機能  スプレッドがspreadLimit以上のとき、新規注文が行われません.
無効にするには、99999999…を設定してください
 risk  セーフ機能  riskパラメーターを設定することで、ロットを自動計算します
riskとlotを同時に設定することはできません
無効にするには、0を設定してください
 lot  セーフ機能  取引時のロットを固定します
riskとlotを同時に設定することはできません
無効にするには、0を設定してください
 pricePeriod  トレード戦略  どれだけの月足を計算に使用するか決定します
 noTradeCoreRange  トレード戦略  どこまでがcore rangeか決定します.
 positionHalf  トレード戦略  core range外で、どれだけのポジションを持つか決定します
 positionCore  トレード戦略  core range内で、どれだけのポジションを持つか決定します
 minTP  トレード戦略  ポジションの取りうる、最小のTakeProfit(pips単位)を決定します
 maxTP  トレード戦略  ポジションの取りうる、最小のTakeProfit(pips単位)を決定します
 sl   トレード戦略  stop loss(by pips)
To disable set 0 (No stop loss)
 symbol2  Logic  どのペアを追加でトレードするか決めます
 symbol3  Logic  どのペアを追加でトレードするか決めます

トレード対象の決定

※Market Watchにないシンボルについては設定しないでください

ブローカーの中には、オリジナルのシンボル名を付けることがあります

下記のように、MarketWatchでシンボル名が”EURGBP-“の場合、”EURGBP”ではなく”EURGBP-“をセットしてください

 

 

グリッドレンジの決定

このEAでは、現在のローソク足から、過去[PricePeriod]ヵ月間の最高値( Highest ),最安値( Lowest )を元にトレード戦略を立てます。

それぞれの項目の計算式は以下の通りです。

Highest = 過去[PricePeriod]ヵ月間の最高値
Lowest = 過去[PricePeriod]ヵ月間の最安値
Distance = Highest - Lowest
CenterLine = Distance / 2 + Lowest

これらの値は、トレードを行うための間隔( interval )計算に用いられます。

トレードについて

トレード禁止レンジ

[noTradeCoreRange]はトレードを禁止するを決めています。

CenterLine から、上下[noTradeCoreRange]分の範囲ではトレードが行われません。

CenterLine 周辺でのトレードを禁止することで、レートが大きく上振れたり下振れたりしても、含み損が少なくなります。

トレードが禁止される範囲は以下のようになります。

つまり、[noTradeCoreRange]を0.5以上にすると、トレードは行われません。

no trade range: (CenterLine - Distance * [noTradeCoreRange]) ~ (CenterLine + Distance *[noTradeCoreRange])

各ポジションのTPおよびトレード間隔

ポジションは各 interval ごとに1つです。

intervalの計算式は以下の通りです。

interval = Distance / [positionHalf]

But if interval < [minTP]pips then interval = [minTP] 
But if interval > [maxTP]pips then interval = [maxTP]

つまり、現在の価格から、上下のinterval範囲内で既にポジションを持っていた場合、トレードは行われません。

また、ポジションの利食い値(TakeProfit)もintervalと同じ値です。

基本的に、最大ポジション数に関しては、[positionHalf]に近い値になりますが、intervalが[minTP]pips以下、もしくは[maxTP]pips以上の場合はその限りではありません。

このintervalに、それぞれの通貨ペアが干渉しあうことはありません。それぞれの通貨ペアごとにintervalが管理されています。

ストップロス

※[sl]パラメーターはpro versionでのみ利用可能

デフォルトでは、ストップロスは設けられていません。というのもストップロスを取らないのが、このEAの基本戦略だからです。

proバージョンでのみ、pips単位でストップロスが設定できます。

ストップロスの具体的な値は以下のようになります。

Stoploss(ロングトレード) = Ask - [sl]pips
Stoploss(ショートトレード) = Bid - [sl]pips

※ [sl] = 0のとき、ストップロスは設定されません(デフォルト設定)

lot数について

※[risk]パラメーターはpro versionでのみ利用可能

固定lot法 と 変動lot法 の2つを用意しています。

lot数が、ブローカーの定める最小lot以下の場合、トレードは行われません。

固定lot法

固定lot法では、以下の計算式でlotが決定します。

lot = [lot]

変動lot法

変動lot法では、以下の計算式でlotが決定します。

lot = free margin * [risk] / margin required to buy 1 lot of trading pair

※変動lotの場合、余剰証拠金を元にlot数を計算するため、ハイレバレッジにするほど余剰証拠金が増え、想定よりハイリスクになります。レバレッジを変更する際は気を付けてください。

※変動lotを使いたい場合、[lot] は0に設定してください.

セーフ機能

※[spreadLimit][stopEquity][stopMarginLevel][stopDrawDownPer]パラメーターはpro versionでのみ利用可能

詳細・購入

magicNumber

このEAが管理しているポジションを識別するには、[magicNumber]を、他のEAと被らないようにセットしてください。

このEAは[magicNumber]と紐づけられたポジションに対してのみ操作を行います。

ログ

EA上で起きたトラブル等に関しては、チャートの左上に表示されます。

[debugMode]をONにすると、チャートの左上だけではなく、MT5のJournal上でもログを確認できます

※debugModeをONにした場合、ログが貯まりすぎるとMT5やマシンのストレージを圧迫し、動作不良を起こす可能性があります。 利用の際はストレージ残量に注意しながら行ってください。

最適化について

利用したいペアに対して、最適化を行うことでより高パフォーマンスを発揮できます。

おススメの最適化項目は以下の通りです。

自分の好みや、マシンスペックと相談しつつ調整してください。

Variable Start Step Stop
pricePeriod 1 1 96
noTradingCoreRange 0 0.05 0.5
positionHalf 1 1 50
minTP 10 5 100
maxTP 101 10 301

最適化結果サンプル(2015/05~2022/07)

作者のマシンで最適化を行った際の、ベスト設定は以下の通りです(EURGBP)。

Variable Value
pricePeriod 36
noTradingCoreRange 0.16
positionHalf 31
minTP 95
maxTP 271
symbol1 USDCHF
symbol2 AUDNZD

最適化中に発生したエラーメッセージについて

もし下記のようなエラーが最適化中に発生した場合、最適化がうまくいっていないかもしれません。

その場合は、”Visualize Test”でエラーの詳細を確認することを推奨します。

失敗した可能性のあるパラメーターセットを入力し、”Visualize Test”を開始します

エラーの詳細(アラートメッセージ)が確認できます。

詳細・購入

 

モバイルバージョンを終了