Welcome Forex EA downloads & MT4/MT5 auto-trading resources — EAs, Gold EAs, quant tools and real-world automation.
Sign In Sign Up

Night Scalper Multi - MetaTrader 5 Expert

author EAcpu | 6 reads | 0 comments |

Multi-currency night scalper - Night Scalper Multi - expert for MetaTrader 5

Multi-currency night scalper - Night Scalper Multi - expert for MetaTrader 5

Multi-currency night scalper - Night Scalper Multi - expert for MetaTrader 5

This night scalper mostly uses multi-currency night scalpers to trade in a narrow range of terminal time (right) at 0 am (right) , using the determined Bollinger Bands indicator.

 bb handle = iBand (symbol, 0 , per, 0 , dev, 0 );
copybuffer (BBHandle, 1 , 0 , 1 , up);
CopyBuffer (BBHandle, 2 , 0 , 1 , dn);

Double r=upper[ 0 ]-dn[ 0 ];

The position opening starts after the specified time and there are no open positions for this symbol.

 If (CountTrades(symb)< 1 && time current ()> string to time (s))

Buy Bollinger Bands if the price is below the lower limit and the channel is smaller than the range specified by Razma Variable.

 if ( ask  0 ] && r<razma* _view ) trade.PositionOpen(symb, 0 ,many, ask , ask -stop* _view , ask +take* _view );

Bollinger Bands are sold if the price is above the upper limit and the channel is smaller than the range specified by Razma Variable.

 if ( bid >up[ 0 ] && r<razma* _view ) trade.PositionOpen(symb, 1 , lot, bid , bid +stop* _view , bid -take* _view );

After 0:00 a.m., positions are closed via stop loss or forced liquidation.

 Else if (count transaction (symb) > 0 && time current () < string to time (s)) CloseAll (symb);

Trade symbols trading functions and use trade classes with the help of:

Blank symbols ( string symbol, integer stop, integer take, integer every, double develop, double razma, integer start)
  {
String s=( string ) start + ":00" ;
double ask = symbolinfo double (symbol, SYMBOL_ASK );
double bid = symbolinfo double (symbol, SYMBOL_BID );

  bb handle = iBand (symbol, 0 , per, 0 , dev, 0 );
copybuffer (BBHandle, 1 , 0 , 1 , up);
CopyBuffer (BBHandle, 2 , 0 , 1 , dn);

Double r=upper[ 0 ]-dn[ 0 ];

If (CountTrades(symb)< 1 && time current ()> string to time (s))
    {
if ( ask  0 ] && r<razma* _view ) trade.PositionOpen(symb, 0 ,many, ask , ask -stop* _view , ask +take* _view );
if ( bid >up[ 0 ] && r<razma* _view ) trade.PositionOpen(symb, 1 , lot, bid , bid +stop* _view , bid -take* _view );
    }
Else if (count transaction (symb) > 0 && time current () < string to time (s)) CloseAll (symb);
  }

Trading operations are performed on the new bar.

if (bar ! = bar ( void , 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);
        ...
    }
  bar = bar ( void , 0 );
 Input string symbol 1 = "USDCAD" ; // symbol 1 name
Enter an integer Stop Loss 1 = 370 ; // Stop Loss 1
Enter an integer Take Profit 1 = 20 ; // Take Profit 1
Input integer BBP period 1 = 40 ; // Band period 1
Enter double BBDev1 = 1 ; // Band deviation 1
Enter double Razma 1 = 450 ; // with bias 1 (in points)
Input integer start 1 = 19 ; // start time 1

Input string symbol 2 = "GBP/USD" ; // symbol 2 name
Enter an integer Stop Loss 2 = 450 ; // Stop Loss 2
Enter an integer Take Profit 2 = 80 ; // Take Profit 2
Input integer BBP period 2 = 8 ; // Band period 2
Enter double BBDev2 = 1 ; // Band deviation 2
Enter double Razma 2 = 200 ; // Strip bias 2 in points
Input integer start 2 = 20 ; // start time 2

Enter string symbol 3 = "NZD/USD" ; // symbol 3 name
Enter an integer Stop Loss 3 = 410 ; // Stop Loss 3
Enter an integer Take Profit 3 = 40 ; // Take Profit 3
Input integer BBP period 3 = 4 ; // Band period 3
Enter double BBDev3 = 1.2 ; // Band deviation 3
Enter double Razma 3 = 450 ; // Strip bias 3 in points
Input integer start 3 = 19 ; // start time 3

Enter string symbol 4 = ”” ; // symbol 4 name
Enter an integer Stop Loss 4 = 500 ; // Stop Loss 4
Enter an integer Take Profit 4 = 40 ;// Take Profit 4 Enter Integer BBP Period 4 = 24 ; // Band Period 4 Enter Double BBDev4 = 1 ; // Band Deviation 4 Enter Double Razma 4 = 200 ; // Enter Integer with Deviation 4 in Points Start 4 = 20 ; // Start Time 4 Enter String Symbol 5 = ”” ; // Symbol 5 Name Enter Integer Stop Loss 5 = 500 ; // Stop Loss 5 Enter Integer Take Profit 5 = 40 ; // Take Profit 5 Enter Integer BBP Period 5 = 24 ; // Band Period 5 Enter Double BBDev5 = 1 ; // Band Deviation 5 Enter Double Razma 5 = 200 ; // Band Deviation 5 (in points) Enter Integer Start 5 = 20 ; // Start Time 5 Enter String Symbol 6 = ”” ; // Symbol 6 Name Enter Integer Stop Loss 6 = 500 ; // Stop Loss 6 Enter Integer Take Profit 6 = 40 ; // Take Profit 6 Enter Integer BBP Period 6 = 24 ; // Band Period 6 Enter Double BBDev6 = 1 ; // Band Deviation 6 Enter Double Razma 6 = 200 ; // Band Deviation 6 Enter Integer Start 6 = 20 ; // Start Time 6 Enter String Symbol 7 = "" ; // Symbol7 Name input integer Stop Loss 7 = 500 ; // Stop Loss 7 input integer Take Profit 7 = 40 ; // Profit 7 input integer BBP Period 7 = 24 ; // Band period 7 input double BBDev7 = 1 ; // Band deviation 7 input double Razma 7 = 200 ; // Band deviation 7 (in points) input integer start 7 = 20 ; // Start time 7 input string symbol 8 = ”” ; // Symbol8 name input integer stop loss 8 = 500 ; // Stop loss 8 input integer take profit 8 = 40 ; // Take profit 8 inputeyword">Integer BBP Period 8 = 24 ; // Band Period 8 enter double BBDev8 = 1 ; // Band Deviation 8 enter double Razma 8 = 200 ; // Band Deviation 8 (in points) enter integer Start 8 = 20 ; // Start Time 8 enter String Symbol 9 = ”” ; // Symbol9 Name Enter Integer Stop Loss 9 = 500 ; // Stop Loss 9 Enter Integer Take Profit 9 = 40 ; // Take Profit 9 Enter Integer BBP Period 9 = 24 ; // Band Period 9 Enter Double BBDev9 = 1 ; // Band Deviation 9 Enter Double Razma 9 = 200 ; // Band Deviation 9 Enter Integer Start 9 = 20 ; // Start Time 9 Enter Double Batch = 1 ; // Trading Volume 

Multi-currency night scalper - Night Scalper Multi - expert for MetaTrader 5

Figure 1. Results of the Expert Advisor. EURUSD, first half

Multi-currency night scalper - Night Scalper Multi - expert for MetaTrader 5

Figure 2. EA transactions in journals

Multi-currency night scalper - Night Scalper Multi - expert for MetaTrader 5

Figure 3. Results of EA trading and optimization from January 11, 2016 to September 13, 2016. USD/CAD, GBP/USD, NZD/USD, H1


Attachment download

📎 nightscalper.mq5 (8.11 KB)

Source: MQL5 #16350

Night Scalper Multi - MetaTrader 5 Expert Usage and Screening Advice

Multi-Currency Night Scalper - Night Scalper Multi - MetaTrader 5 Expert belongs to scalping EA related resources. Before downloading or referencing, it is recommended to confirm the platform version, transaction type, time period, whether DLL is required, whether source code is included, parameter description and historical update records.

Both automated trading tools and foreign exchange indicators should first undergo backtesting, simulated account observation, and small capital verification. Pay special attention to spreads, slippages, maximum drawdowns, position opening frequency, stop loss methods, trading periods and broker rules, and avoid direct real-time execution based only on titles or short-term profit descriptions.

Verification code Refresh