Советник на основании индикатора ForexOFFTrend3 - Страница 2 - Форум о заработке, инвестициях и криптовалюте
Форум о заработке, инвестициях и криптовалюте
animated-gif-3

Вернуться   Форум о заработке, инвестициях и криптовалюте > Практический трейдинг > Каталог Советников

Важная информация

Каталог Советников Советники, с описанием функциональных возможностей, представлены практикующими трейдерами. Отзывы. Файлы доступны к скачиванию. Тестирование, настройки, оптимизация.

Ответ
 
Опции темы Опции просмотра
Старый 28.03.2013, 19:19   #11
madman
Любитель
 
Аватар для madman
 
Регистрация: 17.02.2013
Сообщений: 469
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для madman с помощью ICQ
По умолчанию

Закрываем все сделки в пятницу



Цитата:



extern int MyHour=22;

extern int MyMinute=00;



// 5 - Friday

#define MyDay 5



datetime LastTradeTime;

//+------------------------------------------------------------------+

int init()

{

// установим время последней торговой операции вчерашним днем

LastTradeTime = CurTime()-24*60*60;

return(0);

}

//+------------------------------------------------------------------+

int deinit()

{

return(0);

}

//+------------------------------------------------------------------+

int start()

{

//----

// проверим, не закрывали ли мы все уже сегодня

// если да - выходим

if (TimeDayOfYear(CurTime())==TimeDayOfYear(LastTrade Time)) return(0);



// если не пятница - выходим

if (DayOfWeek()!=MyDay) return(0);



// проверим, не наступило ли время закрывать позиции

if (((TimeHour(CurTime())==MyHour)&&(TimeMinute(CurTi me())>=MyMinute))

||(TimeHour(CurTime())>MyHour))

{

// закроем все позиции и удалим ордера

while (OrdersTotal()>0)

{

// выделим первую позицию или ордер в списке

if (!OrderSelect(0, SELECT_BY_POS)) break; // в случае неудачи выйти из цикла



// если отложенный ордер, то удалить

if (OrderType()>OP_SELL)

{

if (!OrderDelete(OrderTicket()))

{

Print("Ошибка ", GetLastError()," при удалении отложенного ордера ",

OrderTicket());

break;

}

}

// если открытая позиция, то закрыть

else

{

double price;

if (OrderType()==OP_SELL)

price = MarketInfo(OrderSymbol(), MODE_ASK);

else

price = MarketInfo(OrderSymbol(), MODE_BID);





if (!OrderClose(OrderTicket(), OrderLots(), price, 3))

{

Print("Ошибка ", GetLastError()," при закрытии позиции ", OrderTicket());

break;

}

}



// пауза 10 секунд

Sleep(10000);

}

if (OrdersTotal()==0) LastTradeTime = CurTime();

}

return(0);

}

//+------------------------------------------------------------------+


А слвиг в 7 баров не сможем убрать, иначе смысл во второй линии (красной) теряется.
madman вне форума   Ответить с цитированием
Старый 28.03.2013, 23:01   #12
Yurchik36
Специалист
 
Аватар для Yurchik36
 
Регистрация: 15.09.2012
Сообщений: 919
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Автор темы По умолчанию

Спасибо madman, но этот код очень уж большой. Я воспользовался вашей предыдущой подсказкой с тем малым кодом. Потому что у меня советник меньше места занимает, нежели то что вы скинули в последнем сообщении.



Теперь советник будет закрывать выставленный ордер тогда когда вы ему сами зададите. Я ему вынес переменные в настройки советника. Но хочу сразу оговориться. Тестировал с нового года. И поулчил такие результаты:

Если закрывать ордера впятницу в 22 часа, то все пятницы закрылись. Если закрывать в пятницу в 23 часа то за три месяца в одну пятницу не закрылся ордер. А если закрывать в 23:55 то не закрылось четыре пятницы за три месяца. Из этого делаю вывод: скорее всего в последнии минуты в пятницу идёт большое проскальзывани или что-то в этом вроде и советник просто не успевает закрыть ордера. Как этого избежать я незнаю. Поэтому для себя оставлю закрытие ордеров в пятницу в 22 часа. Иногда там бывает флет, так что особо и не заработаешь за эти два часа)



А теперь о параметрах советника:

DayClose- день в котором закрывается последний за неделю ордер в советнике, в нашем случае 5. ( числа 0,1,2,3,4,5,6 при чём 1-5 рабочие дни недели, 6 - суббота, 0 -воскресенье)

HourClose - часы, в которых закрывается последний за неделю ордер в советнике, в моём случае 22. (0,1,2...23)

MinuteClose -минуты, в которых закрывается последний за неделю ордер в советнике, в моём случае 0. (0,1,2...59)



Сразу же захотелось протестировать его. Поставил тестировать на EURUSD на Н1 за последние три месяца, т.е. с 1 января 2013года по сей день. И вот что получилось:



Но потои посмотрел и увидел что первую сделку советник открывает не 1 января, а только 23 января. Получается у меня нету истории за это время, а то что получилось на графике это мы видим его работу за 2 месяца и 6 дней. А получили мы 95% результат с просадкой 22%. Вроде бы неплохо, но радоваться рано, попробую на выходных закачать историю за более длительное время и увидеть что получится потом.



Andrey, то что вы говорили про первый и второй сигнал после ГЭПа я помню, только ещё незнаю как правильно реализовать это в коде. В принципе, там убыток будет небольшой, так что советник может и так торговать. А если учесть ещё что ГЭПЫ происходят не каждый день, то становится ещё легче. Но я думаю со временем смогу это исправить.



Отзывы, коментарии, пожелания, просьбы приветсвуются.



Советник с индикатором прилагается.
Вложения
Тип файла: zip ForexOFFTrend3 sovetnik 1,2.zip (1.8 Кб, 71 просмотров)
Yurchik36 вне форума   Ответить с цитированием
Старый 29.03.2013, 06:07   #13
madman
Любитель
 
Аватар для madman
 
Регистрация: 17.02.2013
Сообщений: 469
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для madman с помощью ICQ
По умолчанию

Прогнал. тестироватьсястал дольше, видать сложновато ему код перебирать (ну и пусть). Прибыльность значительно увеличилась, по сравнению с предыдущей версией (практически в 2 раза). И все же на ряду с тейком нужен трал. Пару десятков ордеров выходят в плюс пунктов на 30, но противоположного сигнала не получая не закрываются и уходят в минус. Можем этого избехать, если и не профит получать, то хотя бы в БУ переводить.
madman вне форума   Ответить с цитированием
Старый 29.03.2013, 20:01   #14
Yurchik36
Специалист
 
Аватар для Yurchik36
 
Регистрация: 15.09.2012
Сообщений: 919
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Автор темы По умолчанию

Цитата:
Сообщение от madman Посмотреть сообщение
Прогнал. тестироватьсястал дольше, видать сложновато ему код перебирать (ну и пусть). Прибыльность значительно увеличилась, по сравнению с предыдущей версией (практически в 2 раза). И все же на ряду с тейком нужен трал. Пару десятков ордеров выходят в плюс пунктов на 30, но противоположного сигнала не получая не закрываются и уходят в минус. Можем этого избехать, если и не профит получать, то хотя бы в БУ переводить.


Я тоже думал на счёт этого, но в данном советнике очень сложно такое реализовать в связи с тем, что всегда один ордер находится в рынке. А если поизменять то это в корне надо будет поменять код, что для меня сложновато и незнаю в какую сторону копать. Думаю когда-нибудь ночью приснится в каком направлении надо двигаться.



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

Но тоже незнаю, если будет серия из убыточных ордеров, потом один положительный сможет всю её перекрыть?
Yurchik36 вне форума   Ответить с цитированием
Старый 29.03.2013, 20:39   #15
madman
Любитель
 
Аватар для madman
 
Регистрация: 17.02.2013
Сообщений: 469
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для madman с помощью ICQ
По умолчанию

Подумал еще, а что если нам позаимствовать часть от советника Импульс? То есть основную функцию входа выполняет по индикатору, плюс к этому на импульсах дополнительно входить (только импульсы грубые брать, скажем по часовику на 20-30 пунктов). Ордер тотал сделать равным 2. Как такая идея?
madman вне форума   Ответить с цитированием
Старый 29.03.2013, 21:41   #16
Yurchik36
Специалист
 
Аватар для Yurchik36
 
Регистрация: 15.09.2012
Сообщений: 919
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Автор темы По умолчанию

Так это вы хотите в один советник впихнуть все возможные торговые стратегии) идея конечно неплохая, но думаю не стоит этого делать именно в этом советнике. потому что у него всегда один открытый ордер.

А если попробую прикрутить ещё и импульс, то может проскачить, и получится два открытый ордера по данному индикатору и не одного по импульсу.

Да и два открытых ордера уже вместе будут давать большую просадку.

Так что мне кажется дополнительных сигналов лучше не прикручивать. Лучше буду ломать голову как сделать трейлингстоп в данном коде а также постепенно увеличивать лот.



Кстатиmadman, в данной теме пишем в основном только ты да я. Только был посмотрел Andrey

, да spartak спросил про индикатор к советнику. Наверное не заинтересовал остальных людей данный советник. Рискну предположить что он у других сливает, а только на моей истории зарабатывает. Ведь ещё никто не выложил сколько у него заработал, сколько просадка была, сколько ордеров открыл. Так что может и не стоит над ним пыхтеть сильно.

А лично сам я уже подумываю где бы взять 100$ и вести торговлю на нём) Только ещё доделаю мелочи всякие.



Кстати, у меня щас нормальный интернет, постараюсь на выходных скачать историю за год, а то и больше и посмотреть чего же на самом деле заслуживает данный советник.
Yurchik36 вне форума   Ответить с цитированием
Старый 30.03.2013, 09:16   #17
madman
Любитель
 
Аватар для madman
 
Регистрация: 17.02.2013
Сообщений: 469
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для madman с помощью ICQ
По умолчанию

На счет импульса. Ордер живет не долго в связи с коротким тейком и стопом. И импульсы возникают не часто. По этому предложил такой вариант для увеличения оборота. Я бы назвал такую идею "промежуточная торговля". Как вариант сделать вход уменьшенным лотом.

Всегда пытаюсь перебрать возможные варианты, бывает в спорах рождается истина.
madman вне форума   Ответить с цитированием
Старый 30.03.2013, 22:49   #18
Yurchik36
Специалист
 
Аватар для Yurchik36
 
Регистрация: 15.09.2012
Сообщений: 919
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Автор темы По умолчанию

Цитата:
Сообщение от madman Посмотреть сообщение
На счет импульса. Ордер живет не долго в связи с коротким тейком и стопом. И импульсы возникают не часто. По этому предложил такой вариант для увеличения оборота. Я бы назвал такую идею "промежуточная торговля". Как вариант сделать вход уменьшенным лотом.

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

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

Но все эти выходные потратил на тестирование его на стороннем компьютере.

Первым делом установил терминал от робофорекса.

И решил протестировать его за длительный период. Но котировок хватило примерно только на 4 месяца.



Затем думаю, дай в терминале подгружу котировки и пересчитаю таймфреймы, может что улучшится.

Стало наоборот хуже. Теперь котировки стали только за последние 3 дня. Чушь какая-то. До загрузки было больше данных чем после.



Ну а потом я решил скачать котировки с леприкона. Но там ненашёл брокера робофорекс, поэтому скачал инстафорекс. Вообще нормально так делать? Данные же во всё мире должны быть одинаковые. Котировки стали за более длительный промежуток времени. Смог протестировать 11 месяцев. И то жалел, ибо тестирование длилось около 6-7 часов. Возможно из-за того что комп старенький, или как вы madman и предполагали что код советника не оптимизирован под тестер.



Но можно ли доверять таким результатам? В них только 26% правды. Мне кажется это маловато, и надеюсь с хорошими котировками советник себя поведётлучше.



В соседней теме предлагался путь как добиться 90% точности, но мне он не нравился, из-за того что всегда нужно чтоб висел скрипт и т.д. Ну что ж, если этого стоит, то придётся поступить так.



На данный момент в советнике ничего не модернизировал, хочу получить для начала 90% результата в тестере.
Yurchik36 вне форума   Ответить с цитированием
Старый 31.03.2013, 08:33   #19
madman
Любитель
 
Аватар для madman
 
Регистрация: 17.02.2013
Сообщений: 469
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для madman с помощью ICQ
По умолчанию

Сейчас качаю хорошие коты на фунтика и его там погоняю. А вот на счет мультивалютности нашего советника я не на шутку заинтересовался. Теоретически, если он не спеша ведет по одному ордеру на валюте, то пусть себе ведет на здоровье 3 ордера с разных валют. Спать не лягу, но добьюсь этого (по крайней мере наброски сделаю).
madman вне форума   Ответить с цитированием
Старый 31.03.2013, 08:53   #20
Yurchik36
Специалист
 
Аватар для Yurchik36
 
Регистрация: 15.09.2012
Сообщений: 919
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Автор темы По умолчанию

Цитата:
Сообщение от madman Посмотреть сообщение
Сейчас качаю хорошие коты на фунтика и его там погоняю. А вот на счет мультивалютности нашего советника я не на шутку заинтересовался. Теоретически, если он не спеша ведет по одному ордеру на валюте, то пусть себе ведет на здоровье 3 ордера с разных валют. Спать не лягу, но добьюсь этого (по крайней мере наброски сделаю).


Про мультивалютность я только ЗА. Пару дней назад пробовал его тестировать на других валютах. Но только есть нюансы. На одних он сливает, а на других зарабатывает. Т.е. надо подобрать валюты, которые идут плавно и долго. Которые часто флетуют, на тех соответственно не зарабатывает. Если взять из общего списка пары три-четыре, то думаю толк будет. Так же надо стараться подобрать, чтоб спред был не слишком большой, иначе во флете будут намного бОльшие минуса.



Ночью не мог уснуть. Думал как поработать над его улучшением. И теоретически придумал. Т.е. сделать так, чтобы если линии пересеклись, открыть ордер в БАЙ. Можно его закрыть в профит или в ноль. Но если предыдущий ордер был БАЙ, то следующий такой же не открывать, а ждать сигнала на СЕЛЛ.

Т.е. получается у нас ордера будут чередоваться БАЙ СЕЛЛ БАЙ СЕЛЛ. Но по индикатору получается точно также. Нельзя линиям пересечься два раза так, чтобы был один и тот же сигнал. По индикатору тоже сигналы будут меняться.

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

madman что скажете?)
Yurchik36 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Загрузка...


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
vB.Sponsors

© 2009-2020 «ACRYPTOINVEST.COM»
сообщество трейдеров, инвесторов и игроков