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

 
Vladimir Pastushak:


Это не правильно, так же и в других примерах

Если Вы ставите стоп на 1,2356 и на новом тике снова ставите стоп на 1,2356  то получите ошибку  1

Это из первого блока. Я его изменил, но ошибка осталась. Это условие со стопом я сделал для того чтобы советник не делал лишних пробегов. И на новом тике советник не ставит снова тот же стоп - потому что после этого условия проверяются другие, например не равен ли стоп тому значению которое нужно установить

 
Alexandr Sokolov:

Это из первого блока. Я его изменил, но ошибка осталась. Это условие со стопом я сделал для того чтобы советник не делал лишних пробегов. И на новом тике советник не ставит снова тот же стоп - потому что после этого условия проверяются другие, например не равен ли стоп тому значению которое нужно установить

OrderStopLoss()

Все Order...... ()  нужно нормализовывать 

 
Vladimir Pastushak:

Все Order...... ()  нужно нормализовывать 

Это сделал - и оно тоже не помогло. При этом как и ранее у меня в тестере этой ошибки нет, а MQL её как-то находит

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

ENUM_TERMINAL_INFO_STRING

Идентификатор

Описание

Тип свойства

TERMINAL_LANGUAGE

Язык терминала

string

TERMINAL_COMPANY

Имя компании

string

TERMINAL_NAME

Имя терминала

string

TERMINAL_PATH

Папка, из которой запущен терминал

string

TERMINAL_DATA_PATH

Папка, в которой хранятся данные терминала

string

TERMINAL_COMMONDATA_PATH

Общая папка всех клиентских терминалов, установленных на компьютере

string


Документация по MQL5: Проверка состояния / TerminalInfoString
Документация по MQL5: Проверка состояния / TerminalInfoString
  • www.mql5.com
Проверка состояния / TerminalInfoString - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Кто может помочь решить проблему https://www.mql5.com/ru/forum/160683/page833#comment_11584454?
 
Artyom Trishkin:

Спасибо.

 
Seric29:
Кто может помочь решить проблему https://www.mql5.com/ru/forum/160683/page833#comment_11584454?

выполните один в один пример из статьи https://www.mql5.com/ru/articles/18

коды из статьи на 100% рабочие в МТ4, я в январе этого года проверял

как вариант, у Вас компиляция проекта под 64 битную dll, терминал МТ4 32-х разрядный, нужно настроить и скомпилировать проект под 32-х разрядную .dll

Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
  • www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...
 

Здравствуйте, уважаемые форумчане.

Объясните, пожалуйста, в каком случае правильно записан код, а в каком не правильно и почему (см. ниже)?

for (z=OrdersTotal()-1; z>=0; z --)
    {
      OrderSelect (z, SELECT_BY_POS);
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderMagicNumber()!=MAGIC) continue;
      if(OrderType()==OP_BUY)  CloseBUY();
    }
for(int i=OrdersTotal()-1;i>=0;i--)
            {
            if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            {
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic)
             {
             if(OrderType()==OP_BUY)  CloseBUY();
             }
            }
            }

Если можно, поподробнее. Спасибо.

 
novichok2018:

Здравствуйте, уважаемые форумчане.

Объясните, пожалуйста, в каком случае правильно записан код, а в каком не правильно и почему (см. ниже)?

Если можно, поподробнее. Спасибо.

вам даже компилятор в первом случае подсветит "результат OrderSelect должен проверяться" ;-)

если для первого изменить if (!OrderSelect(...)) continue; то варианты идентичны. 

в первом код визуально получается линеен, во втором любимой тут лесенкой. Я предпочитаю первый вариант, его читать проще и вообще возникновение глубоких логических вкладок {{{{ }}}} намекают что пора что-то менять :-)