Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Уважаемый автор статьи!
Вы проделали фундаментальный труд. Не могли бы Вы дать комментарии к использованию тралов. А точнее таблицу их совместного использования. Думается, что пока Вы ваяли библиотеку, накопили бесценный опыт по комбинированию тралов.
ЗЫ Редко встречаются такие статьи (труды). СПАСИБО!
Уважаемый автор статьи!
Вы проделали фундаментальный труд. Не могли бы Вы дать комментарии к использованию тралов. А точнее таблицу их совместного использования. Думается, что пока Вы ваяли библиотеку, накопили бесценный опыт по комбинированию тралов.
ЗЫ Редко встречаются такие статьи (труды). СПАСИБО!
В ближайшие дни постараюсь найти время и выложить парочку "сборных", комплексных трейлингов, а также более подробно высказаться по поводу поставленного вами вопроса.
Ещё раз спасибо за похвалу.
Для начала хотел бы поблагодарить автора за интересный код.
Вот пытаюсь, сделать так, чтобы лоссовые позиции поджимались KillLoss'ом, а прибыльные -тралились Удавкой. Все вроде работает, но выдает уйму ошибок. Я даже отключил их вывод в журнал, поскольку как-то страшно от их количества. БОльшая часть ошибок связана с невозможностью модификации ордера и проблемами с текущими тикерами, хотя, что забавно, позиции с этими тикерами уже благополучно закрыты. Еще интересно, что в зависимости от того, какую функцию я прописываю после else первой, выдается сообщение о некорректности переданных второй траловой функции значений, что, однако, не мешает этой функции благополучно работать. Да, следует отметить, что ошибки выдаются в тестере - мало ли, может, причина в том, что используется тестирование по контрольным точкам...
Наверное, я неправильно написал функцию start, поскольку частота и тип ошибок меняется в зависимости от того, что я пишу в этой части кода. Не подскажете как грамотно нужно это написать? Я, признаться, чайник, могу лепить только готовые части. Массу времени убью пока разберусь.
Спасибо!
//+------------------------------------------------------------------+
//| Start function |
//+------------------------------------------------------------------+
void start()
{
//---- check for history and trading
if(Bars<100 || IsTradeAllowed()==false) return;
//---- calculate open orders by current symbol
if(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
else KillLoss(OrderTicket(), dSpeedCoeff);
TrailingUdavka(OrderTicket(),iTrl_dist_1,iLevel_1,iTrl_dist_2,iLevel_2, iTrl_dist_3);
}
//+------------------------------------------------------------------+
Спасибо за похвалу и за замечания. Написанные мною функции, наверняка, небезгрешны (всё-таки лишь с весный MQL4 изучаю), однако о такой "лавине" ошибок узнаю впервые. Впрочем, без каких-либо конкретных примеров, боюсь, наш разговор будет малосодержательным.
Относительно процитированного вами участка кода. ИМХО, описанная вами задача может решаться, например, следующим путём:
В приведённом вами участке кода (возможно, правда, это лишь кусочек, реализующий описанный алгоритм), во-первых, перед вызовом той или иной функции трейлинга нет перебора ордеров (выбора позиции) через OrderSelect(), а, во-вторых, нет диференциации позиций на прибыльные и приносящие убыток. Надеюсь, мой пост будет полезным. С уважением.
Юрий, огромное спасибо! Теперь все работает без ошибок. Единственно в счетчик я вставил int перед i=0, тогда стало компилироваться без проблем:
for (int i=0;i<OrdersTotal();i++)
Я, впрочем, изначально был уверен, что большое количество сообщений об ошибках было результатом моего собственного творчества, а не следствием недостатков написанной Вами библиотеки.
Спасибо Вам за развернутый комментарий по моей проблеме. Вы мне очень помогли!
Было дело, пытался даже создать такой себе универсальный трейлинг (что-то вроде Грааля от трейлинга), который бы и из движений максимум выбирал, из из лоссовых ситуаций "вытаскивал"
с наименьшими потерями. Однако, то ли это ещё мне не по силам, то ли, весьма вероятно, в принципе невозможно, но в полной мере решить поставленную задачу пока я не смог.
В ближайшие дни постараюсь найти время и выложить парочку "сборных", комплексных трейлингов, а также более подробно высказаться по поводу поставленного вами вопроса.
Приветствую, Юрий!
Не буду оригинален, но огромное СПАСИБО за проделанную работу!
Достойно уважения и всяческих похвал!
Теперь, суть.
Я занялся MQL4 еще позже Вас, Юрий. А, по сему, простите за наивные вопросы.
Пытаюсь об"трейлить" D1. Когда "вручную" неоптимально писал "тралы" - они работали как я из-под них хотел (разве что, за искл. пп.6 и 7 - не "дошел"). У Вас это все системней и красивее, решил прислушаться. Но не тут-то было. То, собаки, не модифицируются, то, наоборот, SL срабатывает на уровне, который цена уже прошла (т.е. SL д.б. сработать на предыдущем баре по немодифицированному уровню, а ОН закрывается-то на следующем баре, но по уже измененному). Тестер, естественно, использую по сформированным барам дня. Понимаю, что "туплю", но не могу сообразить ГДЕ?
Если не трудно, подмогните, please! Уж очень здорово было бы пользовать Вашу библиотеку и поминать Вас добрым словом (по честному!).
Надеюсь на понимание, Sergun.
Предлагаю модифицировать ступенчатый трейлинг. Так покороче будет, да и понадёжней:
Можно как-то модифицировать функцию KillLoss, чтобы она работала для случаев, когда одновременно открыто более одного ордера? Если, к примеру, два ордера открыто, то не тралится ничего.