[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 576

 
Minodi >>:

Вот так?

if (OrderSelect(OrdersTotal(), SELECT_BY_POS, MODE_TRADES)) {

ot=OrdersTotal();

if (ot<1){

неа, если всего один эксперт работает и ордера не больше одного должны открываться, можно так (для начала)

if(OrdersTotal()==0 && /* все остальные твои условия*/)
 
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает
ты сначала найди тактику, протестируй, потом уже будешь волноваться о параллельных советниках и левых ордерах.
 

Подскажите, есть определение времени ежедневного хая и лоу:

if (time!=Time[0]){HiTime=0;LoTime=0;time=Time[0];}

if (High[0]>HiPrice)HiTime=TimeCurrent();

if (Low[0]<LoPrice)LoTime=TimeCurrent();

Необходимо время хая/лоу сравнить с заданным дневным. Например 22.00.

Можно ли прописать вот так:

datetime TimeE;

int h=22, m=00, ot;

TimeE=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+h+":"+m);

 

Тактика есть, но советник открывает как то криво.

Наверно не правильно определяю время 22.00 для условия.

Если его надо обнулять то как?

 

Подскажите пожалуйста, что это за индюк? Куда можно перенести этот вопрос?

 

 

Помогите довести советник. Идея проста - если Хай позже Лоу и после 22,00 - покупаем с текущих. и так же если лоу позже хая и после 22,00 - продаем с текущих. Время открытия ордеров задается. Стоп и профит фиксированный.

На деле получилось, что открывает иногда правильно, а иногда не по условии.

Файлы:
 
Minodi >>:
А если есть открытый ордер? или даже несколько? получится эксперт не сработает


Я делаю проще. Но в этом случае при переустановке советника он откроет новый ордер.

if(FLAG_ORDER == NO && Signal_OPEN == OPEN_SELL)
{
   TICKET_SELL = OrderSend(Symbol(),OP_SELL,Lot,Bid,5,0,0,NULL,0,0,CLR_NONE);
   ERROR = GetLastError();
   switch(ERROR)  
   {  
     case 0 : FLAG_ORDER = YES;
              Signal_OPEN = NO;
              Error("Set SELL: ",ERROR);
              if(Sound_ON == true) PlaySound(Name_Sound_Open);
              return(0);
     default: Error("Set SELL: ",ERROR); return;  
   }
}

 
а как код в топик вставить, чтобы он был подсвеченый?
 

При работе этого советника на реале очень часто появляется ошибка 146.

Можно ли сделать так, чтобы советник делал несколько попыток открыть ордер, скажем, с паузой полминуты?

Причина обращения: