[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 508

 
IgorM:
может быть совпадение, но вчера у меня на работе отказался работать 229 билд, установил 402-й - удачно получил SL, лучше бы не устанавливал :(
Вчера в 19-03 gmt 225-й билд странным образом остановился. Связь была, котировки поступали, но график стоял. Обнаружил только утром, на треугольниках состояния соединения мигала надпись "Общая ошибка", логи с этого момента забиты ошибкой памяти. Утром перегрузился, все пошло. Буду смотреть все индикаторы, видимо, причина в них, поскольку билд стабильный.
 
Доброго времени суток всем, подскажите если кто в курсе чем отличается комментарий закрытого ордера tp от tp/a ? Может кто даст расшифровку tp/a ?
 
Есть ли у кого пример ф-ции закрывающая все сделки если им больше какого то времени жизни. Например закрыть все сделки, которые открыты больше часа.
 
nuan:
Есть ли у кого пример ф-ции закрывающая все сделки если им больше какого то времени жизни. Например закрыть все сделки, которые открыты больше часа.

От себя могу порекомендовать следующее - при открытии ордера (-ов) - запоминаете в какой либо переменной типа (дейтайм их...)его(их) характеристику(-и) - время открытия(-ий), далее сравниваете текущее время с этой (этими) переменными - если оно больше часа - кроете их все стандартной ф-ией - все. Т.е. типа этого (проходите циклом по всем Вашим ордерам в рынке и используя ф-ию ОрдерСелект сравниваете условие:
if (OrderOpenTime+1*60*60<TimeCurrent) 
    {
      //то кроете их все "стандартной" ф-ией
    }
 

Спасибо

 
nuan:
Есть ли у кого пример ф-ции закрывающая все сделки если им больше какого то времени жизни. Например закрыть все сделки, которые открыты больше часа.

https://docs.mql4.com/ru/trading/OrderOpenTime

Сравнить с текущим временем и сделать выводы.

 

Подскажите пожалуйста, что нужно изменить в этом коде, чтобы советник вместо бая открывал селл и наоборот...

int X=0;

double S = 0.0000;

extern double lot=0.1;

extern double koef=1.5;

extern int SL=10;

extern int TP=10;

double dl;

double a;


int init()

{

a=lot;

return(0);

}


int deinit()

{


return(0);

}



int start()

{

S=Open[0];

Sleep(1000);

if(OrdersTotal() == 0 && X==1)

{

if (Close[0]>dl){lot=a;}

X=0;

}

if(OrdersTotal() == 0 && X==2)

{

if (Close[0]<dl){lot=a;}

X=0;

}

if (OrdersTotal() == 0 && Close[0]>S && Close[1]>Open[1])

{

dl=Close[0];

OrderSend(Symbol(),OP_BUY,lot,Ask,3,Ask-SL*0.0001,Ask+TP*0.0001,"",14774,0,Blue);

lot=lot*koef;

X=1;

}

if(OrdersTotal() == 0 && Close[0]<S && Close[1]<Open[1])

{

dl=Close[0];

OrderSend(Symbol(),OP_SELL,lot,Bid,3,Bid+SL*0.0001,Bid-TP*0.0001,"",14774,0,Red);

lot=lot*koef;

X=2;

}


return(0);

}

 
ALigarx:

Подскажите пожалуйста, что нужно изменить в этом коде, чтобы советник вместо бая открывал селл и наоборот...


По-нормальному, поставь код - подскажем... через SRC - в редакторе.
 
Roman.:

По-нормальному, поставь код - подскажем... через SRC - в редакторе.
Увы в программировании не шарю, в предыдущем посте я нажимал на "изменить эксперта" и оттуда копировал код, а как через SRC? и что это такое? получается, что я не правильно скопировал исходный код?
Причина обращения: