[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 522

 
нет. Эта проблема решена на будет.
 

А как можно реализовать изменение ордера, если его тейк профит не равен конкретной цене. Я сделал вот так

if(OrderTakeProfit() != buytakeprofit)
          {
          if(OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),buytakeprofit,OrderExpiration(),Green) == false)
            {
            Print("Ошибка модифицирования ордера ",GetLastError());
            }
          }
Например buytakeprofit равен 1.2555

Получается если тейк профит ордера НЕ равен 1.2555, то идет модификация ордера которая выдает ошибку 1, то есть получается что я пытаюсь выставить то же самое значение. Но если тейк профит уже равен этой цене, то почему тогда срабатывает условие OrderTakeProfit() != buytakeprofit

 

Потому что не нормализованно

double nd(double in){return(NormaliseDouble(in,Digits));}
/*-------------------------------------------------------*/
if(nd(OrderTakeProfit())!=nd(новая цена)){then GO!!! :);}
 
О, давно хотел просить -- зависимость скорости прокрутки на 32 скорости от движений мышки -- это так и задумано?
 

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

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

 
Alert(iBars(NULL, 1),"  ",GetLastError()); // получаем ошибку - 4066

// ждем мально, повторяем запрос, все нормально...
// потом обновляем окошко с этим таймфреймом вручную, и получаем вот такую запись в журнале:

2012.01.23 11:26:04     HistoryCenter: 3235 bars imported in 'SILVER1'

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

Программа после сгенерированной ошибки обратилась к историческому центру и получила необходимые котировки, но получается, что не все? Или как это понимать?

 
fore-x:

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

Программа после сгенерированной ошибки обратилась к историческому центру и получила необходимые котировки, но получается, что не все? Или как это понимать?

https://www.mql5.com/ru/forum/116126
 

Товарищи нужен совет. Что исправить, чтобы в файл записывались цены корректно. Сейчас бывает, что советник выдает то, что в красном кружочке см. рис. ниже. Прилагаю код советника и картинку о что записывается в файл)

//+------------------------------------------------------------------+
//|                                                          TP1.mq4 |
//|                                                      S.I.Shlikov |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "S.I.Shlikov"
#property link      ""
int init()  
  {
   string Name=Symbol();
   int h=FileOpen(Symbol()+"-"+Period()+".csv",FILE_CSV|FILE_WRITE|FILE_READ,";");
    if(h<1)
      {
      Print("Файл не найден : ", GetLastError());
      return(false);
      }
   FileSeek(h, 0, SEEK_END);
   FileWrite(h,"Date",Name,"Period",Period());
   FileClose(h);        
  }
int start()
  {
   int h=FileOpen(Symbol()+"-"+Period()+".csv",FILE_CSV|FILE_WRITE|FILE_READ,";");
    if(h<1)
      {
      Print("Файл C не найден : ", GetLastError());
      return(false);
      }
   string Wtime=TimeToStr(TimeCurrent(),TIME_DATE|TIME_MINUTES);
   FileSeek(h, 0, SEEK_END);
   FileWrite(h,Wtime,NormalizeDouble(Close[0], Digits));
   FileClose(h);   
   return(0);
  }

В итоге имеем:

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

 

А это у вас проблема с настройками Экселя. И нечего на советник пенять, просмотрите в блокноте в файле все хорошо.

Я как не бился с 2007 комплектом, не смог победить эту проблему окончательно. Выход один : чтобы эксель воспринимал ваши данные как цифровые значения добавляйте "+"перед положительными числами, а с отрицательными и так ясно.

 
Уже извинился перед своим MT4)) Проверил в txt, все показывает, спасибо, а то сидел бы и втыкался. Подскажите можно ли тиражировать, а именно, чтобы выгружались данные по EURUSD и по USDJPY???
Причина обращения: