#include <stdlib.mqh>
#include <WinUser32.mqh>
#define NewLine "\n"
#define SkipLine "\n\n"
#define Tab " "
extern double LotSize = 3;
extern int BrokerOffsetToGMT = 0;
extern int NumberOfOrdersPerSide = 1; // NumberOfOrdersPerSide X TakeProfitIncrement = Highest TakeProfit Level
extern int TakeProfitIncrement = 30;
extern bool EnterNOW = false;
extern bool Trade1 = true;
extern int Time1Hour = 6;
extern int Time1Minutes = 30;
extern bool Trade2 = true;
extern int Time2Hour = 9;
extern int Time2Minutes = 15;
extern bool Trade3 = true;
extern int Time3Hour = 12;
extern int Time3Minutes = 30;
extern bool Trade4 = true;
extern int Time4Hour = 23;
extern int Time4Minutes = 46;
extern int ExitMinute = 55;
extern int StopLoss = 20;
extern int PipsForEntry = 8;
extern int BreakEven = 10;
extern bool MovingStopLoss = true;
extern int PipsToStartMSL = 25;
extern int BarsForRange = 2;
int start() {
// код доступен только после оплаты
}
int ticket;
if(Bars<100) {
Print("bars less than 100");
return(0);
}
double TradeTime1 = (Time1Hour*3600)+(Time1Minutes*60);
double TradeTime2 = (Time2Hour*3600)+(Time2Minutes*60);
double TradeTime3 = (Time3Hour*3600)+(Time3Minutes*60);
double TradeTime4 = (Time4Hour*3600)+(Time4Minutes*60);
double TradeTime = OrderOpenTime();
double PFE = PipsForEntry;
double CurrentTime=(TimeHour(CurTime())*3600+TimeMinute(CurTime())*60-(BrokerOffsetToGMT*3600));
int total=OrdersTotal();
double Spread=Ask-Bid;
double hprice=High[Highest(NULL,0,MODE_HIGH,BarsForRange,0)]+Point*PFE+Spread;
double lprice=Low[Lowest(NULL,0,MODE_LOW,BarsForRange,0)]-Point*PFE;
int TPI=TakeProfitIncrement;
int i,j,k;
int Volume0 = Volume[0];
int Volume1 = Volume[1];
int Volume2 = Volume[2];
int Volume3 = Volume[3];
int Volume4 = Volume[4];
bool need_long = true;
bool need_short = true;
if ((CurrentTime==(TradeTime1-300)&& Trade1)
|| (CurrentTime==(TradeTime2-300)&& Trade2)
|| (CurrentTime==(TradeTime3-300)&& Trade3)
|| (CurrentTime==(TradeTime4-300)&& Trade4)) {
for(i = OrdersTotal(); i > 0; i--) {
OrderSelect(i, SELECT_BY_POS);
if(OrderSymbol()==Symbol()) {
bool result = false;
if(OrderType()==OP_BUYSTOP()) result = OrderDelete( OrderTicket() );
if(OrderType()==OP_SELLSTOP()) result = OrderDelete( OrderTicket() );
}
}//End for loop
}//End Closing All Open and Pending Orders
else {
for(total = OrdersTotal(); total > 0; total--) {
OrderSelect(total, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol()) {
int shift=iBarShift(NULL,0,OrderOpenTime(), true); //to get the number of bars back to the Open Bar
if(OrderType()==OP_BUY) {
if(High[Highest(NULL,0,MODE_HIGH,shift,0)]<OrderOpenPrice()+Point*BreakEven){
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderTakeProfit(),0,White);
Показано первые 50% кода (символов: 5028)
Введите ваш email и нажмите кнопку, чтобы перейти к оплате.