Der Scalper handelt im Forex schnell und einfach bis zu 9 Währungspaare
Dieser Scalper öffnet eine Position, fixiert einen Stop und die Gewinnmitnahme-Punkte. Er basiert auf den populären Bollinger Bänder. Dies ist eine volatilitätsbezogenen Strategie. Es wird eine gewisse Volatilität vorausgesetzt um eine Order auszuführen. Die Bänder dienen dabei als Signalgeber. Weitere Indikatoren werden nicht angewendet. Dieses System könnte eine höhere Stabilität erreichen, in dem ein Filter bzw. andere Indikatoren als Filter genutzt werden.
Das Video auf YouTube
Teil 2: Der Scalper handelt im Forex schnell und einfach bis zu 9 Währungspaare
Download diesen Bot – Expert Advisor
MetaTrader5 Code – Forex Overnight Scalper Strategie
//+------------------------------------------------------------------+
//| OverNightScalper.mq5 |
//| Community |
//| https://multibank.cash |
//+------------------------------------------------------------------+
#property copyright "Community"
#property link "https://multibank.cash"
#property version "1.00"
#include <Trade\Trade.mqh> // Use CTrade Class
input string Symbol1 = "USDCAD"; // Symbol1 Name
input int StopLoss1 = 3; // StopLoss1
input int TakeProfit1 = 7; // TakeProfit1
input int BBPeriod1 = 30; // Bands Period1
input double BBDev1 = 2; // Bands Deviation1
input double Razmah1 = 450; // Bands Deviation1 in Points
input int Start1 = 0; // Start Time1
input string Symbol2 = "USDCAD"; // Symbol2 Name
input int StopLoss2 = 3; // StopLoss2
input int TakeProfit2 = 7; // TakeProfit2
input int BBPeriod2 = 30; // Bands Period2
input double BBDev2 = 2; // Bands Deviation2
input double Razmah2 = 200; // Bands Deviation2 in Points
input int Start2 = 0; // Start Time2
input string Symbol3 = "NZDUSD"; // Symbol3 Name
input int StopLoss3 = 3; // StopLoss3
input int TakeProfit3 = 7; // TakeProfit3
input int BBPeriod3 = 30; // Bands Period3
input double BBDev3 = 2; // Bands Deviation3
input double Razmah3 = 450; // Bands Deviation3 in Points
input int Start3 = 0; // Start Time3
input string Symbol4 = "NZDUSD"; // Symbol4 Name
input int StopLoss4 = 3; // StopLoss4
input int TakeProfit4 = 7; // TakeProfit4
input int BBPeriod4 = 30; // Bands Period4
input double BBDev4 = 2; // Bands Deviation4
input double Razmah4 = 200; // Bands Deviation4 in Points
input int Start4 = 0; // Start Time4
input string Symbol5 = "EURUSD"; // Symbol5 Name
input int StopLoss5 = 3; // StopLoss5
input int TakeProfit5 = 7; // TakeProfit5
input int BBPeriod5 = 30; // Bands Period5
input double BBDev5 = 2; // Bands Deviation5
input double Razmah5 = 450; // Bands Deviation5 in Points
input int Start5 = 0; // Start Time5
input string Symbol6 = "EURUSD"; // Symbol6 Name
input int StopLoss6 = 3; // StopLoss6
input int TakeProfit6 = 7; // TakeProfit6
input int BBPeriod6 = 30; // Bands Period6
input double BBDev6 = 2; // Bands Deviation6
input double Razmah6 = 200; // Bands Deviation6 in Points
input int Start6 = 0; // Start Time6
input string Symbol7 = "USDCHF"; // Symbol7 Name
input int StopLoss7 = 3; // StopLoss7
input int TakeProfit7 = 7; // TakeProfit7
input int BBPeriod7 = 30; // Bands Period7
input double BBDev7 = 2; // Bands Deviation7
input double Razmah7 = 450; // Bands Deviation7 in Points
input int Start7 = 0; // Start Time7
input string Symbol8 = "USDCHF"; // Symbol8 Name
input int StopLoss8 = 3; // StopLoss8
input int TakeProfit8 = 7; // TakeProfit8
input int BBPeriod8 = 30; // Bands Period8
input double BBDev8 = 2; // Bands Deviation8
input double Razmah8 = 200; // Bands Deviation8 in Points
input int Start8 = 0; // Start Time8
input string Symbol9 = "AUDNZD"; // Symbol9 Name
input int StopLoss9 = 3; // StopLoss9
input int TakeProfit9 = 7; // TakeProfit9
input int BBPeriod9 = 30; // Bands Period9
input double BBDev9 = 2; // Bands Deviation9
input double Razmah9 = 200; // Bands Deviation9 in Points
input int Start9 = 0; // Start Time9
input double Lot = 0.1; // Trade Volume
int BBHandle=0,bars=0;
double up[1],dn[1];
CTrade trade;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Count Trades on Symbol |
//+------------------------------------------------------------------+
int CountTrades(string Symb)
{
int count=0;
for(int i=PositionsTotal()-1;i>=0;i--)
{
if(PositionGetSymbol(i)==Symb)
{
if(PositionGetInteger(POSITION_TYPE)<2) count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
//| Symbols Trade Function |
//+------------------------------------------------------------------+
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);
}
//+------------------------------------------------------------------+
//| Close All Positions on Symbol |
//+------------------------------------------------------------------+
void CloseAll(string Symb)
{
for(int i=PositionsTotal()-1;i>=0;i--)
{
if(PositionGetSymbol(i)==Symb)
{
if(PositionGetInteger(POSITION_TYPE)<2) trade.PositionClose(Symb);
}
}
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
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);
if(Symbol4!="") SymbolTrade(Symbol4,StopLoss4,TakeProfit4,BBPeriod4,BBDev4,Razmah4,Start4);
if(Symbol5!="") SymbolTrade(Symbol5,StopLoss5,TakeProfit5,BBPeriod5,BBDev5,Razmah5,Start5);
if(Symbol6!="") SymbolTrade(Symbol6,StopLoss6,TakeProfit6,BBPeriod6,BBDev6,Razmah6,Start6);
if(Symbol7!="") SymbolTrade(Symbol7,StopLoss7,TakeProfit7,BBPeriod7,BBDev7,Razmah7,Start7);
if(Symbol8!="") SymbolTrade(Symbol8,StopLoss8,TakeProfit8,BBPeriod8,BBDev8,Razmah8,Start8);
if(Symbol9!="") SymbolTrade(Symbol9,StopLoss9,TakeProfit9,BBPeriod9,BBDev9,Razmah9,Start9);
}
bars=Bars(NULL,0);
}
//+------------------------------------------------------------------+
