トレーディング戦略
MT45 EAは、負けた取引の後に次の取引をより大きなロットで開始します。
最初の取引は常に買いオペレーションで、その後はポジションが交互に買いと売りに切り替わります。
このEAは、ローソク足のオープニングでポジションを開きます。
ストップロスが発生した後、EAはロットをKL係数で増加させ、最大値MLに達するまで続けます。その後、ロットは初期値LTにリセットされます。
対象通貨はEURUSD、時間足はH1です。このEAは2014年1月11日から2017年9月9日までの期間で最適化されています。
エキスパートアドバイザーの設定
input int Stop = 600; // ストップロス input int Take = 700; // テイクプロフィット input int Slip = 100; // スリッページ input int MN = 123; // マジックナンバー input double LT = 0.01; // ロットサイズ input double KL = 2; // ロット増加比率 input double ML = 10; // 最大ロット
特徴
このEAはプリプロセッサディレクティブを使用してクロスプラットフォームモードを実装しています。以下はマーチンゲール機能の例です:
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double Lot() { double lot=LT; //--- MQL4 #ifdef __MQL4__ if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY)) { if(OrderProfit()>0) lot=LT; if(OrderProfit()<0) lot=OrderLots()*KL; } #endif //--- MQL5 #ifdef __MQL5__ if(HistorySelect(0,TimeCurrent())) { double profit=HistoryDealGetDouble(HistoryDealGetTicket(HistoryDealsTotal()-1),DEAL_PROFIT); double LastLot=HHistoryDealGetDouble(HistoryDealGetTicket(HistoryDealsTotal()-1),DEAL_VOLUME); if(profit>0) lot=LT; if(profit<0) lot=LastLot*KL; } #endif if(lot>ML)lot=LT; return(lot); }
バックテスト
MetaTrader 4端末:

MetaTrader 5端末:

アドバイス
- このEAはあくまで自分の戦略の基盤として利用することをお勧めします。