Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2321

 

Что-то у меня вот эти строки кода возвращают ноль. И по золоту, и по валютным парам. Это нормально?

Alert("Залог за 1 лот = ",NormalizeDouble(MarketInfo(Symbol(),MODE_MARGININIT),2)," ($)");
Alert("Нужно денег на 1 лот = ",NormalizeDouble(MarketInfo(Symbol(),MODE_MARGINMAINTENANCE),2)," ($)");
 
login3456 #:

Приветствую всех.

Кто нибудь знает, как программно (например индикатором), создать новый файл mq4 ?

А если подключить Kernel32.dll?

 
Добрый день, мне нужна помощь программиста. Суть такова имеем функцию, в которой выполняется действие x>-f, где x глобальная переменная, а f внешняя переменная и её значение имеет отрицательное значение extern f=-10; что произойдёт в таком случаи, сохранила отрицательное значение, или знак изменится ? помогите понять
 
ALEXANDR SPRAVCHIKOV #:
Добрый день, мне нужна помощь программиста. Суть такова имеем функцию, в которой выполняется действие x>-f, где x глобальная переменная, а f внешняя переменная и её значение имеет отрицательное значение extern f=-10; что произойдёт в таком случаи, сохранила отрицательное значение, или знак изменится ? помогите понять

 Скоро полночь. День прошел, а программисты так и не проявились. Что-то не так. Чисто из любопытства, что это за действие,- x>-f в функции, которую вы имеете? "Мы часто не понимаем, что видим, пока не узнаем на что смотрим."

 
ALEXANDR SPRAVCHIKOV #:
Добрый день, мне нужна помощь программиста. Суть такова имеем функцию, в которой выполняется действие x>-f, где x глобальная переменная, а f внешняя переменная и её значение имеет отрицательное значение extern f=-10; что произойдёт в таком случаи, сохранила отрицательное значение, или знак изменится ? помогите понять

А вам не приходила СМСка в голову, что проще и быстрей проверить результат распечатав нужное условие, чем ждать ответа от людей которых уже тошнит от таких вопросов¿

 
ALEXANDR SPRAVCHIKOV #:
Добрый день, мне нужна помощь программиста. Суть такова имеем функцию, в которой выполняется действие x>-f, где x глобальная переменная, а f внешняя переменная и её значение имеет отрицательное значение extern f=-10; что произойдёт в таком случаи, сохранила отрицательное значение, или знак изменится ? помогите понять

Отрицательное значение сохранится, если с этой переменной больше ни чего не делать. То есть, останется всё как есть. Ну сам-то подумай, вот есть топор, он красный, пожарный. Какого цвета он будет завтра, если его не перекрашивать?

 
ALEXANDR SPRAVCHIKOV #:
Добрый день, мне нужна помощь программиста. Суть такова имеем функцию, в которой выполняется действие x>-f, где x глобальная переменная, а f внешняя переменная и её значение имеет отрицательное значение extern f=-10; что произойдёт в таком случаи, сохранила отрицательное значение, или знак изменится ? помогите понять

Математика начальной школы: минус на минус дает плюс

в данном случае

f=-10;
x>-f --> x>-(-10) --> x>10
 

Всем привет!

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

Текущая не работает с шагом в спецификации символа 0.25 лота


Lots=NormalizeLot(0.3); // Лот рассчитанный по риску
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double NormalizeLot(double thelot)
{
  thelot=NormalizeDouble(thelot,LotDigit());
  double MinLot = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
  double MaxLot = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
  if(tLot<MinLot) {
    tLot=MinLot;
  }
  if(tLot>MaxLot) {
    tLot=MaxLot;
  }
  return(tLot);
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int LotDigit()
{
  double lotStep = SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_STEP);
  return((int)MathCeil(MathAbs(MathLog(lotStep)/MathLog(10))));
}

--

Спасибо!
 
Vitaly Muzichenko #:

Всем привет!

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

Текущая не работает с шагом в спецификации символа 0.25 лота


--

Спасибо!

Думать лень, но 0.25 это 2^-2, два двоичных знака после точки.

 
Vitaly Muzichenko #:

Всем привет!

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

Текущая не работает с шагом в спецификации символа 0.25 лота


--

Спасибо!
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double NormalizeLot(double thelot)
{
  double tLot=0;
  double MinLot = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
  double MaxLot = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
  double lotStep = SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_STEP);
  tLot=NormalizeDouble(thelot/lotStep,0)*lotStep;
  if(tLot<MinLot) {
    tLot=MinLot;
  }
  if(tLot>MaxLot) {
    tLot=MaxLot;
  }
  return(tLot);
}
Причина обращения: