Вопросы новичков к профессионалам Форекс

Афанасий78

Интересующийся
Подскажите, пожалуйста, как можно считать тики?
Имеется в виду, чтобы с каждым n-ым тиком запускалась определенная подпрограмма.
 

Even27

Новичок форума
Товарищи скажите пожалуйста у меня одного не один советник не работает на норде ?
 

Ugar

Гуру форума
Подскажите, пожалуйста, как можно считать тики?
Имеется в виду, чтобы с каждым n-ым тиком запускалась определенная подпрограмма.
int Tick=0;
int start()
{
Tick++;


return(0);
}
Функция start выполняется с приходом тика. Просто складывай и всё. Но тут есть нюанс. Счётчик тиков будет считать их все, успеет запросто если интернет верёвка не слишком тонкая.
А вот если запихнуть какие то подпрограммы, они могут замедлить выполнение. В итоге, пока выполнялась подпрограмма, могут пройти несколько тиков которые не будут учтены. Например приказ на открытие ордера ДЦ может выполнять несколько секунд. А например на 5 знаке, за секунду может пробежать несколько тиков.
В общем подпрограммы должны быстро работать, что бы не тормозить счётчик тиков, иначе тики будут пропускаться. Так же тики могут пропускаться из за нарушений в связи.
 

Афанасий78

Интересующийся
Спасибо, Ugar :)

Функция start выполняется с приходом тика. Просто складывай и всё.
То есть , значения всех переменных сохраняются и изменив их в конце программы , при следующем тике программа будет использовать уже измененные?
Тогда это здорово все упрощает. Значит можно сохранять значения Ask и Bid нескольких последних тиков и использовать их.

Собственно вопрос этот возник у меня потому, что я пытаюсь понять почему бэктест советника Merkio Exp Ukis и его работа на демосчете, на интервале меньше минуты, очень сильно расходятся.
Возможно именно потому , что " за секунду может пробежать несколько тиков." , а может и не пробежать. А при бэктесте , возможно, считается, что тики идут равномерно, внутри минуты.
Я ошибаюсь?
 

Ugar

Гуру форума
Спасибо, Ugar :)


То есть , значения всех переменных сохраняются и изменив их в конце программы , при следующем тике программа будет использовать уже измененные?
Тогда это здорово все упрощает. Значит можно сохранять значения Ask и Bid нескольких последних тиков и использовать их.

Собственно вопрос этот возник у меня потому, что я пытаюсь понять почему бэктест советника Merkio Exp Ukis и его работа на демосчете, на интервале меньше минуты, очень сильно расходятся.
Возможно именно потому , что " за секунду может пробежать несколько тиков." , а может и не пробежать. А при бэктесте , возможно, считается, что тики идут равномерно, внутри минуты.
Я ошибаюсь?
Нет и нет. В приведённом мной куске кода переменная Tick сохраняет своё значение только потому что она объявлена на глобальном уровне. То есть за пределами функции start. Переменные объявленные внутри функции старт сохраняют свои значения до следующего запуска функции. Значит, при следущем запуске тиком, значения всех переменных будет забыто, кроме статических.

Работа в тестере и на демо-счёте в реальном времени отличается. Но не потому что тики пропускаются, а потому что тестеру реальные тики не доступны. Он работает с историей, а в истории тиков нет. На модели "все тики" тестер моделирует тики, то есть просто сочиняет. И не важно, на большой % показывает качество моделирования. Тики всё равно моделированные, то есть выдуманные тестером. Ничего общего с реальными тиками они не имеют.
 
Последнее редактирование:

Афанасий78

Интересующийся
В приведённом мной куске кода переменная Tick сохраняет своё значение только потому что она объявлена на глобальном уровне. То есть за пределами функции start.
Да, я догадался, но за уточнение - спасибо. Я ведь могу не только переменную Tick объявить на глобальном уровне, но и элементы массива, наверное.

Работа в тестере и на демо-счёте в реальном времени отличается. Но не потому что тики пропускаются, а потому что тестеру реальные тики не доступны. Он работает с историей, а в истории тиков нет. На модели "все тики" тестер моделирует тики, то есть просто сочиняет. И не важно, на большой % показывает качество моделирования. Тики всё равно моделированные, то есть выдуманные тестером. Ничего общего с реальными тиками они не имеют.
Мне кажется , что не совсем и не всегда так .
Когда я загрузил MT4, история за 2012-й год отсутствовала вообще. После трех дней работы я смог тестировать как раз на этих трех днях, причем время открытия ордеров (и тип ордеров ) в тестере и на демосчете, совпадает. Разница лишь в результате - на некоторых ордерах профит меньше, а несколько закрылись с убытком, в отличие от теста. Причем было несколько ордеров в течение одной минуты ( четыре) и там и там.
И я, вполне логично предположил, что по этим дням история реальная, а не моделированная. Или MT4 все-таки пишет не все тики, а что-то другое? Каким же образом тогда возможно оптимизировать советник?
 

VVP

Активный участник
Добрый день. Заодно еще один вопрос по тестированию советника. Почему при тесте советника любого года (на Daily) баров в истории больше тысячи, хотя в году 365 дней/свеч минус выходные 104 дня\свечи. А, порой, баров в истории бывает и гораздо больше: более 5-ти и даже 7-ми тысяч. Откуда такое количество дней\баров в году?
А тики моделируются, это так. Достоверным тест быть не может, только приблизительным, но это неплохо. Не вслепую же работать с экспертами... :)
 

Ugar

Гуру форума
Да, я догадался, но за уточнение - спасибо. Я ведь могу не только переменную Tick объявить на глобальном уровне, но и элементы массива, наверное.
Не элементы массива, а весь массив надо объявлять на глобальном уровне.
Мне кажется , что не совсем и не всегда так .
Когда я загрузил MT4, история за 2012-й год отсутствовала вообще. После трех дней работы я смог тестировать как раз на этих трех днях, причем время открытия ордеров (и тип ордеров ) в тестере и на демосчете, совпадает. Разница лишь в результате - на некоторых ордерах профит меньше, а несколько закрылись с убытком, в отличие от теста. Причем было несколько ордеров в течение одной минуты ( четыре) и там и там.
И я, вполне логично предположил, что по этим дням история реальная, а не моделированная. Или MT4 все-таки пишет не все тики, а что-то другое? Каким же образом тогда возможно оптимизировать советник?
Метатрейдер, не важно 4 или 5, не пишет тиковой истории вообще. Он пишет в историю бары, при том только тех тайм фреймов которые использовались.
При тестировании на модели "все тики" тестер использует историю баров текущего и всех младших тайм фреймов. Например при тестировании на H1 тестер, для моделирования движения цены, использует историю H1, M30, M15, M5, M1. Это реальные данные сохранённые в терминале, при условии отсутствия дыр в истории. А вот что творилось внутри М1 бара нет данных. Тестер моделирует движение цены внутри М1 бара в зависимости от формы бара. Можно считать что движение внутри М1 бара это погрешность.
Если речь идёт о тестировании и оптимизации с моделью "все тика", то чем старше рабочий тайм фрейм тем качественней тест так как погрешность меньше. Например, вар D1 значительно здоровее чем М1 бары которые в него входят и внутри которых всё выдумано. Значит реальная погрешность минимальна. А при тестировании на М1 можно считать что реальная погрешность 100%. То есть правды 0%.

Для тестирования и оптимизации тиковых советников тестер непригоден. Нужно использовать демо-счёт. А для подбора параметров лучше сразу несколько.
Делается так:
Арендуется VPS сервер. Могу в сообщить в личку каким я пользуюсь. Дам ссылку со скидкой. На VPS устанавливается сразу несколько терминалов и на них открывается сразу несколько демо счетов. Вешаются на них советник с разными наборами параметров. Через несколько месяцев работы на демо будет видно какой набор параметров наиболее удачный, или советник в мусорку.
Можно конечно и на домашнем компе это провернуть, но держать комп включенным круглые сутки с запущенными терминалами не удобно. Кроме того нужны стабильная связь и энергоснабжение.
 

Ugar

Гуру форума
Добрый день. Заодно еще один вопрос по тестированию советника. Почему при тесте советника любого года (на Daily) баров в истории больше тысячи, хотя в году 365 дней/свеч минус выходные 104 дня\свечи. А, порой, баров в истории бывает и гораздо больше: более 5-ти и даже 7-ми тысяч. Откуда такое количество дней\баров в году?
Это не в году. То что тестер смоделировал такое количество баров, ещё не значит что на них всех производится тест.
Не редко советники используют индикаторы использующие прошлую историю, или сам советник глядит в прошлое и анализирует его. Что бы советник протестировать с заданной даты, нужно смоделировать данные из истории гораздо раньшей. Тестер не знает насколько глубоко смотрят индикаторы советника или сам советник в прошлое, по этому моделируется история с большим запасом.
 

Even27

Новичок форума
Парни подскажите, если я открываю реал счет центовый 100$ ,какое плече мне поставить 1:100 или 1:500. Ставил всегда 1:500 так и оставить(ставил на демо)?
 
Последнее редактирование:

Salov Nikolai

Активный участник
Парни подскажите, если я открываю реал счет центовый 100$ ,какое плече мне поставить 1:100 или 1:500. Ставил всегда 1:500 так и оставить(ставил на демо)?
Ставь 1:100. Но по факту вообще без разницы. Потому как при умеренном money management, плечо не имеет никакого значения.
 

Ugar

Гуру форума
Парни подскажите, если я открываю реал счет центовый 100$ ,какое плече мне поставить 1:100 или 1:500. Ставил всегда 1:500 так и оставить(ставил на демо)?
Чем больше плечо тем меньше будет залог от сделок. Ставь 500. Чем меньше денег на счёте том больше надо плечё для открытия сделки.
Например, сплечём 1:1 для открытия сдеки 0.1 лота, нужно 10000$. А с плечом 1:500 нужно 20$.
 
Последнее редактирование:

Even27

Новичок форума
Подскажите пожалуйста почему советник перестал работать , даже на демо счете, хотя до этого показывал нормальный результат.
nord fx
ermak
mt4
Спасибо.
 

Ugar

Гуру форума
Подскажите пожалуйста почему советник перестал работать , даже на демо счете, хотя до этого показывал нормальный результат.
nord fx
ermak
mt4
Спасибо.
А ты по колесу пинал?

Хороший вопрос. С таким же успехом можно спросить: Почему машина перестала ездить, хотя до этого бегала нормально?
Екатеринбург
ВАЗ 21053
 

Ugar

Гуру форума
нет.

Ugar вы хотите сказать что он отработал свое.
Я хочу сказать, когда у меня что то не в порядке с авто, я либо гоню его к спецу, либо спеца привожу к авто.
А задавать спецу вопрос почему не едет, не показав машину, бессмысленно.
 
Верх