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

 
Vitaly Muzichenko:

---

Но собирать в массив со строки нужно в OnInit()

Огромнейшее спасибо!Я рассматривал данный вариант,но ввиду своей безграмотности как кодера что то у меня пошло не так)),а вот теперь если позволите ещё один вопрос.
Всё работает,но возникает предупреждение: implicit conversion from 'string' to 'number' ,как его убрать??Возможно ли это??

 
Александр:
Огромнейшее спасибо!Я рассматривал данный вариант,но ввиду своей безграмотности как кодера что то у меня пошло не так)),а вот теперь если позволите ещё один вопрос.
Всё работает,но возникает предупреждение: implicit conversion from 'string' to 'number' ,как его убрать??Возможно ли это??

Перезалил код

 
Шикарно,супер.Космических успехов Вам в ваших трудах.Спасибо что помогаете.
 
Maxim Kuznetsov:

тут так принято...хорошего кода должно быть много.

У нас для этого другие есть…)))
 

Добрый день

Пробую создать  2 файла для копировщика МТ4-МТ5:

string path, path1;
    int hend; 
    path=CopierNumber+"MasterOrdersV.csv";   
    hend=FileOpen(path,FILE_CSV|FILE_WRITE,',');
    if(hend>0)
    {
        FileWrite(hend,"Symbol","Ticket","Lot size","Direction","Price","StopLoss","Takeprofit","Open time");
        FileClose(hend);
    }
    path1=CopierNumber+"MasterOrders.csv";    
    hend=FileOpen(path1,FILE_CSV|FILE_COMMON|FILE_WRITE|FILE_SHARE_READ,',');
    if(hend>0)
    {
        FileWrite(hend,"Symbol","Ticket","Lot size","Direction","Price","StopLoss","Takeprofit","Open time");
        FileClose(hend);
    } 
При пробе прочитать :

тот же код в МТ5 пишет все правильно:


Это у меня какие-то проблемы или в МТ4 что-то крякнуло?

 
Кажется дошел - проблема в Опен Офисе, спасибо
 

КОЛЛЕГИ, помогите с алгоритмом и мат функциями, можно просто мат функциями, задача закрыть позицию рыночную частями в кол-ве 5 частей.

Т.е. например,  рыночная позиция объемом 10.24 лота или 5.12 лот надо крыть примерно равными долями всего 5 долей. Можно одну оставшуюся - сделать больше остальных, типа ей слить остаток объема оставшегося после закрытий первых четырех частей.

Эта тема со справки по мат функциям не совсем подходит, по-моему, ее надо чем - то доукомплектовать.... КАК оптимальным образом считать лоты каждой из 5 долей (частей) для закрытия общей позиции.

Возвращает вещественный остаток от деления двух чисел.



double  MathMod( 
   double  value,      // делимое 
   double  value2      // делитель 
   );
 

Параметры

value

[in]  Значение делимого.

value2

[in]  Значение делителя.

Возвращаемое значение

Функция MathMod рассчитывает вещественный остаток f от val / y таким образом, что val = i * y + f , где i является целым числом, f имеет тот же знак, что и val, и абсолютное значение f меньше, чем абсолютное значение y.

Примечание

Вместо функции MathMod() можно использовать функцию fmod().
 
Roman Shiredchenko:

КОЛЛЕГИ, помогите с алгоритмом и мат функциями, можно просто мат функциями, задача закрыть позицию рыночную частями в кол-ве 5 частей.

Т.е. например,  рыночная позиция объемом 10.24 лота или 5.12 лот надо крыть примерно равными долями всего 5 долей. Можно одну оставшуюся - сделать больше остальных, типа ей слить остаток объема оставшегося после закрытий первых четырех частей.

Эта тема со справки по мат функциям не совсем подходит, по-моему, ее надо чем - то доукомплектовать.... КАК оптимальным образом считать лоты каждой из 5 долей (частей) для закрытия общей позиции.

деление на 5 частей - это деление на 5 :-)

lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите

lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты

 
Maxim Kuznetsov:

деление на 5 частей - это деление на 5 :-)

lots_1to4=NormalizeLots(lots/5); // лоты для 1,2,3,4 ; округление лота сами добавите

lots5 = NormalizeLots(lots - lots_1to4*5); // для 5 - оставшиеся лоты

О! Спс. Точно - через разность округленных в меньшую сторону и стартового общего объема!!! Округление через это же?

Возвращает ближайшее снизу целое числовое значение.



double  MathFloor( 
   double  val     // число 
   );
 

Параметры

val

[in]  Числовое значение.

Возвращаемое значение

Числовое значение, представляющее наибольшее целое число, которое меньше или равно val.

Примечание

Вместо функции MathFloor() можно использовать функцию floor().
 
Помогите сделать алерт для индикатора, не могу найти подобный с сигналом
Файлы:
Причина обращения: