Тестер в МТ4 не умеет получать данные индикаторов из других тайм-фреймов.
Вообще то умеет, главное чтобы история этого тайм-фрейма тоже подгружена была.
[open source] [Советник] "Generic A-TLP"📌
От Sergey5, 23 апреля, 2016 в Лаборатория ProfitFX
grabli, а зачем добавлен трал? Мы же ловим далеко не 300 пунктов движения, чего там тралить?
трал есть в оригинале по каналу на М1, как минимум.. может он и не нужен)
Цитата: nixxer от Апрель 30, 2016, 07:23:59 pm
grabli, а зачем добавлен трал? Мы же ловим далеко не 300 пунктов движения, чего там тралить?
трал есть в оригинале по каналу на М1, как минимум.. может он и не нужен)
А нельзя ли поподробнее? Что за канал, какие параметры, как его использовать? И откуда у Вас эта информация? Это Ваши наблюдения, ответ разработчиков, или Вам стала известна часть кода? Эту информацию же нужно как-то использовать.
Относительно Max_Daily_Range, используется данная переменная в двух местах, на проверках перед открытием ордера в обе стороны в связке с iOpen.
Далее, примерный набросок кода как это работает. Если от цены открытия дня ушли не очень далеко то проверяем подходящее ли время для торговли, вызываем функцию из библиотеки, если она вернула истину в результате то начинаем считать SL и TP. Затем все те же операции проворачиваются и для направления SELL
if ( (iOpen(Symbol(), 1440, 0) - Ask) {
if ( v267 && (v117 = TimeCurrent(0), v119 = TimeHour(v117, v118), v119 >= v267)
&& (v120 = TimeCurrent(0), v122 = TimeHour(v120, v121), v122 || v267 > v266
&& ((v123 = TimeCurrent(0), v125 = TimeHour(v123, v124), v125 >= v267)
|| (v126 = TimeCurrent(0), v128 = TimeHour(v126, v127), v128 {
if libraryCall_CheckOpenLong(,,,,)
{
if ( Bid - Ask {
if ( FIFOrule )
{
RefreshRates;
NormalizeDouble(Bid, Digits) - StopLoss * Point;
NormalizeDouble(Bid, Digits) + TakeProfit * Point;
}
else Print("BUY not taken!!! - No Hedge, or FIFO restriction ...");
}
else Print("BUY not taken!!! - High spead...")
Вопрос такой: В этой строке
if ( (iOpen(Symbol(), 1440, 0) - Ask) разность iOpen и Ask вычисляется не по модулю?
grabli, а зачем добавлен трал? Мы же ловим далеко не 300 пунктов движения, чего там тралить?
трал есть в оригинале по каналу на М1, как минимум.. может он и не нужен)
Ну.. без трала и без стоплоссов средняя прибыльная сделка больше, чем средняя убыточная, меньше процент прибыльных сделок, а с тралом средняя убыточная больше, зато процент прибыльных выше. Так что картину не улучшает.
Добавлено: 10-05-2016 14:32:30
Кстати, в оригинальной азии оптимизация влияет на график только по параметру ChannelPeriod (ну и время конечно), изменение остальных параметров никак не сказывается. Эти параметры используются в коде? Или разрабы их не подцепили к внешним переменным?
Изменено 10 мая, 2016 пользователем grabli
Вопрос такой: В этой строке
if ( (iOpen(Symbol(), 1440, 0) - Ask) разность iOpen и Ask вычисляется не по модулю?
Не по модулю, все представлено "как есть" выдачей из декомпилятора с минимальным количеством правок. Для сверхточных проверок надо прогонять код в реальном режиме времени в отладчике, пошагово перепроверяя все переменные. Основная сложность в том что код, вышедший из-под компилятора метаквот, любит использовать одни и те же переменные под разные задачи, что автоматически не дает возможности их однозначно переименовать.
Декомпилятор не человек и может ошибаться. Я конечно перепроверил код но и у меня не исключены ошибки. В другую сторону проверка if ( Bid - iOpen) Обсуждение в лаборатории подразумевает высокую степень недоверия любым результатам с критической оценкой оных. Важно в этом деле уметь читать между строк.
Добавил MDR.
А уж человек как может ошибаться... - может в Азии есть человеческие ошибочки. :dДекомпилятор не человек и может ошибаться.
Мне встречалось такое, что после устранения ошибок сова работала хуже.
Результаты улучшились http://joxi.ru/brRLnQNFQEqDw2
Правда пока не понял из-за чего, вроде бы хорошо влияет фильтр на выход из сделки. Условие на вход только одной сделкой за сессию можно выкинуть ибо практически никакого влияния на результат не дает, даже чуть-чуть снижает прибыльность.
Можете подробнее расписать что за 3 фильтра на выход, ибо не очень понятно что это такое (и желательно сделать так чтобы эти фильтры отображались в отчете тестера, а то не понятно какой сет тестировался).... :-?
Изменено 10 мая, 2016 пользователем Mamotaro
фильтр 1 // ордер открыт более Exit_Minutes (мин) и прибыль более Time_Profit_Pips
фильтр 2 // цена вышла за границу канала на Exit_Distance пунктов И прибыль более Exit_Profit_Pips
фильтр 3 // скользящая средняя развернулась в обратную сторону И прибыль более Reverse_Profit
Если в тестере перейти в журнал, то там должно быть написано по какому фильтру вышли
Изменено 10 мая, 2016 пользователем yur4ello
Однако http://joxi.ru/xAeJXv3hYqkL6r :-?
Все фильтры на закрытие отключены, выход их позиции по стопу и тейкпрофиту......этот вариант дал самую высокую прибыль из всех вариации 3-х фильтров на закрытие, при одинаковых настройках на вход.....правда увеличивается просадка в 2 раза почти... :))
просьба добавить 3 опции.
1. Тайм-фильтр по дням и часам с минутами + 1 пауза в день.
Код во вложении.
2. БУ. "Если текущая цена лучше цены входа на Х пунктов,
то перемещаем СЛ на Y пунктов в профит". Тру/фалс.
3. Расчёт размера ТП в %% от размера канала при открытии сделки, но не менее Z пунктов. Тру/фалс.
тайм-фильтр_по_дням_одна_пауза_в_день_0_выключена_Sergey5.txt
Наиболее интересным пока выглядит фильтр №1 он дает наилучшие результаты по просадке и матожиданию....правда это пока выводы без оптимизации параметров.... :-?
http://joxi.ru/52a8evKSGq7oYm - фильтр №1
http://joxi.ru/KAxVMbQh4jPlOm - фильтр №2
http://joxi.ru/GrqzBvquNqP9gm - фильтр №3
http://joxi.ru/MAjGebkuvOPlVr - все 3 фильтра
0ll можешь сделать версию совы с выходом по пересечению RSI и CCI в потиковом режиме имхо это очень интересный вариант динамического выхода из позиции.
Я не помню уже как скрещивал РСИ и ССИ, если помнишь название того бота - скинь, я пороюсь в архивах... во всяком случае код выложу.
0ll можешь сделать версию совы с выходом по пересечению RSI и CCI в потиковом режиме имхо это очень интересный вариант динамического выхода из позиции.
Я не помню уже как скрещивал РСИ и ССИ, если помнишь название того бота - скинь, я пороюсь в архивах... во всяком случае код выложу.
0ll можешь сделать версию совы с выходом по пересечению RSI и CCI в потиковом режиме имхо это очень интересный вариант динамического выхода из позиции.
Это? :)
Угу. нашёл в заброшенном тереме. вот код приведения значения рси к сси и контроль пересечения:Это? :)
input string xx02 = "Indicators Parameters:";
input int RSIPeriod = 54; // – период индикатора RSI
input int CCIPeriod = 65; // – период индикатора CCI
input double mult2rsi = 5.2; // – множитель к RSI для сравнения с CCI
input string xx04 = "Close Parameters:";
input bool CrossRCICCI = true; // – закрываем на пересечении рси и сси на 0-баре
bool f_conditionOUT( )
{
if (odir == OP_BUY )
{
if (CrossRCICCI && cci0 }
if (odir == OP_SELL)
{
if (CrossRCICCI && cci0 >= ( rsi0-50 ) *mult2rsi ) { ... }
}
}
Прошу прощения за неоперативность. На работе загрузили на неделю вперед.
Выкладываю советник с указанными дополнениями. Если неисправности - сообщайте.
Добавил файл. Его в папку Include.
Изменено 13 мая, 2016 пользователем yur4ello
не компилируется.
Просит файл еррор и выдаёт кучу ошибок.
Я думал Эррор файл не обязательно каждый раз выкладывать. Доберусь до компьютера - выложу. А так его можно взять из предыдущего выложенного архива.
большое Спасибо.
Особенно за подробные комменты в логах.
Есть несколько пожеланий.
1. Блок проверки ошибок всё-таки вписать в тело кода.
Иначе можем получить "Азия GMToffset безумие 2.0" на сотню страниц :d
2. Полностью удалить на фиг ГМТ и всё с ним связанное по той же причине.
В тайм-фильтре есть точное время. Любой с парой извилин может выставить время своего брока и сохранить сет.
3. Вывести отрисовку индикаторов на график при визуальном тесте.
Будет намного проще и понятней подбирать настройки. Лучше через Тру/фалс.
yur4ello,
большое Спасибо.
Особенно за подробные комменты в логах.
Есть несколько пожеланий.
1. Блок проверки ошибок всё-таки вписать в тело кода.
Иначе можем получить "Азия GMToffset безумие 2.0" на сотню страниц :d
2. Полностью удалить на фиг ГМТ и всё с ним связанное по той же причине.
В тайм-фильтре есть точное время. Любой с парой извилин может выставить время своего брока и сохранить сет.
3. Вывести отрисовку индикаторов на график при визуальном тесте.
Будет намного проще и понятней подбирать настройки. Лучше через Тру/фалс.
1. добавил
2. удалил
3. а вот по поводу третьего пункта - считаю не нужно вписывать отрисовку индикаторов из советника. можно во время визуального теста нажать на паузу, на наблюдаемый график прицепить нужные индикаторы с необходимыми параметрами, снять с паузы и наблюдать.
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем
