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

 
Roger:

Перед сравнением дробных чисел их необходимо нормализовать.

Спасибо, обязательно нормализирую потом, после грубого тестирования, чтоб не утяжелять работу. Или их сразу лучше нормализовать? Там просто параметры модификации случайно совпадали со сзачениями по которым я их выставлял. Поэтому терминал и не пропускал такую модификацию.
 
привет)) скажите возмоно ли спомощю mql4 передать например текущию цену на свой личный сайт?
 
veti-k:
привет)) скажите возмоно ли спомощю mql4 передать например текущию цену на свой личный сайт?

По идее да. https://docs.mql4.com/ru/common/SendFTP

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

 
 
rosomah:

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

А что, религия не позволяет сначала исправить все ошибки и только после этого начинать тестирования?
 
Есть ли функция, возвращающая значение времени, когда последний раз была заданная котировка? Если нет, то какими стандартными функциями можно воспользоваться для написания пользовательской функции соответствующего назначения?
 
iMAG:

А что, религия не позволяет сначала исправить все ошибки и только после этого начинать тестирования?


"А что, религия не позволяет сначала" Вам самому догадаться что некоторые ошибки показываются в " Журнале" терминала, в процессе тестирования? Ни один программист не похвастается, что у него в "Журнале" не всплывало ошибок, так что не порите чушь.

 
vradii:
Есть ли функция, возвращающая значение времени, когда последний раз была заданная котировка? Если нет, то какими стандартными функциями можно воспользоваться для написания пользовательской функции соответствующего назначения?

https://docs.mql4.com/ru/objects/ObjectGetShiftByValue

или так:

// Поиск ближайшей точки пробоя линии
void fBreakPoint(string Name                 // Имя пробоя
                ,int Bar1,double Price1      // Начать поиск
                ,double Speed                // Наклон линии
                ,int Bar2                    // Закончить поиск
                ,int& Bar,double& Price) {   // Пробой линии
   Bar=LastBar-1;
   Price=0;
   datetime Time1=Time[Bar1],
            Time2=Time[Bar2];
   if( Bar1<LastBar || Bar2<LastBar || Price1<Zero ) {
      if( РежимОтладки ) Print("***   "+Name+" - параметры пробоя: "
                    +DoubleToStr(Price1,Digits)+" ("+Bar1+"/"+TimeToStr(Time1)
                                            +")...("+Bar2+"/"+TimeToStr(Time2)+")");
      return;
   }
   int Step;
   double H, L, P;
   if( Bar2>Bar1 ) Step=1; else Step=-1;
   if( High[Bar1]-Price1>Zero
    && Price1-Low[Bar1]>Zero ) {             // Первый бар
      Bar=Bar1;
      Price=Price1;
      return;
   }
   while( Bar1!=Bar2 ) {
      H=High[Bar1];                          // Предыдущий бар
      L=Low[Bar1];
      P=Price1;
      Price1-=Step*Speed;                    // Текущий бар
      Bar1+=Step;
      if( ( High[Bar1]-Price1>Zero && P-L>Zero )
       || ( Price1-Low[Bar1]> Zero && H-P>Zero ) ) {
         Bar=Bar1;
         Price=Price1;
         return;
   }  }
   return;
}
 
rosomah:

Ввывел, спасибо, в разных вариациях, действительно значения бывает совпадает. Это я как понял случайность. Значения модификации случайно совпали у меня со значениями, по которым я их выставлял изначально. Но в общем то терминал сам сравнивает, и если значения совпадают, то он ордера не модифицирует и ошибку 1 выводит.
Не должно быть ни какой случайности при работе программы. Надо найти почему такое произошло и поправить.
 
что то нет уже такой активности как раньше. либо потерян интерес к программированию || большинство перешло на другой сайт || собрали работающих совков и жарятся где то в теплых краяха ))
Причина обращения: