無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
エキスパート

多通貨ナイトスカルパー - Night Scalper Multi - MetaTrader 5のためのエキスパート

ビュー:
1474
評価:
(38)
パブリッシュ済み:
2017.02.06 09:22
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

Night Scalper Multi多通貨ナイトスカルパーはボリンジャーバンド指標で決定された狭い範囲 (r)内で端末時刻の真夜中までの取引します。

BBHandle=iBands(symb,0,per,0,dev,0);
   CopyBuffer(BBHandle,1,0,1,up);
   CopyBuffer(BBHandle,2,0,1,dn);

   double r=up[0]-dn[0];

銘柄のポジションがない場合は、ポジションはStartで指定された時間後に開かれます。

if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))

価格がボリンジャーバンドの下限よりも低く、チャネルが Razmah 変数で指定された範囲よりも小さい場合は買います。

if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);

価格がボリンジャーバンドの上限よりも高く、チャネルが Razmah 変数で指定された範囲よりも小さい場合は売ります。

if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);

ポジションは決済逆指または午前0時以降の強制閉鎖によって決済されます。

else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);

取引はSymbolTrade関数の力を借りてСTradeクラスを使用します。

void SymbolTrade(string symb,int stop,int take,int per,double dev,double razmah,int start)
  {
   string s=(string)start+":00";
   double Ask=SymbolInfoDouble(symb,SYMBOL_ASK);
   double Bid=SymbolInfoDouble(symb,SYMBOL_BID);

   BBHandle=iBands(symb,0,per,0,dev,0);
   CopyBuffer(BBHandle,1,0,1,up);
   CopyBuffer(BBHandle,2,0,1,dn);

   double r=up[0]-dn[0];

   if(CountTrades(symb)<1 && TimeCurrent()>StringToTime(s))
     {
      if(Ask<dn[0] && r<razmah*_Point) trade.PositionOpen(symb,0,Lot,Ask,Ask-stop*_Point,Ask+take*_Point);
      if(Bid>up[0] && r<razmah*_Point) trade.PositionOpen(symb,1,Lot,Bid,Bid+stop*_Point,Bid-take*_Point);
     }
   else if(CountTrades(symb)>0 && TimeCurrent()<StringToTime(s)) CloseAll(symb);
  }

取引操作は新しいバーで行われます。

if(bars!=Bars(NULL,0))
     {
      if(Symbol1!="") SymbolTrade(Symbol1,StopLoss1,TakeProfit1,BBPeriod1,BBDev1,Razmah1,Start1);
      if(Symbol2!="") SymbolTrade(Symbol2,StopLoss2,TakeProfit2,BBPeriod2,BBDev2,Razmah2,Start2);
      if(Symbol3!="") SymbolTrade(Symbol3,StopLoss3,TakeProfit3,BBPeriod3,BBDev3,Razmah3,Start3);
        ...
     }
   bars=Bars(NULL,0);


設定:

input string Symbol1     = "USDCAD";       // 銘柄名
input int    StopLoss1   = 370;            // 決済逆指値1
input int    TakeProfit1 = 20;             // 決済指値1
input int    BBPeriod1   = 40;             // バンド期間1
input double BBDev1      = 1;              // バンド偏差1
input double Razmah1     = 450;            // ポイント単位でのバンド偏差1
input int    Start1      = 19;             // 開始時刻1

input string Symbol2     = "GBPUSD";       // 銘柄2の名前
input int    StopLoss2   = 450;            // 決済逆指値2
input int    TakeProfit2 = 80;             // 決済指値2
input int    BBPeriod2   = 8;              // バンド期間2
input double BBDev2      = 1;              // バンド偏差2
input double Razmah2     = 200;            // ポイント単位でのバンド偏差2
input int    Start2      = 20;             // 開始時刻2

input string Symbol3     = "NZDUSD";       // 銘柄3の名前
input int    StopLoss3   = 410;            // 決済逆指値3
input int    TakeProfit3 = 40;             // 決済指値3
input int    BBPeriod3   = 4;              // バンド期間3
input double BBDev3      = 1.2;            // バンド偏差3
input double Razmah3     = 450;            // ポイント単位でのバンド偏差3
input int    Start3      = 19;             // 開始時刻3

input string Symbol4     = "";             // 銘柄4の名前
input int    StopLoss4   = 500;            // 決済逆指値4
input int    TakeProfit4 = 40;             // 決済指値4
input int    BBPeriod4   = 24;             // バンド期間4
input double BBDev4      = 1;              // バンド偏差4
input double Razmah4     = 200;            // バンド偏差4(ポイント単位)
input int    Start4      = 20;             // 開始時刻4

input string Symbol5     = "";             // 銘柄5の名前
input int    StopLoss5   = 500;            // 決済逆指値5
input int    TakeProfit5 = 40;             // 決済指値5
input int    BBPeriod5   = 24;             // バンド期間5
input double BBDev5      = 1;              // バンド偏差5
input double Razmah5     = 200;            // バンド偏差5(ポイント単位)
input int    Start5      = 20;             // 開始時刻5

input string Symbol6     = "";             // 銘柄6の名前
input int    StopLoss6   = 500;            // 決済逆指値6
input int    TakeProfit6 = 40;             // 決済指値6
input int    BBPeriod6   = 24;             // バンド期間6
input double BBDev6      = 1;              // バンド偏差6
input double Razmah6     = 200;            // バンド偏差6(ポイント単位)
input int    Start6      = 20;             // 開始時刻6

input string Symbol7     = "";             // 銘柄7の名前
input int    StopLoss7   = 500;            // 決済逆指値7
input int    TakeProfit7 = 40;             // 決済指値7
input int    BBPeriod7   = 24;             // バンド期間7
input double BBDev7      = 1;              // バンド偏差7
input double Razmah7     = 200;            // バンド偏差7(ポイント単位)
input int    Start7      = 20;             // 開始時刻7

input string Symbol8     = "";             // 銘柄8の名前
input int    StopLoss8   = 500;            // 決済逆指値8
input int    TakeProfit8 = 40;             // 決済指値8
input int    BBPeriod8   = 24;             // バンド期間8
input double BBDev8      = 1;              // バンド偏差8
input double Razmah8     = 200;            // バンド偏差8(ポイント単位)
input int    Start8      = 20;             // 開始時刻8

input string Symbol9     = "";             // 銘柄9の名前
input int    StopLoss9   = 500;            // 決済逆指値9
input int    TakeProfit9 = 40;             // 決済指値9
input int    BBPeriod9   = 24;             // バンド期間9
input double BBDev9      = 1;              // バンド偏差9
input double Razmah9     = 200;            // バンド偏差9(ポイント単位)
input int    Start9      = 20;             // 開始時刻9

input double Lot         = 1;              // 取引数量

図1 EA 取引結果EURUSD, H1

図2 操作ログでのEA取引

図3 2006年11月1日から2006年3月13日までのEAの取引と最適化の結果USDCAD, GBPUSD, NZDUSD, H1


ヒント:

  • トレーディングアシスタントとしての使用や、独自の戦略の開発による使用が推奨されています。

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/16350

スマートな平均化 - Hello Smart スマートな平均化 - Hello Smart

エキスパートアドバイザーは、特定のアルゴリズムに基づいて負け取引の平均を計算します。

XvaMA_HTF XvaMA_HTF

入力パラメータでの時間枠選択オプションを含む XvaMA指標です。

JSatl_HTF JSatl_HTF

入力パラメータでの時間枠選択オプションを含むJSatl指標です。

AFL_WinnerV2_HTF AFL_WinnerV2_HTF

入力パラメータでの時間枠選択オプションを含むAFL_WinnerV2指標です。