Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1007

[Deleted]  

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

Вот такой пример:

string str = "String1\nString2\nString3\n";
 
flajelet:

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

Вот такой пример:

Может поможет 
 
Всем здравствуйте) подскажите пожалуйста как выделить период времени ( например -  найти максимум,минимум за 1 прошедший или текущий день ) или например за прошлые 7 дней 
 
Tema97:
Всем здравствуйте) подскажите пожалуйста как выделить период времени ( например -  найти максимум,минимум за 1 прошедший или текущий день ) или например за прошлые 7 дней 

Может поможет https://docs.mql4.com/ru/series/ihighest и https://docs.mql4.com/ru/series/ilowest

 
AlexeyVik:
AlexeyVik:
Нет. Надо 2 часа перевести в секунды (2*60*60) и прибавить 15 минут переведённые в секунды(15*60). Тогда будет правильно.

Спасибо! А какая запись в этом случае будет правильная?

 if (OrderOpenTime()+2*60*60+15*60 <=TimeCurrent()) Cls_Buy=true;

Так правильно? 

 
Ratmirf:
или if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;?
 
AlexeyVik:
Нет. Надо 2 часа перевести в секунды (2*60*60) и прибавить 15 минут переведённые в секунды(15*60). Тогда будет правильно.

То есть вот так получается правильно?

 if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;

 if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;

и в итоге вот так? 

 if (OrderOpenTime()+8100 <=TimeCurrent())      Cls_Buy=true;

 
Всем доброго времени суток. Суть - для каждого открытого рыночного ордера (имеются тэйк профиты и стоплоссы) выставляется отложенный в противоположном направлении при срабатывании стоплосса( если ордер buy, то отложенный send). Никак не соображу последовательность синтаксиса, что бы написать скрипт удаляющий отложенные ордера при закрытии текущего по тэйк профиту ? Может уже есть написанный скрипт среди бесплатных, но поиск безуспешен ( . Хочу сам написать, что бы в этом разбираться, но не могу понять последовательность синтаксиса. Поясню на другом примере - я хочу мороженное - последовательность синтаксиса - 1) - оторваться от дивана 2) Одеться 3) Дойти до магазина 4) Купить мороженное. Можно ли расписать так же для моей задачи?
 
Stereosin:
Всем доброго времени суток. Суть - для каждого открытого рыночного ордера (имеются тэйк профиты и стоплоссы) выставляется отложенный в противоположном направлении при срабатывании стоплосса( если ордер buy, то отложенный send). Никак не соображу последовательность синтаксиса, что бы написать скрипт удаляющий отложенные ордера при закрытии текущего по тэйк профиту ? Может уже есть написанный скрипт среди бесплатных, но поиск безуспешен ( . Хочу сам написать, что бы в этом разбираться, но не могу понять последовательность синтаксиса. Поясню на другом примере - я хочу мороженное - последовательность синтаксиса - 1) - оторваться от дивана 2) Одеться 3) Дойти до магазина 4) Купить мороженное. Можно ли расписать так же для моей задачи?

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

примерно как-то так(тут наоборот, удаляются отложники, если выставленный ранее бай закрылся по профиту): 

 for(int m=OrdersTotal()-1;m>=0;m--)
   if(OrderSelect(m,SELECT_BY_POS,MODE_TRADES)) 
     if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic) {  
    
      if(OrderType()==OP_BUY)  sBuy++; 
      if(OrderType()==OP_SELL) sSell++;
       
      if(OrderType()==OP_BUYLIMIT)
       if(sBuy==0 || sSell>0) OrderDelete(OrderTicket());
      if(OrderType()==OP_SELLLIMIT) 
       if(sSell==0 || sBuy>0) OrderDelete(OrderTicket());
  }
 
Ratmirf:

То есть вот так получается правильно?

 if (OrderOpenTime()+7200+15*60 <=TimeCurrent()) Cls_Buy=true;

 if (OrderOpenTime()+7200+900 <=TimeCurrent()) Cls_Buy=true;

и в итоге вот так? 

 if (OrderOpenTime()+8100 <=TimeCurrent())      Cls_Buy=true;

Ну это-же математика средней школы... Будь немножко поуверенней в себе.