EA N7S_AO_772012 - страница 33

 
boing9267 писал(а) >>

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

Спасибо. Все что тут писалось просмотрел, моего варианта не нашел. Вроде все делаю по инструкции. Если бы что-то было не так, как бы вообще могла оптимизация происходить? В процессе оптимизации он ведь какие-то сделки совершает, хотя как я понял, раз в десять меньше,чем должен? На выходе 0.

И еще, по поводу посмотреть код: я с таким же успехом могу читать по-китайски, не могу даже понять, где размер стопов регулируется:).

Сейчас попробовал просто последовательно предварительные настройки закинуть и прогнать за месяц, не бог весть как, но работает! 10 сделок. А после оптимизации не хочет совсем.

 
Уря-а-а, нашел стопы!
 
Все равно мало сделок, около 15 за месяц на1-ом этапе. Может, кроме стопов еще чего надо поменять, кроме прокладки между креслом и компом? У меня 4 знака после запятой в котировках.
 
mpeugep писал(а) >>

Конструктивное замечание к SHOOTER777. Состоит оно в следующем: необходимо для каждого иникатора делать свой перцептрон, либо сделать один, НО универсальный, под любой индикатор, а то получается используешь свой индикатор, а "информация собирается" через перцептрон мндикатора AO.

О каком индикаторе идет речь? Поясню смысл вопроса. Данный советник использует для определения момента и направления входа три таймфрейма. Направление главного движения определяется на Н4 и данный индикатор не связан ни с каким перцептроном. А вот уже входы на Н1 зависят от другого, как раз АО осциллятора и они логически никак не связаны. Можно, конечно, и его менять. Я думал, что труда это не составляет, как и на Н4. Нужно только в функции

double iA_C (int pr){int tmfr=60; return(iAO(Symbol(), tmfr, pr));}

возвращать свой индикатор.

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

 
andreiuser писал(а) >>

Да-а. Добрый вечер Всем. Самый универсальный индикатор это линия, желательно наклонная.

А если серьезно, то в начале "поста" ставился такой вопрос о выборе инд. и мне подумалось, что

надо применять не индикатор под выборку, а под выборку индикатор. Можно и дальше развивать

эту мысль, только не известно куда она приведет и выглядит банально. И по этому предлагаю

не отвлекаться на мультивалютность и защитные функции, а тестировать одну валюту с разными

индикаторами. Могу предположить, что эту работу проделал SHOOTER, вот MACD использовали

интересно какие еще?

Спасибо.

Можно, конечно, тестировать одну пару с разными индикаторами, чем я занимался весь прошлый год. Но в итоге, найденная мной схема и алгоритм пригодны лишь двум трем парам, а остальным подавай другое. Одному невозможно тестировать шесть-восемь пар с тремя-пятью индикаторами. Вот если бы один тестировал одно, другой второе, третий третье и т.д. а потом сравнивать, все были бы в плюсе.

 
andreiuser писал(а) >>

Да-а. Добрый вечер Всем. Самый универсальный индикатор это линия, желательно наклонная.

А если серьезно, то в начале "поста" ставился такой вопрос о выборе инд. и мне подумалось, что

надо применять не индикатор под выборку, а под выборку индикатор. Можно и дальше развивать

эту мысль, только не известно куда она приведет и выглядит банально. И по этому предлагаю

не отвлекаться на мультивалютность и защитные функции, а тестировать одну валюту с разными

индикаторами. Могу предположить, что эту работу проделал SHOOTER, вот MACD использовали

интересно какие еще?

Спасибо.

Можно, конечно, тестировать одну пару с разными индикаторами, чем я занимался весь прошлый год. Но в итоге, найденная мной схема и алгоритм пригодны лишь двум трем парам, а остальным подавай другое. Одному невозможно тестировать шесть-восемь пар с тремя-пятью индикаторами. Вот если бы один тестировал одно, другой второе, третий третье и т.д. а потом сравнивать, все были бы в плюсе.

 

Повторение пройденного )))

Есть такие строчки в коде

bool TrBlnc = true; int StrtBlnc= 3000; int DBlnc= 1500; int UBlnc= 4000;

объявили, что (TrBlnc = true) включен контроль за торговлей в зависимости от состояния эквити.

Торги прекращаются и не производятся если баланс меньше (DBlnc= 1500) этого значения или больше (int UBlnc= 4000)

Контроль за исполнением в функции FLG().

А сейчас, внимание!!! Инициализация

if ( IsOptimization( ) ) TrBlnc = false;//if ( IsTesting() ) TrBlnc = false;

т.е. если идет оптимизация, контроль выключен, если тест или реал - включен.

Надеюсь объяснил доступно. Следите за начальным балансом или удалите и отключите этот контроль

 
SHOOTER777 >>:

О каком индикаторе идет речь? Поясню смысл вопроса. Данный советник использует для определения момента и направления входа три таймфрейма. Направление главного движения определяется на Н4 и данный индикатор не связан ни с каким перцептроном. А вот уже входы на Н1 зависят от другого, как раз АО осциллятора и они логически никак не связаны. Можно, конечно, и его менять. Я думал, что труда это не составляет, как и на Н4. Нужно только в функции

double iA_C (int pr){int tmfr=60; return(iAO(Symbol(), tmfr, pr));}

возвращать свой индикатор.

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

Так вы же добавили еще один индикатор в новой версии, да, написали для него функцию, где возвращаете его значение, но перцептрон то написан для функции iA_C!!!

double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at) 
  {double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1);
  if (MathAbs(qw)>at) return(qw);else return(0);}

......................................................................................................

......................................................................................................

void H1() { prcptx1 = prcptrnAC(x1,x2,x3,x4,px,tx) ;
                 prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ;
                 prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ;
                 prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ;
                Print (Flq);
                BuSll (0,1,772012000);
                }


 

Обнаружил интерессный момент:

Эксперт совершает сделки в течеии дня. В конце дня я проверяю его работу - сравниваю с прогоном в тестере на том же временном диапазоне. Так вот что значит получается: появляются различия. Т.е. не сходятся сделки которые совершает эксперт, прекрепленный к графику, со сделками которые совершает эксперт на том же диапазоне в тестере. Сначала я подумал что возможно были перебои, заглянул в журнал - там абсолютно чисто. НО! После того как перезапустил терминал (закрыл и открыл заново) и прогнал в тестере заново - открытые и закрытые позиции совпали. Эту ситуацию я наблюдаю на протяжении 3-х дней. 

 
mpeugep писал(а) >>

Так вы же добавили еще один индикатор в новой версии, да, написали для него функцию, где возвращаете его значение, но перцептрон то написан для функции iA_C!!!

double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at)
{double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1);
if (MathAbs(qw)>at) return(qw);else return(0);}

......................................................................................................

......................................................................................................

void H1() { prcptx1 = prcptrnAC(x1,x2,x3,x4,px,tx) ;
prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ;
prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ;
prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ;
Print (Flq);
BuSll (0,1,772012000);
}

Давайте разберемся еще разок.

Индикатор, который я добавил в новой версии, предназначен для определения направления тренда на старшем Н4 таймфрейме. Он ни как не связан с перцептроном, который определяет моменты входа по меньшим таймфреймам. То, что в первых версиях я использовал и на Н4 и на Н1 осцилятор АО просто мой выбор, совпадение если хотите.
В функции Н1 тоже можно менять перцептроны, вне зависимости от главного индикатора, мне кажется это не сложно, каждый для себя может сделать сам, приведу пример позже, но универсальным я скорее всего этот блок делать не буду, сильно тормозной да и сложновато будет.