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

 
Nerd Trader #:
но второму боту нужен таймфрейм, вы не внимательно прочитали.

Это вы неправильно написали. Второму эксперту нужен таймфрейм, на котором был получен сигнал для входа (или открытия ордера). Тогда, используйте глобальную переменную для сохранения тайм фрейма (в первом роботе). И читайте её вторым роботом.

Документация по MQL5: Глобальные переменные терминала
Документация по MQL5: Глобальные переменные терминала
  • www.mql5.com
Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Кроме как создать массив где хранить ТФ ордеров предварительно считав их из комента ордера, может быть есть другой легкий способ передать ТФ в другой бот? Причем этот бот работает на удаленном сервере. Можно по сокету но для меня это пока сложно.
 
Mihail Matkovskij #:

Это вы неправильно написали. Второму эксперту нужен таймфрейм, на котором был получен сигнал для входа (или открытия ордера). Тогда, используйте глобальную переменную для сохранения тайм фрейма (в первом роботе). И читайте её вторым роботом.

так не получится, потому что бот запущен на удаленном сервере, поэтому я записываю ТФ в комент, всё бы ничего, но он перезаписывается тикетом когда часть объема закрываешь.

 
Nerd Trader #:
значит это бот, не суть. 

Как это не суть?! О том, что индикатор не производит торговых операций вам скажет любой программист. Изучите внимательно документацию, прежде чем приступать к разработке приложений.

Nerd Trader #:

так не получится, потому что бот запущен на удаленном сервере, поэтому я записываю ТФ в комент, всё бы ничего, но он перезаписывается тикетом когда часть объема закрываешь.

Тогда, пусть 1-й робот параллельно открывает рыночный или отложенный ордер с минимальным объёмом и туда можно будет записать комментарий, который не будет изменяться.

 
Nerd Trader #:
Кроме как создать массив где хранить ТФ ордеров предварительно считав их из комента ордера, может быть есть другой легкий способ передать ТФ в другой бот? Причем этот бот работает на удаленном сервере.

Этот вариант еще проще, чем я предложил.

Создайте массив из указателей на объекты: тикет - информация об ордере. Когда ордер закрылся, удаляете объект и удаляете указатель из массива. Ничего сложного. Но придется научиться работать с динамическими массивами, указателями и классами. Наверно, для вас что-то сказал страшное?... :)
 
Mihail Matkovskij #:

Как это не суть?! О том, что индикатор не производит торговых операций вам скажет любой программист. Изучите внимательно документацию, прежде чем приступать к разработке приложений.

Тогда, пусть 1-й робот параллельно открывает рыночный или отложенный ордер с минимальным объёмом и туда можно будет записать комментарий, который не будет изменяться.

Да плевать что он там не производит :) я можно сказать опечатку сделал.


<<Тогда, пусть 1-й робот параллельно открывает рыночный или отложенный ордер с минимальным объёмом и туда можно будет записать комментарий, который не будет изменяться. >>

ой не, спасибо :) упаси билл гейтс от таких манёвров.

 
Nerd Trader #:

так не получится, потому что бот запущен на удаленном сервере, поэтому я записываю ТФ в комент, всё бы ничего, но он перезаписывается тикетом когда часть объема закрываешь.

 чтобы зашить в ордер информацию о ТФ нужно использовать его магический номер. Только этот атрибут никогда не меняется. Условно все ТФ нужно по порядку пронумеровать и сгенерировать маг номер с учетом этого числа + оставить место для функции ID, тут лучше побитовые операции использовать 

 
Nerd Trader #:
я можно сказать опечатку сделал.


Нет. Никакая это не опечатка. Просто вы не понимаете разницу между роботом и индикатором. И это бросается в глаза любому программисту. Читайте документацию: https://www.mql5.com/ru/docs/runtime/running.

Цитата из статьи:

Каждый скрипт, сервис и эксперт работает в собственном отдельном потоке. Все индикаторы, рассчитываемые на одном символе, даже если они запущены на разных графиках, работают в одном потоке. Таким образом, все индикаторы на одном символе делят между собой ресурсы одного потока.
В индикаторах запрещены следующие функции:


Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Выполнение программ - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Mihail Matkovskij #:

Этот вариант еще проще, чем я предложил.

Создайте массив из указателей на объекты: тикет - информация об ордере. Когда ордер закрылся, удаляете объект и удаляете указатель из массива. Ничего сложного. Но придется научиться работать с динамическими массивами, указателями и классами. Наверно, для вас что-то сказал страшное?... :)

Дооо очень. Я себе представлял создать структуру с двумя дин. массивами tikets и timeframes, куда соответственно их названию помещаются значения.

 
Mihail Matkovskij #:

Нет. Никакая это не опечатка. Просто вы не понимаете разницу между роботом и индикатором. И это бросается в глаза любому программисту. Читайте документацию: https://www.mql5.com/ru/docs/runtime/running.

Цитата из статьи:

боже, ладно-ладно, вы только не нервничайте.
Причина обращения: