В базовой версии ГМТ оффсета нет и не будет. Вопрос закрыт.
Следующий пост про ГМТ оффсет будет приравнен к флуду.
От Sergey5, 23 апреля, 2016 в Лаборатория ProfitFX
Не, ребята, давайте без мракобесия и высокомерия.
Про то, что для правильного выставления в боте времени торгов достаточно иметь пару извилин, я прочёл и счёл это оригинальной шуткой.
Время абсолютно, тесты и торги будут осуществляться в строго ограниченные часы/интервалы мировой торговой сессии/суток и идентифицированы часы торгов в сэтах должны быть так же точно, как и все остальные параметры бота.
То есть хочешь или не хочешь, будешь употреблять все слова или некоторые слова будут запрещены - но время торгов ботом в сэтах, выкладываемых на форуме, должно быть идентифицировано точно.
То есть типа "мой сэт подготовлен для торгов в течении 3-х часов в сутки, но не скажу и сами догадывайтесь каких" - это не вариант.
Причем однозначно не вариант: серверное время, например, Ф4ю и Робофорекс отличается на 1 час - и серверное время торгов ботом на любой паре в одном из этих ДЦ будет отличаться от времени торгов в другом ДЦ.
И при скачивании 99% котировок время пользователем может задаваться от балды, верно же?
Учитываю выраженную аллергию некоторой части форумчан на эталонное мировое время по Гринвичу, в бота можно не вводить выставление времени по Гринвичу, а оставить по времени сервера ДЦ.
Но тогда сэты должны сопровождаться каким-то пояснением какое ж всё таки абсолютное/мировое (или московское) время торгов ботом - в названии сэта или в его параметрах.
Наиболее разумным решением мне представляется введение в бота строковой внешней переменной типа комментария, текст в которую каждый пользователь сможет вписывать сам.
И вот в этом комментарии, перед сохранением сэта, стоит указывать валютную пару сэта, а также какой GMT был задан в 99% котировках, на которых готовился сэт - или название ДЦ теста сэта и его GMT, летний или зимний.
Время может быть указанно в комментарии хоть московское, хоть пекинское.
Но время торгов ботом в сэтах к одному из 24 часовых поясов однозначно привязано быть должно - пусть через комментарий.
Ну зачем нужна временная зона? Каждый знает, как работает его терминал по отношению к GMT. Зачем все усложнять? Не лучше ли работать по времени терминала а к сетам при необходимости добавлять gmt+.... Вроде бы прошли десятки страниц с вопросами по GMT?
Про ГМТоффсет.
Код открытый. Форум - свободный.
1. Свои эмоции выражайте в соответствующих разделах форума.
2. Берите опен соурс и создавайте свою ветку типа "Generric А-TLP + GMT".
3. Здесь - продуктивная работа по подбору пар и сетов для версии без ГМТоффсет.
В сетах будет указано, для какого ГМТ этот сет. Типа "хххххххххх.хххххх GMT+2".
spv,
можно один раз настроить нужное время и просто нажать в сете кнопку "сохранить".
spv,
можно один раз настроить нужное время и просто нажать в сете кнопку "сохранить".
СпойлерBTW, обнаружилось расхождение в работе WSA 1.4 и A-TPL 9.0. WSA на всех (7) ДЦ сделку на продажу EURCHF закрыла вечером в пятницу (одновременно), а A-TPL - на открытии рынка в понедельник. Поскольку A-TPL стоит в одном терминале, говорить о закономерности пока нельзя. Три другие сделки совпали полностью.
Изменено 1 августа, 2016 пользователем Sergey5
Хотел прооптимизировать по евродоллару и как-то отчаялся. Больше 2000 часов с 2010 по 2015 год по всем тикам. yur4ello, может есть возможность убрать из кода то, что тормозит оптимизацию и сделать версию чисто для оптимизации?
Код советника конечно можно оптимизировать. При написании я добавлял дополнительные проверки, вывод в журнал и в файл различных сообщений, для того, чтобы можно было понимать, что происходит внутри, почему открылись, почему не открылись и т.д. Если на данном этапе надобность в этом отпала, все уберу и немного оптимизировать можно. Просьба к тем, кто тестирует с точностью 99%: попробуйте сравнить тесты с одинаковыми параметрами с точностью 99 и попробуйте в тестере задать таймфрейм М1 и тестирование по ценам открытия баров. Обоснование такое: советник принимает решения о входе в рынок или выходе из него по ценам открытия минутных свечей. Все что происходило внутри минутной свечи для него не важно. Возможно результаты будут достаточно схожи, и это должно ускорить тестирование. Это не относится к версии с CCI. Там значения CCI берутся с текущего таймфрейма.
Всевозможные комменты в коде и в выводе в логи и т.п. лучше оставить, это чем больше, тем лучше, и без комментов хорошо бы сделать отдельную версию для оптимизации, ну или отдельный сет с выключенными флажками на ненужных опциях :)
Версию 9.0 можно было бы оставить как есть, а в версии для оптимизации убрать лишнее, проверки, которые нужны при реальной торговле и т.п. Для реальной торговли можно установить в версию 9.0 параметры, полученные при помощи версии для оптимизации.
Я тут попробовал сделать версию для оптимизации, итак:
Время тестирования за год на моем компьютере: (total time 0:02:12.023) 132 сек
Если убрать все Print, Comment, Запись в файл: (total time 0:01:58.530) выйгрыш 14 сек ~ 10%
так себе прирост.
Потом подумал, а зачем нам на каждом тике считать канал?
Канал нужен для:
[list type=decimal]
if(IsOptimization() || IsTesting()){
if(!IsTime() && OrdersTotal()}
Я тут попробовал сделать версию для оптимизации, итак:
Время тестирования за год на моем компьютере: (total time 0:02:12.023) 132 сек
Если убрать все Print, Comment, Запись в файл: (total time 0:01:58.530) выйгрыш 14 сек ~ 10%
так себе прирост.
Потом подумал, а зачем нам на каждом тике считать канал?
Канал нужен для:
[list type=decimal]Открытия - только когда пришло время по планировщику Закрытия - только когда открытые сделки вообще есть.
Добавил в начало OnTick() такой код:if(IsOptimization() || IsTesting()){
if(!IsTime() && OrdersTotal()}
и получил: (total time 0:01:29.155) выигрыш 43 сек ~ 32%
Обе оптимизации вместе дают: (total time 0:01:17.392) выигрыш 55 сек ~ 41%
Generic_A-TLP_DPSBE+%%TPv.10.0.mq4
Generic_A-TLP_DPSBE+%%TPv.10.0_opt.mq4
Изменено 23 мая, 2016 пользователем yur4ello
С тестами дела обстоят следующим образом.
Время тестирования по альпари (GMT+3), сет GBPCAD дефолтный. Результаты с 01.01.2014 по наст. время с фикс. лотом.
Качество 99% (включена комиссия 5$ за лот по кругу)



GBPCADgmt+3_99.rar
GBPCADgmt+3_90.rar
GBPCADgmt+3_по_ценам_открытия.rar
бегло потестил gbpusd.
Азия 14 и DPS v3 и 10 Входят одинаково, выходят из сделок по разному на тесте.
https://www.mql5.com/ru/charts/5192589/gbpusd-m15-alpari-limited
https://www.mql5.com/ru/charts/5192598/gbpusd-m15-alpari-limited
Изменено 24 мая, 2016 пользователем grabli
Да, просьба поправить 10-ю версию, и поставим её на роботест:)
на демо Тикмилл
Коллеги, в этом топике, как и во всех других, предлагаю все без исключения файлы сэтов или тестов именовать, начиная с точного имени бота, для которого сэт или тест.
имя бота посимвольно - без каких либо сокращений и искажений.
Generic A-TLP DPS[BE+%%TP]v.10.0 - GBPCADgmt+3_по ценам открытия.rar
Просто спереди добавляется точное имя бота - и дальше через тире пишите что хотите как и сейчас.
Коллеги, в этом топике, как и во всех других, предлагаю все без исключения файлы сэтов или тестов именовать, начиная с точного имени бота, для которого сэт или тест.
имя бота посимвольно - без каких либо сокращений и искажений.
Generic A-TLP DPS[BE+%%TP]v.10.0 - GBPCADgmt+3_по ценам открытия.rar
Просто спереди добавляется точное имя бота - и дальше через тире пишите что хотите как и сейчас.
В Азии встречные сделки можно делать. Там даже флаг на их запрет есть в настройках. Просто до этого редко доходит. Лучше сделать так и в дженерике.
Ограничить поток СЛ на улетающей свечке можно паузой на хх часов после минусовой сделки в уу пп. Запрет на новые сделки сразу в оба направления. Если пошёл такой полёт, то ночнику там делать нечего. Минимальный СЛ у ночника типа "Азия" в районе 30 пп (1,00300). Можно сразу установить это значение.
После этих дополнений подготовлю сет для оптимизации.
Сразу скажу - не надо пытаться повторить настройки Азии 1:1.
Надо искать лучше и стабильней.
Сеты без СЛ или со СЛ больше фигуры (1, 01000) сразу в топку пойдут.
+++++++++++++++++++++++++++
yur4ello,
пожалуйста, убери из названия ЕА лишние буквоцифры.
Просто "Generic A-TLP v11.1"
Появилось время, почитал код. есть следующие замечания:
- tick_volume > 1.0 - на реале работает не стабильно, тем более в мультивалютном режиме. может пропускать входы.
- для ускорения тестов и вообще работы совы надо отказаться от
- дублирования логов Print(q); fWriteDataToFile(q);
- и желательно от опроса индикаторов и пересчёта ордеров на каждом тике
- Take_Profit = MathMax ( Take_Profit, NormalizeDouble( stoplevel * Point / old_point,1 ) ); и подобные, может работать не так как задумывалось при переходе с double -> int предлагаю исправить на:
Take_Profit = ( int )( MathMax ( Take_Profit, MathCeil( stoplevel * Point / old_point ) ) );
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем