[open source] [Советник] Mix Scalper: сконструируй свой Грааль!

От Archmagister, 16 сентября, 2013 в Лаборатория ProfitFX

#1876


Закончен недельный реал-цент тест.
Соблюдение заранее обдуманных правил управления рисками позволило на безоткате
избежать стоп-аута и за оставшиеся 3 дня наверстать половину убытков ~ 10% из 20% (Скрин).
Бэктест за эту же неделю показал слив на третий день.

Итак, подведу свои итоги тестирования идеи, представленной "teapeak" в его сете.
1. Проведены бэктестеты и результаты показывают хорошую доходность
при обязательном обнулении несколько раз в год на полном автопилоте.
Подобраны предварительные настройки для форвард теста для своего брокера/пары.
2. Форвард демо-тест выявил баги в логике ЕА по закрытию сетки.
Ttomas обещал по выходу из отпуска заняться этим.
3. Форвард реал-цент тест показал реальность исполнения и соответствие сделок бэктестам.
Обнаружены различия в инди SSRC. Подкорректированы настройки.
4. Определены и проверены некоторые правила для работы по данной стратегии.

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

Сет, которым буду работать на реале РВД, выкладываю.



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

Добавлено: 12-04-2014 07:27:51


Так, походу все увлеклись усреднителем и забили на режим одной сделки :))

Тут прозвучала прекрасная идея - о том, как полноценно совместить 2 эти режима.

У нас в режиме одной сделки есть 2 опции: закрытие по противоположному сигналу и закрытие по системе весов.
Так вот - сделать новую версию такой, чтобы режим усреднитля также признавал эти 2 вида закрытий - и закрывал всю сетку ордеров при наступлении соответствующего сигнала.

Что будет в итоге? А в итоге мы совместим преимущества обоих режимов: никаких стремительных сливов на безоткатах + простор для усреднений. По сути это будет продвинутый режим одной сделки,которая "размазана" по всей ширине сетки.

Особенно эффективен данный режим будет на М1 с контролем по вышестоящему ТФ.



Меня заинтриговал ваш сет с режимом одной сделки в текущем виде. Не поделитесь бэктестом? Мне интересно насколько все таки точнее входы на старших ТФ. Спасибо.

Изменено 12 апреля, 2014 пользователем HTrader

#1877

Ну кину в копилку эксперимента и свои "5 копеечек". С 04042014 ставил на реал все 3 сэта, но на разных брокерах с фиксированным лотом 0.01. На GoForex - ra0azp, результат около 20$ в плюс. Сэт Sergey5 поставил на центовик РОБО, - просадка 6000 центов, не закрыты ордера, и на Alpari ECN New, - просадка на сегодня 172$ на счете 500$. C сета Sergey5(c сэта teapeak для версии 3.34) сделал сэт на пару audjpy (выкладывал сэт на форум) и с 7.04 добавил этот же сэт на eurusd - результат 150$ плюс. На Alpari std, сет Sergey5, - просадка 402$ на депо 1300$. В общем картинка вот такая. Время для выхода на реал выбрали скажем мягко - не самое лучшее, но может это и к лучшему, есть над чем подумать. Всем хороших профитов!

#1878


Так, походу все увлеклись усреднителем и забили на режим одной сделки :))

Тут прозвучала прекрасная идея - о том, как полноценно совместить 2 эти режима.

У нас в режиме одной сделки есть 2 опции: закрытие по противоположному сигналу и закрытие по системе весов.
Так вот - сделать новую версию такой, чтобы режим усреднитля также признавал эти 2 вида закрытий - и закрывал всю сетку ордеров при наступлении соответствующего сигнала.

Что будет в итоге? А в итоге мы совместим преимущества обоих режимов: никаких стремительных сливов на безоткатах + простор для усреднений. По сути это будет продвинутый режим одной сделки,которая "размазана" по всей ширине сетки.

Особенно эффективен данный режим будет на М1 с контролем по вышестоящему ТФ.



Поддерживаю. Я пробовал сделать что-то вроде этого, но по системе весов. К сожалению бот НЕ закрывает в минус. Он закрывает по весам только в +. Ставил вход по весам индикаторов 3 из 4х а выход по 4 из 4. Не плохо но рано или поздно сливает.
В таком конфиго когда он НЕ закрывает сделку в -. На безоткате всеровно слив. Хотя может гдето есть опция что-бы он сетку и в убыток закрывал (я не нашел)?!
#1879


Знакомые опытные трейдеры используют закрытие ордеров по частям, в 2-3 этапа, по 30%-40% начального объема позиции.
Если ордеров открывается несколько, то в профите часть трейдеров каждый ордер сопровождают и закрывают по частях обособленно - а часть трейдеров плюсовую сетку (хоть и из 2-х ордеров) рассматривают как совокупную позицию и по частям закрывают оба ордера одновременно.
Начальный стоп (да и ТП) у пары ордеров могут быть как разными, так и одинаковыми.

Б\у же нередко:
- на закрытии первой части ордера б/у выставляют на уровень открытия ордера
- на закрытии второй части ордера б/у выставляется на уровень закрытия первой части ордера.

Но реализация алгоритмов частичного закрытия ордеров в коде не такая простая.
Курс может неоднократно проходить вверх/вниз уровни закрытия ордеров и надо не допустить более чем однократное закрытие части ордера на каждом из уровней частичного закрытия. Флуктуация цены, локальный флэт вещь в данном случае очень неприятная.
Также, помнится, при частичном закрытии меняется № ордера и, кажется, и комментарий - а возможно и магик.

Также надо помнить или перевычислять на 2-м и более уровне закрытия ордера начальный (полный) объем ордера.
Допустим, если пользователем задано 3-х уровневое закрытие 40%-30%-30% и полный объем ордера был 0.1 лота, то на втором уровне закрытия надо понимать, что текущий ордер 0.06 лота есть остаток начального ордера 0.1 лота после закрытия 40% объема ордера.

Похоже, надо сохранять инфу о закрытии части ордеров в глобальных или служебных ext переменных.

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



Ttomas и коллеги, я весьма убежден, что для ТФ от м15 эффективная торговля отдельными ордерами (и даже с доливкой по движению) возможна только с использованием опции частичного закрытия ордеров и перевода остатка в б/у.
Насколько бы не был крут бот, на тф от м15 (даже от м5 м.б.) пр проходе ценой 20-30 старых пипсов от 30% (до 50%) ордера надо крыть, а остаток (на том или ином уровне) переводить (ставить) в б/у.

Я согласен с тем, что в боте уже есть и обсуждаются весьма интересные алгоритмы выхода.
На м1-м5 закрытие по умно высчитанному встречному сигналу выглядит весьма перспективно.
Но снижающаяся внутридневная волатильность на м1-м5 де-факто не учитывается - а она объективно есть.
Опции частичного закрытия ордеров и перевода в б/у вроде и должны позволять опосредствованно учитывать волатильность пары за анализируемый период и подбирать оптимальные настройки для торгов м15-н1 - да и вообще, в принципе, позволяют торговать на ТФ с более вменяемым (существенно меньшим) рыночным шумом.
Вообще есть мнение, что маркетмейкеры активно учитывают и используют ТФ м15...

Я понимаю, что опция частичного закрытия ордеров (да и несколько уровневого б/у) достаточно непросты.
Отрабатывать флуктуацию цены, топтание на месте и/или многократные проходы заданных пользователем уровней частичного закрытия ордера не так-то просто.
Но имха такая, что если этих опций не будет, то стабильную прибыль на тф от м15 достичь будет крайне сложно.
И, повторюсь, такой ММ проверен и успешно применяется многими опытными трейдерами и, в этом смысле, не является предположением, а есть установленным фактом.
#1880


.. Хотя может где-то есть опция что-бы он сетку и в убыток закрывал (я не нашел)?!


В настройках
п.5.3.1.
CloseBuyOnRevers=True - закрываем по противоположному сигналу ? (да/нет)
CloseSellOnRevers=True ---------------------------------------------------------------

если да, то закрываем по системе весов ? (да/нет)

CloseBuyOnWeightSystem=True
CloseSellOnWeightSystem=True.

п.5.4.
Выбираем сигнал, по которому закрываем и его вес.

Сетки закрывает любые.
#1881

Благодарю всех за проделанную работу во время моего отпуска. Много страниц подлежат детальному изучению, Много идей требуют осмысления и проверки. За один день это все не сделать и я постараюсь в кратчайшие сроки подправить бота под современный полет мысли сложившийся в теме :)

Пока коротко о главном. 1 - В роботе нет закрытия сразу двух направлений сети. Возможно это было из-за неправильного исполнения скомпилированного кода в 600 билде на других билдах. На данный момент я загрузил себе 625 и буду выпускать последующие версии в нем и более новых. При этом в коде обнаружилось более 20 предупреждений.
2 - Я вроде как закончил ТрендМатрикс и если ближайшие 2-3 дня его работоспособность будет подтверждена то можно будет поговорить о замене ТМА Инфо 040 на него.
3 - ТМА+СГ я уже зациклил и теперь он имеет такой же параметр срока сигнала как и ССРЦ.
4 - Пока не решено, но возможно в советнике появится еще один режим тактики ММ он уже проверялся в другом боте но адаптация к этому пока не проводилась. Тактику я пока оставлю в секрете :)
5 - Я подумываю о вводе Одзимадиаса в армию индикаторов, Но пока не решено в каком виде. Рассматривается 3 варианта - 1:только центральная линия(направление тренда) 2: как осцилятор 3 линии как уровни и 3: все вместе и на выбор. Ну и как всегда наверное в двух вариантах Текущий и Настраиваемый ТФ :d
6 - Развею миф. Закрытие ордеров в усреднителе и локере производятся только по ТП или СЛ если таковые имеются. В следующей версии я сниму это ограничение под ответственность конечных пользователей.
7 - Старик, Я прекрасно понимаю важность частичного закрытия ордеров на старших тф. Меня не столько пугает сложность реализации сколько сам алгоритм и принцип. Я например как трейдер с большими целями перекрываю лимитными ордерами, а затем кидаю скрипт взаимного закрытия, но все это делается руками и головой. Механизировать данный подход можно но нужно просто по пунктам разобрать ТЗ модуля. Как понимаю такая тактика подойдет только для режима одного ордера. В общем нужно поступить в классическом стиле трансформеров: Собраться и Разобраться :)
8 - Я пока морально не готов вводить дополнительный усиленный сигнал. По сути ничего сложного, простой копипаст, но по факту много внутренних статических переменных и глобальное изменение ядра бота. Работы на добрые 5-8 дней при наличии вдохновения.
Ну и 9 - Новостной индикатор. Когда закончу основными предыдущими пунктами и получу файл истории который оставлял для объединения вернусь к этому вопросу.

Это пока предварительные планы на разработку. Скорее всего буду делать поэтапно в 2-3 подхода. Быстро все сделать не обещаю, буду периодически и другим ботам время уделять.

#1882


6 - Развею миф. Закрытие ордеров в усреднителе и локере производятся только по ТП или СЛ если таковые имеются. В следующей версии я сниму это ограничение под ответственность конечных пользователей.


С возвращением <:-p>Мифы - они такие живучие. Геракла до сих пор в школе проходят b-)

Собрал простенький сет-сетку с закрытием по обратному сигналу.
Мифический дух Эллады вселился в Микса и кроет сетки и вверх и вниз :))

test_close_setka_by_signal_eu_m1.set17 скач.
Close_setka_by_signal.rar13 скач.
Безымянный.png

Изменено 12 апреля, 2014 пользователем Sergey5

Автор#1883

Я и сам удивился - с чего бы это усреднителю закрываться по системе весов, когда такая возможность не была предусмотрена? Не уж то ещё один баг как с неправильным закрытием ордеров из противонаправленной сетки ордеров?

#1884


Я и сам удивился - с чего бы это усреднителю закрываться по системе весов, когда такая возможность не была предусмотрена? Не уж то ещё один баг как с неправильным закрытием ордеров из противонаправленной сетки ордеров?


Сегодня же праздник - День Космонавтики <:-p>Смотри на этот "баг???" как на новую возможность конструктора b-)
#1885

Ну по системе весов не должен закрываться, а вот по противоположному сигналу легко.
if (SiggBuy==True && CloseSellOnRewers==True && LokerModeON==False) CloseAllMySellOrders();
if (SiggSell==True && CloseBuyOnRewers==True && LokerModeON==False) CloseAllMyBuyOrders();
if (SiggCloseSell==True && CloseBuyOnWeigthSistem==True && LokerModeON==False && UsredOn==false) {CloseAllMySellOrders();}
if (SiggCloseBuy==True && CloseBuyOnWeigthSistem==True && LokerModeON==False && UsredOn==false) {CloseAllMyBuyOrders();}

Это когда индусы код пишут у них "бага", когда пишут наши это называется "Фича".
Да, день космонавтики просто велит чудеса в коде по находить. Главное что сегодня не День всех святых :))

#1886


7 - Старик, Я прекрасно понимаю важность частичного закрытия ордеров на старших тф. Меня не столько пугает сложность реализации сколько сам алгоритм и принцип. Я например как трейдер с большими целями перекрываю лимитными ордерами, а затем кидаю скрипт взаимного закрытия, но все это делается руками и головой. Механизировать данный подход можно но нужно просто по пунктам разобрать ТЗ модуля. Как понимаю такая тактика подойдет только для режима одного ордера. В общем нужно поступить в классическом стиле трансформеров: Собраться и Разобраться :)



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


По Вашим просьбам немного доработан алгоритм доливки по тренду, параметры:

//+------------------------------------------------------------------+
extern int AddOrderMax = 2; // Max кол-во доливок, 0 - отключено
extern double AddOrderMult = 1; // Множитель объёма доливочного ордера
extern int AddOrderPips = 20; // Через сколько пунктов добавлять
//+------------------------------------------------------------------+


Все ордера сопровождаются траллом, и соб-сно, кратковременное отключение терминала или перенос позиций на следующую неделю никак не повлияет на качество работы эксперта.


Вот такой вот минимальный вариант доливки был реализован по итогу обсуждения и вроде показал себе рабочим.
На больших целях это выглядит вроде разумно.
#1887

Насколько видно по параметрам идет доливка через фиксированное расстояние в пунктах. Для нашего бота я подумывал о реверсе модуля усреднителя. Доливку осуществлять на повторных сигналах через минимальное расстояние в пунктах в плюс. (Сакральным смыслом на откатах в пределах трендового канала)
Предоставить доливкам все ту же систему управления лотами как и режим усреднения в плоь до пирамидинга. Скорее всего с перерасчетом сл на уровень бу+пункты после определенного колена. + модуль частичного закрытия в несколько подходов %%от лотов в %%уменьшения прибыли с моментальным закрытием на определенном уровне. Ведь если сократить размер прибыльной сити скажем в 2 раза можно получить прибыль и возможно остаться в торговле если глубокий откат не оказался разворотом. Тут есть много над чем подумать. Мое виденье я озвучил.
Хотелось бы конечно увидеть пару тройку описаний на подобный модуль чтобы коллективными силами выбрать и доработать наиболее подходящий.

#1888


Насколько видно по параметрам идет доливка через фиксированное расстояние в пунктах.
Для нашего бота я подумывал о реверсе модуля усреднителя.
Доливку осуществлять на повторных сигналах через минимальное расстояние в пунктах в плюс.
(Сакральным смыслом на откатах в пределах трендового канала)


Не знаю насколько важны здесь термины, но я бы, кроме повторного сигнала, также говорил бы и о длящемся (не отмененном) сигнале, по которому уже был открыт (и закрыт) минимум один предыдущий ордер.

Про опасность и управление повторным открытием ордеров по 1 (одному) длящемуся (сохраняющемуся) сигналу на вход я как-то писал полгода+ назад. Посмотрите, может что полезное окажется...
Спойлер



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

Иначе говоря, бот получил/выработал сигнал на вход, ордер открылся и закрылся по стопу – и, если тот же сигнал на вход еще сохраняется (актуален), то бот обязан снова (повторно) открывать ордер.
При этом при открытии, по одному и тому же сигналу на вход, у первого ордера максимальна вероятность получения прибыли и минимальна вероятность получения убытка по начальному стопу ордера. А вот на втором и последующем последовательных однонаправленных ордерах, наоборот, падает вероятность получить прибыль и растет вероятность получить убыток по стопу, установленному при открытии ордера.
А поскольку бот предназначен для торгов на реальных деньгах, то неконтролируемое повторное открытие ордеров по одному входному сигналу должно быть исключено. А, контролируемо, должно осуществляться только согласно заранее сформулированных правил и ограничений пользователя.

Очень быстрое, нерасчетное закрытие ордеров бота по стопу может происходить в нескольких случаях:
1) по расчетному начальному стопу ордера вследствие дребезжания курса, шипов, особенно на новостях (осенью мы этого всласть получим);
2) по стопу трала в случае, если пользователь задаст очень малый шаг трала;
3) по стопу трала в случае, если в трале будет баг и трал будет работать нештатно, в том числе непрерывно.

Вследствие очень быстрого закрытия ордеров бота по стопу могут:
1) существенно возрастать количество повторно открываемых ордеров по одному сигналу на вход,
2) быть получены стопы, задаваемые при открытия ордера - в том числе несколько убытков подряд.
3) Нарушены требования конкретного ДЦ по средней длительности жизни ордера или минимальному среднему ходу курса после открытия ордера. ДЦ может создать проблемы, если много ордеров открывается и закрывается очень быстро.
В общем, как по мне, повторным открытием ордеров по 1 сигналу надо жестко управлять.

------

Ключевые переменные контроля предшествующего входного сигнала и управления повторным открытием ордеров я бы объявил external - с отметкой в описании, что данные переменные служебные, используются ботом и пользователь изменять их не должен.
Предлагаю это на всякий случай: например, на случай случайного отключения пользователем или необходимости перегрузки терминала – а также для обеспечения попытки применения бота на других активах и круглосуточной торговли с остановкой на выходные.
Служебные external переменные бота никак не усложнят, но могут сделать для пользователей его применение более гибким и надежным.

Также отмечу, что мне как пользователю было бы удобно видеть на экране инфу о предыдущем и текущем сигнале на вход, сколько и каких ордеров в рамках отработки старого сигнала на вход уже было открыто и может быть открыто еще.
Это желательно для лучшего планирования торгов ботом, если в рынке есть признаки тренда – может, можно будет разрешить боту открыть дополнительные ордера или, наоборот, уменьшить разрешаемое количество ордеров, открываемых по направлению старого сигнала на вход.

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

Для управления процессом открытия повторных ордеров по 1 сигналу, имхо, могут понадобиться следующие управляющие переменные:
1) Пауза перед выставлением следующего ордера после закрытия предыдущего – 60 секунд?
Задается пользователем.
Опция блокирует слишком частое открытие ордеров по любой причине – в том числе при баге трала или слишком малом шаге трала, ошибочно заданном пользователем.
(Некоторые ДЦ мониторят среднюю длительность сделки и могут иметь претензии, если в среднем ордера в рынке меньше какого-то времени. Данная опция здесь не поможет.)
2) максимальное количество обособленных однонаправленных ордеров, которые можно выставить по 1 сохраняющемуся сигналу на вход. Задается пользователем.
Возможно, оптимально раздельно задавать разрешаемое количество бай и сэл ордеров.
Возможно, при =0 контроль количества ордеров отключен – для включения =1 и более.
3) Количество выставлявшихся бай и сэл ордеров по одному сигналу на вход. Вычисляется ботом. Собственно, счетчики количества выставленных ордеров после закрытия предыдущих по стопу (трала, б/у или заданному при открытии ордера) – по 1 сохраняющемуся сигналу на вход, конечно.
4) Коэффициент коррекции объема повторных ордеров по 1 продолжающемуся сигналу. Задается юзером. Например, при коэффициенте 0.8 первый ордер по сигналу максимален, второй 0.8, третий 0.64 от максимального первого ордера. При =1 ордера одинаковы.
Опция не обязательна, но вроде полезная....
5) Переменная текущего сигнала на вход – в моменте (потиковый). Вычисляется ботом.
Мне симпатичны значения переменной: 1 сигнал на покупку, 0 нет сигнала и -1 сигнал на продажу.
Переменная для визуализации хода торгов и для сравнения с переменной продолжающегося сигнала.
6) переменная предыдущего (продолжающегося?) сигнала на вход, по которому был открыт предыдущий ордер. Вычисляется ботом.
Переменная ключевая, надо исчерпывающе продумать все ситуации изменения ее значения.
На первый взгляд, обнуляется, если в рынке нет ордеров и текущий сигнал на вход отсутствует (нейтрален).
И, также, переменная предыдущего (продолжающегося, сохраняющегося) сигнала на вход должна менять значение на «есть новый сигнал», если переменная текущего сигнала на вход имеет противоположное значение, ордеров в рынке нет и нужно выставлять (первый) ордер, противоположный предыдущему.


Отработка открытия повторных ордеров по одному продолжающемуся сигналу на вход совсем не так уж и проста, как кажется на первый взгляд.
Надо точно расставить в коде где какая переменная вычисляется (меняет значение) и применяется.
Пытаться описать все ситуации я сходу не готов. Да и вам по коду бота виднее где и как реализовывать опцию.
Но я попытался обратить ваше внимание на наличие проблемы выставления повторных ордеров по 1 продолжающемуся сигналу и выполнил грубый предварительный анализ ситуации и решения.
Удачи! :)

...
Что касается опции доливки по тренду, то, возможно, за эталонную реализацию этой опции можно было бы принять реализацию pavelg в Рыбалке - и не мучатся.
По крайней мере управление опцией, на первый взгляд, в Рыбалке грамотное.
...

#1889

Да, тут есть над чем поразмыслить и что взять на вооружение.

Длящийся сигнал это действительно прераготива режима одной сделки на 5 15+ тф.

Если обобщить подход к этому вопросу то нам нужно переоткрывать ордер в направлении предыдущего сигнала несколько раз
1- в течении времени его существования(выделить временной интервал скажем 3-4 бара) или
2- пока он не исчерпает себя (раздельно количество профитных(максимальный ход цены в направлении) или лосовых пунктов(потерь между открытием и лосом или в случае трала - используется его размер)) ну и
3 -количество попыток переоткрытия.
4- Между переоткрытиями ставим паузу в Н минут.
5 -Ставим множитель лота чтоб повторно открываться уменьшенным.
6 - Заоднем ставим защитную подушку по волонтильности. И если текущая цена меньше цены сигнала на шарану АТР то невходим(или даже обнуляем сигнал).
Каждый тик проверяем сигнал если он существует то восполняем время жизни. Если появился противоположный то скорее всего кроем ордер и обнулившись переоткрываем в его направлении. Если сигнала нет то следим за ордером и переоткрываемся если сигнал не потерял срок годности/качество/попытки.

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

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

Изменено 12 апреля, 2014 пользователем Ttomas

#1890



.. Хотя может где-то есть опция что-бы он сетку и в убыток закрывал (я не нашел)?!


В настройках
п.5.3.1.
CloseBuyOnRevers=True - закрываем по противоположному сигналу ? (да/нет)
CloseSellOnRevers=True ---------------------------------------------------------------

если да, то закрываем по системе весов ? (да/нет)

CloseBuyOnWeightSystem=True
CloseSellOnWeightSystem=True.

п.5.4.
Выбираем сигнал, по которому закрываем и его вес.

Сетки закрывает любые.


Нашел, проверил, результат покачто не впечетляет. Льет не по детски v:)
#1891


Пока коротко о главном.
1 - В роботе нет закрытия сразу двух направлений сети. Возможно это было из-за неправильного исполнения скомпилированного кода в 600 билде на других билдах. На данный момент я загрузил себе 625 и буду выпускать последующие версии в нем и более новых. При этом в коде обнаружилось более 20 предупреждений.

2 - Я вроде как закончил ТрендМатрикс и если ближайшие 2-3 дня его работоспособность будет подтверждена то можно будет поговорить о замене ТМА Инфо 040 на него.



Ttomas,
1. Можешь пока выложить 3.34 скомпилированный в 625, чтобы посмотреть, в этом ли дело?
Типа, версия 3.34.625 b-)

2. Не надо удалять ТМА Инфо 040 , на нём несколько сетов уже работают.
#1892



Пока коротко о главном.




Ttomas,
1. Можешь пока выложить 3.34 скомпилированный в 625, чтобы посмотреть, в этом ли дело?
Типа, версия 3.34.625 b-)

2. Не надо удалять ТМА Инфо 040 , на нём несколько сетов уже работают.

Может это решит проблему с вылетом при оптимизации и ошибками выставления ордера 1и 130 на тиковой истории. Ждем с нетерпением.
#1893

Итак. Выкладываю очередную версию советника под номером 03.35. Собранную на 625 билде.

Основные изменения: Добавлено Время жизни для сигнала ТМА СГ. Добавлен Озимандиас с 3мя алгоритмами использования в 2х вариантах. Внутри добавлена заготовка для тактики ММ но вы об этом пока неузнаете b-). Чуть изменена система взятия сигналов по весам( появилось у меня смутное предположение ошибки в случае совместного использования закрытия и открытия). Добавлена дополнительная проверка валидности открытия ордера (мне счет как то из-за этого блокировали :)) ) По просьбе Сергея по дефолту отключил все булевые переменные и планировщик выставил на 0. Ну, пожалуй, пока хватит.

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

Замечания, предложения, а также граальные сеты ожидаю увидеть в теме :)) Обязательно подкрепленные сопутствующими материалами.

Mix_Skalper_v03.35_625.rar58 скач.

#1894
Ttomas,
Беглым взглядом:
- в планировщике в понедельник 3-ю паузу надо "дообнулить" b-)
- в чём измеряется

TMACGLive Time =1
TMACGBar =1

для первого уровня инди и второго?

+++++++++++++++++++++++++++++++++

Ошибочное закрытие одиночного "бай" при закрытии по ТП сетки "селл" осталось :-o

Внизу сет, ВТ за 31.03.13 EU M1, сделки № 5, 6, 8.

mix3.34_eu_m1_usred_180-50-40-40_rvd.set25 скач.
Фича.rar21 скач.

Изменено 13 апреля, 2014 пользователем Sergey5

#1895

С фичей я еще поборюсь.
По остальному - Если пауза Стоп неравна нулю а Пауза Старт равна то первая обнуляется при запуске. Так что что я ее вручную обнулю что необнулю никакой разницы.
- Какие уровни у ТМА СГ? первая переменная это сколько последних баров назад в ТФ индикатора был крестик чтобы считать что сигнал есть. а вторая это стандартный сдвиг взятия сигнала (он также учитывается при отсчете времени жизни).

#1896
Ttomas,
Про ТМАСГ понятно, спс.
Прогнал ВТ этим же сетом v.3.34 и v.3.35 пару месяцев -
сделки (около 400 шт) полностью идентичны.
#1897

Ттомас,
Вопрос может невтему, но что там слышно с нерисующим ТМА ?

#1898


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




... надо проверить отрабатывается ли stoplevel и корректно ли отрабатывается.
Есть и такие соображения http://forum.mql4.com/ru/17319 и такие http://forum.mql4.com/ru/5822

Ошибка 130 и [Invalid S/L or T/P], в принципе, может быть де-факто плавающей и стоп надо ставить хотя бы на то расстояние от курса, на которое позволит ДЦ.
Наверно, есть смысл сообщать в журнал о более дальней установке тралом стопа, если причина в FREEZELEVEL или STOPLEVE.

#1899

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

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

Про ТМА - Мы же говорим о том чтоб сделать ТМА СГ Неперерисовывающимся? Мне не до этого сейчас

#1900


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


Да-да...
Я помню, что есть такое правило - через один мод забывать выкладывать сразу :))
Просто напоминаю - пожалуйста, прикрепи исправленную 3.35.625 b-)

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

Перейти к списку тем
Форум · 2.0.20260627.0025