Помощь с роботом МТ5 на мос бирже - страница 2

 
prostotrader:

1. Выкидываем Ваши функции:

вставляем одну:

2. Выкидываем (отмеченное желтым)

Используем

Далее посмотрю в дебагере как Ваш код будет работать на демо (завтра)

TimeToStruct(TimeCurrent(),tm);

TimeCurrent способен самостоятельно возвращать в структуру типа MqlDateTime. Достаточно писать:

TimeCurrent(tm);
 
prostotrader:

1. Выкидываем Ваши функции:

вставляем одну:

2. Выкидываем (отмеченное желтым)

Используем

Далее посмотрю в дебагере как Ваш код будет работать на демо (завтра)

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

 

Большое спасибо за ответы, попробую применить все насколько смогу. Проблема в том что данный робот писался на заказ (оба варианта у одного исполнителя) так как сам в этом плохо разбираюсь. По словам исполнителя в коде всё правильно и проблема в брокере ,но смущает тот факт что одни и те же проблемы сразу у 2 брокеров. Поэтому решил Поинтересоваться мнением со стороны. Так как если не получится добиться правильной работы от 1 из 2 вариантов (обычное и виртуальное трал/БУ) то есть мысль сделать через визуальные объекты, исполнение с помощью линий на графике(если такое вообще возможно) 

Стратегия рабочая и прибыльна, руками получается правда только на 4 часовом графике , а хотелось бы опуститься на 1 час и автоматизировать. С помощью варианта№1(который почему то в тестере работает как нужно) был произведён анализ за 3 года по реальным тикам и из 12 кварталов 10-12 закрываются в хороший "+" с очень малой просадкой, редкие "-" тоже очень маленькие. Хотелось бы использовать на 9 фьючерсах на пробой и этих же 9 фьючерсов на отскок (с другими настройками), что привело бы к самым минимальным возможным убыткам. Но к сожалению не получается доделать робота уже несколько месяцев. 

Мог бы заказать у другого исполнителя но в результате уже боюсь получить тот же не рабочий вариант при переделке по 7-8 раз. при выборе ориентировался на показатели выполнения/рейтинг/ арбитраж, со средней ценой(по ним он был лучший из всех кто откликнулся) и предварительно пообщавшись на наличие знаний в создании роботов именно для мос биржи. Кстати после этого уточнения и отказалось половина исполнителей(.

 
Dmi3:

TimeCurrent способен самостоятельно возвращать в структуру типа MqlDateTime. Достаточно писать:

Вообще-то лучше использовать

TimeTradeServer(tm);
 
snithez:


Только сейчас заметил этот код

enum typea
  {
   Hedge=0,//хэдж форекс
   Netting=1,//неттинг форекс
   Forts=2//фортс
  };
//+---

Вы хотите и на ФОРЕКСе и на ФОРТС торговать этим советником?

Т.е у Вас нет опыта торговли на фортс?

 
prostotrader:

Вообще-то лучше использовать

Я размышлял на эту тему, но пока не пришел к такому выводу. Использую так, как написал.

 
Dmi3:

Я размышлял на эту тему, но пока не пришел к такому выводу. Использую так, как написал.

Ваше право, НО

TimeCurrent

Возвращает последнее известное время сервера


TimeTradeServer

Возвращает расчетное текущее время торгового сервера. В отличие от функции TimeCurrent(),

расчет значения времени производится в клиентском терминале и зависит от настроек времени на компьютере пользователя.

-----------------------

А последнее известное время терминал узнает от котировок символов, которые находятся в Обзоре рынка.

Если в обзоре 1 символ и последняя котировка пришла минуту назад, то Вы и получите время с опозданием в минуту.


 
prostotrader:

Ваше право, НО

TimeCurrent

Возвращает последнее известное время сервера


TimeTradeServer

Возвращает расчетное текущее время торгового сервера. В отличие от функции TimeCurrent(),

расчет значения времени производится в клиентском терминале и зависит от настроек времени на компьютере пользователя.

-----------------------

А последнее известное время терминал узнает от котировок символов, которые находятся в Обзоре рынка.

Если в обзоре 1 символ и последняя котировка пришла минуту назад, то Вы и получите время с опозданием в минуту.


Спасибо, теорию я знаю.

У меня нет такого терминала, в котором был бы всего один символ в окне Обзора рынка. В любом терминале там есть Si-Х.ХХ, являющийся наиболее ликвидным.

В моем понимании в TimeCurrent() время транслируется биржей в ценовом потоке, для меня это более достоверный источник информации, чем время непонятного Торгового Сервера. Вон у MQ время сервера на VPS какое то кривое было пару лет назад, не знаю как сейчас. Да и вообще время, которое рисует терминал в моих сделках, потом никогда не совпадает с временем этих сделок, прописанном в Ордерлоге биржи.

Так что я пока останусь на TimeCurrent().

 
prostotrader:

Только сейчас заметил этот код

Вы хотите и на ФОРЕКСе и на ФОРТС торговать этим советником?

Т.е у Вас нет опыта торговли на фортс?

наоборот, можно сказать что нет опыта на ФОРЕКСЕ. Просто изначально просил под мос биржу в частности именно срочного рынка для торговли фьючерсами. Но исполнитель добавил возможность торговать в 3 вариантах. В тз этого не было но и не мешает)

 
Dmi3:

Спасибо, теорию я знаю.

У меня нет такого терминала, в котором был бы всего один символ в окне Обзора рынка. В любом терминале там есть Si-Х.ХХ, являющийся наиболее ликвидным.

В моем понимании в TimeCurrent() время транслируется биржей в ценовом потоке, для меня это более достоверный источник информации, чем время непонятного Торгового Сервера. Вон у MQ время сервера на VPS какое то кривое было пару лет назад, не знаю как сейчас. Да и вообще время, которое рисует терминал в моих сделках, потом никогда не совпадает с временем этих сделок, прописанном в Ордерлоге биржи.

Так что я пока останусь на TimeCurrent().

Согласен, самое страшное и неадекватное в некоторых функциях

озвращает расчетное текущее время торгового сервера. В отличие от функции TimeCurrent(),
расчет значения времени производится в клиентском терминале и зависит от настроек времени на компьютере пользователя

Это две абсолютно разные инстанции, время сервера и время компьютера. Вообще нельзя учитывать время компьютера, оно может отличатся на пол-минуты.

Причина обращения: