Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 119

 
STARIJ:

Посмотрите, что в других буферах...

так их на экране всего 8

Пытаюсь вытащить данные из буферов потому что не получается из файлов
 
Mickey Moose:

так их на экране всего 8

Пытаюсь вытащить данные из буферов потому что не получается из файлов

Буферов может быть больше -часть в окне данных может быть запрещен функцией: SetIndexLabel(1, NULL);  Посмотрите содержимое буферов с нулевого по десятый. Посмотрите, соответствуют ли получаемые Вами значения и видимы. Мышиный курсор подводите к тому бару, номер которого стоит в функции iCustom. Проверьте, кок зависит результат функции от количества параметров (параметры по умолчанию). Для ускорения процесса на время отладки используйте скрипт и функцию Alert вместо записи в файл. В начале скрипта поставьте Alert("---------------------") отчеркнет последние выведенные на экран значения. В общем, это очень увлекательно и интересно и есть в чем покопаться

 
STARIJ:

Буферов может быть больше -часть в окне данных может быть запрещен функцией: SetIndexLabel(1, NULL);  Посмотрите содержимое буферов с нулевого по десятый. Посмотрите, соответствуют ли получаемые Вами значения и видимы. Мышиный курсор подводите к тому бару, номер которого стоит в функции iCustom. Проверьте, кок зависит результат функции от количества параметров (параметры по умолчанию). Для ускорения процесса на время отладки используйте скрипт и функцию Alert вместо записи в файл. В начале скрипта поставьте Alert("---------------------") отчеркнет последние выведенные на экран значения. В общем, это очень увлекательно и интересно и есть в чем покопаться

Так и есть, весь вопрос в том как взять данные из нужного поля способами MQL4. Например из алерта?

Они то все на виду.

 
ДОБРЫЙ ДЕНЬ ! Помогите или дайте наводку! Есть две горизонтальные линии с значениями цены! Хотелось бы: Записывать в файл - Символ, значения линий. Считывать из файла - Символ, значения линий. Идея в том, что уровни строю на Демо терминале, а затем переношу параметры на Лайф терминал установленный на сервере!
 
Rewerpool:
ДОБРЫЙ ДЕНЬ ! Помогите или дайте наводку! Есть две горизонтальные линии с значениями цены! Хотелось бы: Записывать в файл - Символ, значения линий. Считывать из файла - Символ, значения линий. Идея в том, что уровни строю на Демо терминале, а затем переношу параметры на Лайф терминал установленный на сервере!

На водку никто не даст, здесь все жадные :)

 
А теперь по моей проблеме. Местные специалисты напоминают мне моего соседа по парте (ох, как давно это было) - он знал все правила, все формулы, но когда какую применить, сразу сообразить не мог, и перебирал чуть ли не все подряд, из-за чего никогда на укладывался в отведенное время. Так и здесь: знают много, а решения проблемы не видят, работают методом "научного тыка". В институте нас учили - решайте проблему без цифр и формул, и только потом вы четко будете знать, какие формулы применить. Новички в МКЛ4 не понимают тонкостей языка, и именно в этом им нужна помощь (только не в смысле "читай учебник"). Да только показать подводные камни при открытии/закрытии позиций никто не может. Может сами не знают? Поэтому и спустили мой вопрос на тормозах...
 
novichok2018:

На водку никто не даст, здесь все жадные :)

Правильно, усе по правилам

Вечером деньги - утром стулья.

Утром деньги - вечером стулья

 
novichok2018:
Поэтому и спустили мой вопрос на тормозах...

Так а где вопрос то? Прослистал пару страниц назад - нет.

 
Ihor Herasko:

Так а где вопрос то? Прослистал пару страниц назад - нет.

В посте 1149 код закрытия позиций Решение наполовину: только если открываются однотипные позиции. Если же например, сначала открылась СЕЛЛ и ещё не закрылась, а в это время открывается и закрывается БАЙ то СЕЛЛ уже не видит условий для своего закрытия до того момента, как откроется и закроется (по своим условиям) другая СЕЛЛ. И если вдруг опять откроются и закроются БАЙ, то она опять пропускает свои условия закрытия. И как быть?

 
novichok2018:

В посте 1149 код закрытия позиций Решение наполовину: только если открываются однотипные позиции. Если же например, сначала открылась СЕЛЛ и ещё не закрылась, а в это время открывается и закрывается БАЙ то СЕЛЛ уже не видит условий для своего закрытия до того момента, как откроется и закроется (по своим условиям) другая СЕЛЛ. И если вдруг опять откроются и закроются БАЙ, то она опять пропускает свои условия закрытия. И как быть?

Ага, вижу. И ответ на вопрос вижу постом ниже https://www.mql5.com/ru/forum/160587/page115#comment_6521492. Другими словами, проблема в том, что функционал не разделен на логические подзадачи. Вы свалили в кучу: перебор ордеров, принятие решения о торговом действии и совершение торговой операции.

Такая задача решается именно в три этапа:

  1. Сбор информации об ордерах, за которыми должна следить программа. Это как раз цикл перебора ордеров, который у Вас уже есть. Результатом выполнения цикла должно быть формирование массива ордеров.
  2. Расчет торговых сигналов. Результат расчета - команда открытия и/или закрытия ордеров. Зависит от торговой стратегии. Раньше, когда не было перечислений (enum) я использовал коды: 0 - нет сигнала, 1 - открыть Buy, -1 - открыть Sell, 2 - закрыть Buy, -2 - закрыть Sell. 
  3. Выполнение одной торговой операции. Если имеется какой-то торговый сигнал и для него подходит один из ордеров (п. 1), то совершается одна торговая операция. После нее весь алгоритм перезапускается, начиная с п. 1. В некоторых случаях даже происходит выход из OnTick  с тем, чтобы продолжить все на следующем тике.
Вопросы от начинающих MQL4 MT4 MetaTrader 4
Вопросы от начинающих MQL4 MT4 MetaTrader 4
  • 2018.02.09
  • www.mql5.com
Если у Вас вопросы по MQL4, MT4, MetaTrader 4, пожалуйста пишите в этой теме. Особенно когда вопросы касаются торговых функций...
Причина обращения: