extern double LotSize=10;
extern int Slippage=3;
extern double StopLoss=0;
extern double TakeProfit=700;
extern double RiskPercent=2.0;
extern bool UseMoneyMgmt=false;
extern bool BrokerPermitsFractionalLots = true;
extern bool UseDefaultRSI_Period = false;
extern int RSI_Period = 4;
extern double RSI_Overbought_Value = 75.0;
extern double RSI_Oversold_Value = 25.0;
int MagicNumber = 0;
int ticket;
int OpenBuyOrders = 0;
int OpenSellOrders = 0;
int i;
bool Buy_Mode = false, Sell_Mode = false;
double RSI_Day_1 = 0, RSI_Day_2 = 0, RSI_Day_3 = 0, SMA200_Day3 = 0;
double MM_MinLotSize = 0;
double MM_MaxLotSize = 0;
double MM_LotStep = 0;
double MM_Decimals = 0;
double MM_OrderLotSize = 0;
int MM_AcctLeverage = 0;
int MM_CurrencyLotSize = 0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
Calc_Money_Management();
SMA200_Day3 = iMA(NULL,PERIOD_D1,200, 0, MODE_SMA, PRICE_CLOSE, 1);
RSI_Day_1 = iRSI(NULL, PERIOD_D1, RSI_Period, PRICE_CLOSE, 3);
RSI_Day_2 = iRSI(NULL, PERIOD_D1, RSI_Period, PRICE_CLOSE, 2);
RSI_Day_3 = iRSI(NULL, PERIOD_D1, RSI_Period, PRICE_CLOSE, 1);
if (RSI_Day_1 < 65 && RSI_Day_2 < RSI_Day_1 && RSI_Day_3 < RSI_Day_2 && Close[1] > SMA200_Day3)
{
Buy_Mode=true;
} else {
Buy_Mode=false;
}
if (RSI_Day_1 > 35 && RSI_Day_2 > RSI_Day_1 && RSI_Day_3 > RSI_Day_2 && Close[1] < SMA200_Day3)
{
Sell_Mode=true;
} else {
Sell_Mode=false;
}
if (OpenBuyOrders == 1 && (RSI_Day_3 > RSI_Overbought_Value || Close[1] < SMA200_Day3))
{
CloseLongs(MagicNumber);
OpenBuyOrders = 0;
}
if (OpenSellOrders == 1 && (RSI_Day_3 < RSI_Oversold_Value || Close[1] > SMA200_Day3))
{
CloseShorts(MagicNumber);
OpenSellOrders = 0;
}
OpenBuyOrders=0;
OpenSellOrders=0;
for (i = 0; i <= OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == MagicNumber))
{
if (OrderType() == OP_BUY)
{
OpenBuyOrders++;
if ((iSAR(NULL,0,0.02,0.2,1) > OrderStopLoss()) && (Bid > iSAR(NULL,0,0.02,0.2,1)) && (OrderOpenPrice() < iSAR(NULL,0,0.02,0.2,1)) && (iSAR(NULL,0,0.02,0.2,1) > iSAR(NULL,0,0.02,0.2,2)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),iSAR(NULL,0,0.02,0.2,1),OrderTakeProfit(),0,Blue);
Print("Order # ",OrderTicket()," updated at ",Hour(),":",Minute(),":",Seconds());
return(0);
}
}
if (OrderType() == OP_SELL)
{
OpenSellOrders++;
if ((iSAR(NULL,0,0.02,0.2,1) < OrderStopLoss()) && (Ask < iSAR(NULL,0,0.02,0.2,1)) && (OrderOpenPrice() > iSAR(NULL,0,0.02,0.2,1)) && (iSAR(NULL,0,0.02,0.2,1) < iSAR(NULL,0,0.02,0.2,2)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),iSAR(NULL,0,0.02,0.2,1),OrderTakeProfit(),0,Blue);
Print("Order # ",OrderTicket()," updated at ",Hour(),":",Minute(),":",Seconds());
return(0);
}
}
}
}
if (Buy_Mode==true && OpenBuyOrders==0)
{
if(OpenSellOrders > 0)
{
CloseShorts(MagicNumber);
OpenSellOrders = 0;
}
if(Показано первые 50% кода (символов: 8522)
Введите ваш email и нажмите кнопку, чтобы перейти к оплате.