無料でロボットをダウンロードする方法を見る
Telegram上で私たちを見つけてください。
私たちのファンページに参加してください
私たちのファンページに参加してください
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
多通貨ナイトスカルパー - Night Scalper Multi - MetaTrader 5のためのエキスパート
- ビュー:
- 1474
- 評価:
- パブリッシュ済み:
- 2017.02.06 09:22
- このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
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
エキスパートアドバイザーは、特定のアルゴリズムに基づいて負け取引の平均を計算します。
XvaMA_HTF入力パラメータでの時間枠選択オプションを含む XvaMA指標です。