Bag-76 Опубликовано 12 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 12 марта, 2015 Потестировал с настройками от автора, - reactor2000. Хотел прогнать за три года. Но сливает за полгода. Ещё бы. В предложенном сете по EURUSD коэффициент мартина 10 !!! В принципе, оптимизировать можно, но смысла особого не вижу. Bag-76, да, с настройкой для мартина в предложенном сете действительно погорячился, в других сетах эта настройка более адекватная (на мой взгляд, конечно).. я уже писал здесь про риски. у reactor2000 это первая разработка (судя по коду - правда), поэтому мы здесь в качестве группы поддержки - может подсказать чего сможем... 0ll, а как именно по коду Вы определили что это первая разработка? :) Я это собственно не скрывал, но как это по коду понять можно? :) :) Подсказать по программированию ничего не могу. Для меня код, - тёмный лес. А по поводу того, стоит ли дальше работать с той или иной автоматизированной стратегией, я для себя определяю в последнее время так. Если стратегия при одинаковых уровня тейка и стопа без использования трала и мартина даёт от 40% прибыльных сделок на периоде тестирования не менее года, то можно дальше развивать идею, добавляя тралы, увеличивая/уменьшая тейки/стопы, добавляя мартин. Если же менее 40%, то в утиль. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
reactor2000 Опубликовано 12 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 12 марта, 2015 (изменено) Потестировал с настройками от автора, - reactor2000. Хотел прогнать за три года. Но сливает за полгода. Ещё бы. В предложенном сете по EURUSD коэффициент мартина 10 !!! В принципе, оптимизировать можно, но смысла особого не вижу. Bag-76, да, с настройкой для мартина в предложенном сете действительно погорячился, в других сетах эта настройка более адекватная (на мой взгляд, конечно).. я уже писал здесь про риски. у reactor2000 это первая разработка (судя по коду - правда), поэтому мы здесь в качестве группы поддержки - может подсказать чего сможем... 0ll, а как именно по коду Вы определили что это первая разработка? :) Я это собственно не скрывал, но как это по коду понять можно? :) :) Подсказать по программированию ничего не могу. Для меня код, - тёмный лес. А по поводу того, стоит ли дальше работать с той или иной автоматизированной стратегией, я для себя определяю в последнее время так. Если стратегия при одинаковых уровня тейка и стопа без использования трала и мартина даёт от 40% прибыльных сделок на периоде тестирования не менее года, то можно дальше развивать идею, добавляя тралы, увеличивая/уменьшая тейки/стопы, добавляя мартин. Если же менее 40%, то в утиль. Bag-76, сет по USDCAD должен удовлетворять Вашим требованиям...Добавлено: 12-03-2015 10:36:23reactor2000, а не важно что человек первый раз делает - программу, табуретку или борщ варит.В любом случае видно :) Старик , с этим невозможно не согласиться :) Изменено 12 марта, 2015 пользователем reactor2000 Ссылка на сообщение Поделиться на другие сайты More sharing options...
asbets Опубликовано 13 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 13 марта, 2015 Я очень долго искал такого рода советник, но так как стратегия, по которой он торгует особо закрепившегося названия не имеет, то найти что то подходящего не удалось. В связи с этим написал такой советник самостоятельно. reactor2000, а можете перевести с кода на человеческий язык, в чём суть появления сигнала стратегии (с ходу не разобрался):bool BuySignal(){int currentdist,maxbar;double high;bool buysig=false; for (int i=1;i { if (iHigh(Symbol(),0,i)> MA1(i) && iLow(Symbol(),0,i)>MA1(i)) { maxbar=iHighest(Symbol(),0,2,i+1,1); high=iHigh(Symbol(),0,maxbar); currentdist=NormalizeDouble((high-MA1(i+1)),Digits())/Point; //Comment (i,"\n",currentdist,"\n",MA1(0),"\n",high,"\n",maxbar,Ask); if (i>=CandleCount && currentdist>=Dist && iLow(Symbol(),0,0) { //Comment ("Buy at ",Ask); buysig=true; break; } } else break; } return (buysig); } Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 13 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 13 марта, 2015 asbets как я понял: сова ищет большое движение (за это отвечает параметр Dist - миним. расстояние от хая до машки) и ждет отката (пересечение ценой машки) и входит по направлению движения. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
asbets Опубликовано 13 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 13 марта, 2015 asbets как я понял: сова ищет большое движение (за это отвечает параметр Dist - миним. расстояние от хая до машки) и ждет отката (пересечение ценой машки) и входит по направлению движения. А поконкретнее?Я вот правильно ли понял, что:1. Дальше в истории в барах больше i>=CandleCount 2. Находится hi и его расстояние больше дистанции currentdist >=Dist. 3. Да, ждётся когда лоу уйдёт ниже машки iLow(Symbol(),0,0)Не могу вникнуть в саму логику стратегии ,Как работает внешний цикл for (int i=1;iХорошо, ищется Hi - там задано, что надо идти назад до большого количества iБлижайший бар, который найдётся? В любом случае найдётся какой-то, который выше машки.А если он будет далеко слишком? В чем соль логики? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 13 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 13 марта, 2015 asbets да, там косяк... Цикл не отрабатывает - если на 1 баре условие не выполняется, то цикл прекращается, а если выполняется, то вход и опять прекращение цикла.reactor2000 цикл for (int i=1;iТ.к. maxbar=iHighest(Symbol(),0,2,i+1,1); ищите для i=1, то maxbar либо 1, либо 2.Вам надо вместо цикла задать длину поиска экстремума, т.е. вместо i+1, задать 30 (например)Мелочи:high=iHigh(Symbol(),0,maxbar); high=High[maxbar]; iLow(Symbol(),0,0) Low[0];currentdist=NormalizeDouble((high-MA1(i+1)),Digits())/Point; - нормализация не нужна в принципе.Digits() = Digits = _Digits - я использую последнее.Это всё не критично - просто быстрее будет работать... 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
reactor2000 Опубликовано 13 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 13 марта, 2015 Весь день был в разъездах и мог только читать посты, наконец то добрался до ноута...asbets, суть логики, как уже совершенно правильно сказал 0ll это определить большое движение (которое не меньше параметра Dist), происходившее за определенный отрезок времени (который не меньше, чем CandleCount баров). Другими словами цена должна оторваться от машки и не касаться ее на протяжении не меньше чем Х (CandleCount) баров, при этом максимальный отрыв цены должен быть не меньше чем Y(Dist) пунктов.0ll, с учетом вышесказанного разве цикл for не отрабатывает? Необходимо найти количество баров, которые не касались машку, а так же экстремум, за это время пока, бары были выше или ниже машки. Т.е. если предыдущий бар был полностью выше машки (для покупок), но условия для входа еще не выполнены (не прошло нужное количество баров, цена двинулась на меньшее количество пунктов и текущий бак не коснулся машки), то переходим к следующему предыдущему бару (надеюсь понятно написал) и снова проверяем условия входа...Также отдельное Вам спасибо за практические советы по оптимизации кода.Кроме того, обнаружил еще один косяк - по условии стратегии максимальный отрыв должен считаться от значения машки, с которого отрыв начался, а сейчас он считается от значения машки на каждом из баров в истории. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 14 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 14 марта, 2015 (изменено) reactor2000 делайте без цикла - в лоб, так эффективнее:У Вас есть CandleCount это значение shift для машки, т.е. iMA(NULL, 0, period, ..... , CandleCount);и определяете экстремум: maxbar=iHighest(NULL,0,MODE_HIGH,CandleCount,1);далее всё понятно.Единственно проверить "отрыв" цены от машки без цикла не получится или на каждом баре проверять и суммировать, типа: int count = High[1] > MA && Low[1] а потом в проверку условия на открытие добавить: count >= CandleCountЗЫ: я бы сделал 2 машки: по одной вычислять дистанцию до экстремума, а по другой ждать пересечения на откате. (оптимизация периодов этих машек может дать интересный результат) Изменено 14 марта, 2015 пользователем 0ll 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
reactor2000 Опубликовано 15 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 15 марта, 2015 reactor2000 делайте без цикла - в лоб, так эффективнее:У Вас есть CandleCount это значение shift для машки, т.е. iMA(NULL, 0, period, ..... , CandleCount);и определяете экстремум: maxbar=iHighest(NULL,0,MODE_HIGH,CandleCount,1);далее всё понятно.Единственно проверить "отрыв" цены от машки без цикла не получится или на каждом баре проверять и суммировать, типа: int count = High[1] > MA && Low[1] а потом в проверку условия на открытие добавить: count >= CandleCountЗЫ: я бы сделал 2 машки: по одной вычислять дистанцию до экстремума, а по другой ждать пересечения на откате. (оптимизация периодов этих машек может дать интересный результат) В следующей версии совы я предполагал отказаться от for в пользу while, но теперь попробую сделать вообще без цикла (полезно будет и для мозга и для навыка программирования).. так же скорее всего поменяю условие для входа с (i>=CandleCount && currentdist>=Dist && High[0]>=MA1(0)) (если для продаж) на (i>=CandleCount && currentdist>=Dist && Bid+30*Point>=MA1(0)). Т.е. не ждать когда хай коснется машки, а когда это сделает непосредствено цена.. Создалось впечатление после нескольких тестирований, что если использовать хай\лоу, то вход запаздывает...ЗЫ. По поводу двух машек - в целом оригинальная стратегия использует вторую машку (18 ЕМА), но в основном для определения стопа, хотя при этом оговаривается, что можно использовать ее и для входа, если не успели войти по первой.. Изначально так и планировал сделать сову (в объявлении входных переменных в итоге этот кусок закоментарен), но решил для первого раза начать с простого. Поэтому вторая машка в планах развития. Ссылка на сообщение Поделиться на другие сайты More sharing options...
asbets Опубликовано 24 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 24 марта, 2015 Только не могу разобраться пока, почему у меня на демке провисел с 16.03 и не открывает сделки.. 1.jpgsavg99-.zip Ссылка на сообщение Поделиться на другие сайты More sharing options...
reactor2000 Опубликовано 24 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 24 марта, 2015 Только не могу разобраться пока, почему у меня на демке провисел с 16.03 и не открывает сделки.. а в журнале есть какие-нибудь ошибки? Ссылка на сообщение Поделиться на другие сайты More sharing options...
asbets Опубликовано 24 марта, 2015 Поделиться [open source] [Советник] MA-TrendFX Опубликовано 24 марта, 2015 Нет. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти