Перейти к содержанию

[open source] [Советник] MA-TrendFX


xbms

Рекомендуемые сообщения

[open source] [Советник] MA-TrendFX Опубликовано



Потестировал с настройками от автора, - reactor2000. Хотел прогнать за три года. Но сливает за полгода. Ещё бы. В предложенном сете по EURUSD коэффициент мартина 10 !!! В принципе, оптимизировать можно, но смысла особого не вижу.



Bag-76, да, с настройкой для мартина в предложенном сете действительно погорячился, в других сетах эта настройка более адекватная (на мой взгляд, конечно)..


я уже писал здесь про риски. у reactor2000 это первая разработка (судя по коду - правда), поэтому мы здесь в качестве группы поддержки - может подсказать чего сможем...



0ll, а как именно по коду Вы определили что это первая разработка? :) Я это собственно не скрывал, но как это по коду понять можно? :) :)

Подсказать по программированию ничего не могу. Для меня код, - тёмный лес. А по поводу того, стоит ли дальше работать с той или иной автоматизированной стратегией, я для себя определяю в последнее время так. Если стратегия при одинаковых уровня тейка и стопа без использования трала и мартина даёт от 40% прибыльных сделок на периоде тестирования не менее года, то можно дальше развивать идею, добавляя тралы, увеличивая/уменьшая тейки/стопы, добавляя мартин. Если же менее 40%, то в утиль.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано (изменено)




Потестировал с настройками от автора, - reactor2000. Хотел прогнать за три года. Но сливает за полгода. Ещё бы. В предложенном сете по EURUSD коэффициент мартина 10 !!! В принципе, оптимизировать можно, но смысла особого не вижу.



Bag-76, да, с настройкой для мартина в предложенном сете действительно погорячился, в других сетах эта настройка более адекватная (на мой взгляд, конечно)..


я уже писал здесь про риски. у reactor2000 это первая разработка (судя по коду - правда), поэтому мы здесь в качестве группы поддержки - может подсказать чего сможем...



0ll, а как именно по коду Вы определили что это первая разработка? :) Я это собственно не скрывал, но как это по коду понять можно? :) :)

Подсказать по программированию ничего не могу. Для меня код, - тёмный лес. А по поводу того, стоит ли дальше работать с той или иной автоматизированной стратегией, я для себя определяю в последнее время так. Если стратегия при одинаковых уровня тейка и стопа без использования трала и мартина даёт от 40% прибыльных сделок на периоде тестирования не менее года, то можно дальше развивать идею, добавляя тралы, увеличивая/уменьшая тейки/стопы, добавляя мартин. Если же менее 40%, то в утиль.


Bag-76, сет по USDCAD должен удовлетворять Вашим требованиям...



Добавлено: 12-03-2015 10:36:23


reactor2000, а не важно что человек первый раз делает - программу, табуретку или борщ варит.
В любом случае видно :)



Старик , с этим невозможно не согласиться :) Изменено пользователем reactor2000
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано


Я очень долго искал такого рода советник, но так как стратегия, по которой он торгует особо закрепившегося названия не имеет, то найти что то подходящего не удалось. В связи с этим написал такой советник самостоятельно.



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);
}
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано
asbets как я понял: сова ищет большое движение (за это отвечает параметр Dist - миним. расстояние от хая до машки) и ждет отката (пересечение ценой машки) и входит по направлению движения.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано


asbets как я понял: сова ищет большое движение (за это отвечает параметр Dist - миним. расстояние от хая до машки) и ждет отката (пересечение ценой машки) и входит по направлению движения.


А поконкретнее?
Я вот правильно ли понял, что:
1. Дальше в истории в барах больше i>=CandleCount
2. Находится hi и его расстояние больше дистанции currentdist >=Dist.
3. Да, ждётся когда лоу уйдёт ниже машки iLow(Symbol(),0,0)
Не могу вникнуть в саму логику стратегии ,

Как работает внешний цикл for (int i=1;i
Хорошо, ищется Hi - там задано, что надо идти назад до большого количества i
Ближайший бар, который найдётся? В любом случае найдётся какой-то, который выше машки.
А если он будет далеко слишком?

В чем соль логики?
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано
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
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано

Весь день был в разъездах и мог только читать посты, наконец то добрался до ноута...

asbets, суть логики, как уже совершенно правильно сказал 0ll это определить большое движение (которое не меньше параметра Dist), происходившее за определенный отрезок времени (который не меньше, чем CandleCount баров). Другими словами цена должна оторваться от машки и не касаться ее на протяжении не меньше чем Х (CandleCount) баров, при этом максимальный отрыв цены должен быть не меньше чем Y(Dist) пунктов.

0ll, с учетом вышесказанного разве цикл for не отрабатывает? Необходимо найти количество баров, которые не касались машку, а так же экстремум, за это время пока, бары были выше или ниже машки. Т.е. если предыдущий бар был полностью выше машки (для покупок), но условия для входа еще не выполнены (не прошло нужное количество баров, цена двинулась на меньшее количество пунктов и текущий бак не коснулся машки), то переходим к следующему предыдущему бару (надеюсь понятно написал) и снова проверяем условия входа...
Также отдельное Вам спасибо за практические советы по оптимизации кода.

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

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано (изменено)
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 машки: по одной вычислять дистанцию до экстремума, а по другой ждать пересечения на откате. (оптимизация периодов этих машек может дать интересный результат) Изменено пользователем 0ll
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано


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 ЕМА), но в основном для определения стопа, хотя при этом оговаривается, что можно использовать ее и для входа, если не успели войти по первой.. Изначально так и планировал сделать сову (в объявлении входных переменных в итоге этот кусок закоментарен), но решил для первого раза начать с простого. Поэтому вторая машка в планах развития.
Ссылка на сообщение
Поделиться на другие сайты

  • 2 weeks later...
[open source] [Советник] MA-TrendFX Опубликовано

Только не могу разобраться пока, почему у меня на демке провисел с 16.03 и не открывает сделки..

1.jpg
savg99-.zip

Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] MA-TrendFX Опубликовано


Только не могу разобраться пока, почему у меня на демке провисел с 16.03 и не открывает сделки..



а в журнале есть какие-нибудь ошибки?
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...