Советники: Адаптивный советник UmnickTrader - страница 4

 

зачтено. хороший сливатор

 

Проверка работы адаптивного советника UmnickTrader V2M3P2 в реальном времени на реальном счету показало текущий результат +496% к начальному депозиту.


 
Мой пересмотренный UmnickTrader VV3409 Формирует +956% к начальному депозиту.
 
FinGeR:
Мой пересмотренный UmnickTrader VV3409 Формирует +956% к начальному депозиту.

Алгоритм UmnickTrader V2M3P2 полностью идентичен исходному коду представленному здесь.

Отличия:

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

2. Разные мелочи по сохранению, восстановлению состояния из файла - выше в комментариях написано, как это правильно делать.

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

 

Уважаемый VictorArt, не совсем понятно, всетаки, почему параметр названый Вами spred влияет на характер торговли, если внимательно рассмотреть Ваш код то это совсем не спрэд ДЦ как Вы пишите в http://subscribe.ru/archive/fin.forex.adaptiveadviser/200910/13145644.html а скорее пременная влияющая на логику работы вашего советника? Причем если Вас бы не затруднило то объясните как? То же и с парметром StopBase, непонятно почему Вы его называете - парметром влияющем на скорость адаптации? По коду это скорее границы канала профит и лосс? Исходя из этого, Вы конечно извините, я прочитал там Ваши коментарии http://forum.alpari.ru/thread48389-11.html, Вы ли писали этот советник? И если да то всетаки хотелось бы подробной логики работы, например почему в коде arrayProfit[currentIndex] = StopBase-spred*3;
arrayLoss[currentIndex] = drawDown+spred*7;

используются множители 3 и 7 а не другие цифры? и.т.д по коду!

 
assol_7:

Уважаемый VictorArt, не совсем понятно, всетаки, почему параметр названый Вами spred влияет на характер торговли, если внимательно рассмотреть Ваш код то это совсем не спрэд ДЦ как Вы пишите в http://subscribe.ru/archive/fin.forex.adaptiveadviser/200910/13145644.html а скорее пременная влияющая на логику работы вашего советника? Причем если Вас бы не затруднило то объясните как? То же и с парметром StopBase, непонятно почему Вы его называете - парметром влияющем на скорость адаптации? По коду это скорее границы канала профит и лосс? Исходя из этого, Вы конечно извините, я прочитал там Ваши коментарии http://forum.alpari.ru/thread48389-11.html, Вы ли писали этот советник? И если да то всетаки хотелось бы подробной логики работы, например почему в коде arrayProfit[currentIndex] = StopBase-spred*3;
arrayLoss[currentIndex] = drawDown+spred*7;

используются множители 3 и 7 а не другие цифры? и.т.д по коду!

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

Spred - это действительно спрэд. На алгоритм он влияет, т.к. алгоритм зависит от срабатывания стоп-лосса, а стоп-лосс - от спрэда.

Не забывайте, что это реализация примера использования Общей Теории Торговли (ОТТ) - вариантов реализации может быть очень много разных. Например, в наших адаптивных торговых роботах, есть варианты похожие на этот, а есть и совершенно не похожие.

StopBase действительно влияет на скорость адаптации. И он имеет такое же отношение к границам канала, как метроном к громкости пианино :)

Часть алгоритма адаптивного советника рассмотрена на форуме.

 

Виктор, не могли бы Вы все-таки объяснить немного логику Вашего советника? Я так понял, не у меня одного возникли вопросы в "реверс-инжиниринге" :)

Идея, лежащая в основе советника, безусловно, интересная. Не хотелось бы "выплеснуть вместе с водой и ребенка" из-за недопонимания.

Почему лимиты и стопа рассчитываются именно так (критерий - больше половины СтопБэйс):

if( sumProfit > StopBase/2 )
    limit = sumProfit/8;
   if( sumLoss > StopBase/2 )
    stop = sumLoss/8;

?

И почему массивы заполняются именно так в зависимости от рез-та предыдущей сделки:

if( resultTransaction > 0 ) {
     // последняя сделка прибыльная
     arrayProfit[currentIndex] = maxProfit-spred*3;
     arrayLoss[currentIndex] = StopBase+spred*7;
    }
    else {
     // последняя сделка убыточная
     arrayProfit[currentIndex] = StopBase-spred*3;
     arrayLoss[currentIndex] = drawDown+spred*7;

Не понятно. Не оставьте, пожалуйста без ответа.

 
sts:

Виктор, не могли бы Вы все-таки объяснить немного логику Вашего советника? Я так понял, не у меня одного возникли вопросы в "реверс-инжиниринге" :)

Идея, лежащая в основе советника, безусловно, интересная. Не хотелось бы "выплеснуть вместе с водой и ребенка" из-за недопонимания.

Почему лимиты и стопа рассчитываются именно так (критерий - больше половины СтопБэйс):

if( sumProfit > StopBase/2 )
    limit = sumProfit/8;
   if( sumLoss > StopBase/2 )
    stop = sumLoss/8;

?



И почему массивы заполняются именно так в зависимости от рез-та предыдущей сделки:



if( resultTransaction > 0 ) {
     // последняя сделка прибыльная
     arrayProfit[currentIndex] = maxProfit-spred*3;
     arrayLoss[currentIndex] = StopBase+spred*7;
    }
    else {
     // последняя сделка убыточная
     arrayProfit[currentIndex] = StopBase-spred*3;
     arrayLoss[currentIndex] = drawDown+spred*7;

Не понятно. Не оставьте, пожалуйста без ответа.



if( sumProfit > StopBase/2 ) чтобы лимит и стоп не деградировали в ноль.

Если бы здесь:

if( resultTransaction > 0 ) {
// последняя сделка прибыльная
arrayProfit[currentIndex] = maxProfit;
arrayLoss[currentIndex] = StopBase;
}
else
if( resultTransaction < 0 ) {
// последняя сделка убыточная
arrayProfit[currentIndex] = StopBase;
arrayLoss[currentIndex] = drawDown;
}
была симметрия, то необходимости в if( sumProfit > StopBase/2 ) не было бы.
-spred*3 и +spred*7 используются для того, чтобы скомпенсировать влияние спрэда - возникает ассиметрия.

Влияние спрэда можно учесть и по другому. Данная реализация - один из возможных вариантов.

 

VictorArt писал(а):

...

Два раза перечитал :). Дошло наконец-то :) Оригинальный ход :) Респект!

 

Виктор, и последний вопрос - дабы не злоупотреблять Вашей отзывчивостью :)

НЕсимметрия ( -spred*3 и +spred*7 ) с какой целью вводится Вами - не только же для компенсанции спреда, но и что бы увеличить кол-во прибыльных сделок за счет увеличения вероятности срабатывания ТэйкПрофита?

Причина обращения: