Функции для реальной торговли и для реальных счетов. Часть №3 |
Продолжение предыдущих страниц. Учимся из тестовых советников делать для реальной торговли. Хочу обратить внимание. Все учимся. Я тоже.
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!
Комментарии (44)
Да еще и с человеком поцапаться успел.
Ребята, кому не интересно не напрягайтесь. Любая критика или помощь воспринимается от слова хорошо.
Просто, объективности ради, если сделали какое-то замечание, то не уходите от полемики.
Без наездов типа сам дурак. Давайте таки вопрос доведем до конценсуса.
Я не гуру. Тоже могу ошибаться. Как и все. А помощи от гуру, сколько не пытался ранее, получить не смог.
По-этому и тема такая. В том числе.
Крайняя версия советника: kvashnin007.opentraders.ru/download.php?file=8bb0b32194 Редактирован: 10 февраля 2025, 17:27
8 kvashnin007 Автор Сообщений: 734 - Андрей
Файл «KAE Grid Ver. 1.4» в базе
www.opentraders.ru/downloads/3955/
15 OSS5 Сообщений: 171
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 kvashnin007 Автор Сообщений: 734 - Андрей
15 OSS5 Сообщений: 171
Закрывать крайние прибыльные ордера вместе, самый верхний селл с наибольшим лотом и самый нижний бай с наибольшим лотом, когда оба ордера в плюсе.
И закрывать крайние убыточные ордера вместе, самый верхний бай с наименьшим лотом и самый нижний селл с наименьшим лотом, когда оба ордера в минусе.
Прибыль от прибыльных ордеров перекрывает убыток от убыточных ордеров.
15 OSS5 Сообщений: 171
Абсолютно новый код. Не хочу париться. Тем более, что и текущий сов заведомо сливной.
Я вот все пытаюсь привести к норме трал эквити. Работает не правильно.
Уже вариантов пять пытался написать. Все не то. Просто по задумке он должен давать уйму сделок с минимальной прибылью. Просадка минимальная.
Прибыль от количества и возврата спреда.
Не прет пока. Редактирован: 14 февраля 2025, 22:43
8 kvashnin007 Автор Сообщений: 734 - Андрей
15 OSS5 Сообщений: 171
Пробую.
Просто запара на работе. Свободного времени ноль.
8 kvashnin007 Автор Сообщений: 734 - Андрей
Обидно первое: от моего практически не отличается, но как-то работает.
Убрал не то что бесполезную переменную. Сегодня у меня депо 3000, завтра 5000. И что мне делать с Total_Profit_Start = 5000? А так все в процентах. Прекрасно. У меня тоже в деньгах то было. А если учесть, что и работать желательно с лотами в процентах от депозита, то самое то.
В моем варианте заложена (специально ли?) логическая ошибка. Из-за которой я долго не мог понять: почему работает, но как-то не так. Поправил. Вроде все так. Но…
Обидно второе: эта приблуда не нужна советнику.
Как отдельный советник — да. А так, если советник только один на весь терминал.
Ибо следит он за эквити всего терминала.
Выложил для баловства. А вообще будет отсутствовать.
Столько времени коту под хвостик. Займусь тралом SL. Он тоже с подвохом. Обычный не подойет.
8 kvashnin007 Автор Сообщений: 734 - Андрей
www.opentraders.ru/downloads/edit/3955/
15 OSS5 Сообщений: 171
8 kvashnin007 Автор Сообщений: 734 - Андрей
15 OSS5 Сообщений: 171
8 kvashnin007 Автор Сообщений: 734 - Андрей
Что-то меняю, а улучшения плохо надблюдаются. Скорее наоборот.
Мучал трал эквити. Запустил. А на душе легче не стало. Потом вообще пришел к мысли:
-затея бесполезная и, даже, иногда вредная.
Трал общего БУ направления: Звучит громко, на самом деле — пшик.
Хотя можно из него что-то вытянуть. Но не думаю, что затраты окупятся.
Остается трал SL. Если берем обычный, работает, но стратегия теряется в неопределенности и случайности. Можно достигнуть даже прекрасные результаты. Но повторяемость этих результатов, при шаге налево или направо, низкая.
Это гарантированный слив в недалеком будующем.
Напомню стратегию, которой стремлюсь придерживаться:
На примере продаж. Нет продаж — открываем стартовым лотом. Назначаем ему ТР.
Цена начала падать, достигла нашего ТР — счастье то какое. Куплю таки жене сапог.
А если она не пошла вниз? Значит, цена пошла вверх и прошла аж ШАГ. Открываем усредняющий ордер на продажу удвоенным лотом. Ибо цена не ходит в одну сторону, а шастает туды-сюды.И уже при откате на 50+% прибыль двойного верхнего становится чуть больше убытка нажнего. Закрываем оба. Нет ордеров на продажу — значит открываем стартовым лотом.
Итого, что произошло?
Когда-то мы открывали ордер на продажу одинарным лотом по цене ЦЕНА. Произошли какие-то события, в результате которых мы имеем хоть и небольшую, но уже зафиксированную прибыль.
Имеем тотже одинарный ордер на продажу, но по более высокой цене. ЦЕНА+1/2 ШАГА. А если раскатать губу на возврат части спреда, то… мы в шоколаде. Но…
Как всегда, есть НО. И не одно.
Главный минус стратегии продолжительное безоткатное движение.
Можете сказать: ордера открывать надо не просто по их отсутствию, а как-то более обоснованно. Индикаторы там каки ни будь. Пробовал. Хрень полная. Тут вроде хорошо, а вот тут — уже лажа.
Да просадка чуть поменьше. Впрочем, как и прибыльность. Лучшего результата удается добиться
при работе в зависимости от поведения свечей. Закрылась вверх, закрылась вниз, выше-ниже предыдущей и т.д. Наблюдений много. Как и вариантов.
Вариантов… Постоянный выбор… Тоже никак не можешь прийти к чему-то, однозначному.
Я в этом советнике предложил несколько на выбор тестеру. Более чем в 90% случаев тестер выбирает NoBаrs. По крайней мере, этот вариант точно не зависит от настроений рынка.
Впрочем и количество ордеров для сокращения при этом равно 2. Тоже в большинстве случаев.
А при NoBаrs практически всегда. К чему я это? Да надо поубирать весь хлам. Оставить нужное.
SL по стратегии не предусматривается. Но, скорее всего, нужен в каком-то виде.
Ну чтобы спать спокойно.
Чтобы ордера закрывались им необходим ТР. Опять же есть и другие варианты. Можем закрывать при достижении какого-то профита. Можем закрывать ордера по SL, если он в плюсовой зоне. А как он там окажется?
Тут свои варианты Ставим SL в безубыток. Тралим его от безубытка.
Все это детали.
Главную проблему стратегии они не решают.
Если Трамп с бодуна ляпнет что-то и цена ломанется, то слив будет неизбежен.
И чтоже нам делать? Куда бедному еврею податься?
Лучший вариант — хеджироваться.
В нашем случае мы делаем локи. Паралельно продажам открываем покупки.
В одном растем, в другом падаем. Вроде хорошо, но этого недостаточно. Растем линейно, падаем квадратично. Чуть снизили просадку, но… малозаметно.
Напрашивается решение.
Пока мы открывали только усредняющие ордера против движения цены.
Для того, чтобы ордеров в разных направлениях было максимально к равенству
(идеально один к одному), При движении цены в нужном направлении через тот-же шаг(или полшага) открывать сопутствующие ордера. с коэффициентом лота равным, скорее всего, единице. Тоже надо пробовать.
Другая мысль.
Цена безткатной может быть лишь условно. Пила должна быть. Хоть малая, но должна.
Поэтому, чем меньше шаг, тем больше вероятность регулярного сокращения ордеров.
Соответственно уменьшается просадка. Посему, возможно, SL и ТР лучше виртуальные. Чтоб уйти от ошибки 130 из-за stoplevel.
Теперь за трал SL.
Обычный трал не подойдет. И дело даже не в виртуализации трала из-за stoplevel.
Он ломает стратегию.
Но это не означает, что от него нужно отказываться.
Отнюдь. Если его немного изменить, картинка шикарная вырисовывается. Ну прям Пикассо.
Например, имеем уже три ордера на продажу. Цена отползла от цены открытия верхнего ордера вниз на расстояние БУ + MinTP + дистанция трала. Ставим ордеру SL в БУ + MinTP. Тралим SL.
Трал вернулся и закрыл ордер по SL с минимальным профитом.
Если цена дальше растет, то на уровне окрывается такой же ордер, как и закрытый. Ничего не изменилось, зато зафиксировали минимальну прибыль + возврат спреда.
Если же цена после установки SL верхнего ордера в БУ+ проложила падать и стала ниже уровня
БУ+MinTP+дистанция трала второго сверху ордера, то цена закрытия трала оказалась на уровне
БУ+ второго ордера. Ничего не делаем. В любом случае уже оба ордера не закроются выше этого уровня. Единственно, что при возврате цены к этому уровню, надо закрывать все ордера (третий и второй в нашем случае), зафиксировав минимальную прибыль от двух закрытых ВЕРХНИХ ордеров.
Если цена продолжит расти, то в нужном месте откроем ордер на продажу нужным лотом. Все останется как было. А прибыль зафиксировали.
Как-то так.
Уже три варианта трала делал. Либо не так работает, либо вообще.
Мучаю дальше.
8 kvashnin007 Автор Сообщений: 734 - Андрей
Трал -я несколько раз слышал и читал что трал пустышка, трал вставить- вроде надо- но работать начинает хуже, может правда другой алгоритм придумать…
8 evgsergej Сообщений: 27
Сетки не открываются. Создаются по мере движения цены. Я все это выше писал.
И про тралы там же. И алгоритм продумал и описал. Осталась ерунда. Прописать без ошибок. По-русски я лучше говорю, чем на MQL.
Но, думаю, до конца недели добью собаку. Пущу на хотдоги. Редактирован: 19 февраля 2025, 22:10
8 kvashnin007 Автор Сообщений: 734 - Андрей
Пока отлеживался, мучал слегка свой типа ноут. Китайский калькулятор с наполовину рабочей клавой.
Первым делом занялся тралом профита. Как-то не пошел. Помурижил и… отложил на потом.
Нашел кучу ошибок. Пропущенный код (копипаст наш лучший друг). Логические ошибки. тоже понаЙшлись.
Ошибку закрытия ордера с неправильно выбранный тикетом, похоже устранил.
Вообще написал новую функцию закрытия всего.
Сначала закрываю все, что возможно встречно. Затем оставшиеся профитные ордера и только потом, что осталось.
Правда большой (никакой) разницы не заметил. Может в каких-то режимах, она потом и и проявится??? Оставил.
Дальше решил установить торговлю по времени. Готовая функция от АМ2 работает, но…
Вручную прописывать время не интересно. Интересно, чтобы тестер попробовал определить оптимальное время.
Но тут тоже засада. С горем пополам нашел похожее, запустил. Время старта устанавливает позже финиша.
И… работает падла. Боролся и поборол. Заработала как надо.
А самая главная ошибка была в объявлении типа переменной. Надо input, а у меня extern.
Правда, когда все переменные равны нулю (работа без разрывов), субъективно советник работает лучше.
Короче, кому надо — скорректированная функция работы по времени:
Даю, что наваял, но предупреждаю. Работает, но осталась логическая ошибка работы закрытия ордеров в режимах:
StartClose = 1, // Start Close — Оставляет StartLots от плюсового ордера, закрывает минусовой
StartStart = 2, // Start Start — Сокращает StartLots от плюсового ордера, закрывает минусовой
Ввел еще одну переменную extern int MaxCountOrders = 6; // Максимальное количество ордеров. Которая при превышении заданного количества ордеров закрывает один дальний профитный. Какой первый попадется (Sell,Buy).
Функция трала профита почему-то не работает. Добью попозже. А пока ProfitStartPersent=0.
Смотрите, кому интересно.
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 evgsergej Сообщений: 27
Кажется, этот советник не любит «рано» закрывать ордера. Пока самое субъективное — Не включать. Редактирован: 6 марта 2025, 23:38
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 kvashnin007 Автор Сообщений: 734 - Андрей
Редактирован: 8 марта 2025, 01:20
15 OSS5 Сообщений: 171
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 evgsergej Сообщений: 27
Редактирован: 10 марта 2025, 12:05
20 alex30774 Сообщений: 782
Алекс, тема топика не создать советник, а научиться правильно писать код. Найти функции, которые будут работать на реале. Учиться оптимизировать код. Советник Шамана у меня проходит, как сливной. Впрочем как и тот, что в работе.
Тут я немного отвлекся от темы.
Я просил кого-нибудь дать свой советник для темы топика. Никто не повелся. Почему? А хрен его знает. Видимо, не проявили интерес. Я дал свой залежалый для обработки. Я в самом начале писал, что этот робот сливной тоже. Капля самогона да старые дрожжи. Понесло меня к вершинам совершенства. Начал продолжать старое и забытое. Не по теме. Каюсь. Натура увлекаемая.
Хотя, кое-чего нового для себя нашел. Например: CloseAll. Закрываем вначале все встречно для ополовинивания потерь на спред. Потом закрываем сначала все ордера с положительным профитом, потом — что осталось. Включая те ордера, что не закрылись почему-то из предыдущих категорий. Спросите: а нахрена?.. Да, здесь дополнительной прибылью не пахнет. Просто просадка уменьшается местами до -7%. Не по эквити. По депозиту. Да и «зубчики» вверх смотрятся лучше, чем вниз.
Зацепился за работу по времени. Да и еще, чтоб советник сам определя лучшее для работы. Туго пошло. Но таки пошло.
Сейчас научился автоматом определять свой GMT пояс. Потом понял, что эта инфа не нужна. Нужна инфа по часовому поясу терминала брокера. Тоже на выходе. Тему фактически добил.
А насчет ЗаеБота отмечу, что тот советник, за который мы сейчас зацепились, более привлекателен. Можно иметь гарантировано 10 и более % в месяц с просадкой до 20%. Только довести до ума. Единстывенно, что этот советник требует постоянной подстройки. Даже мысль возникла: А как сделать самонастраивающийся советник?
Даже не знаю, стоит ли продолжать работу над ним? Он у меня все равно в разряде сливных.
Разве что для себя любимого. Одному скучно, но зато нет обязательств перед заинтересантами.
Редактирован: 11 марта 2025, 14:03
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 evgsergej Сообщений: 27
Я сетов не делаю.
Там где-то выше я писал за мой вариант быстрого подбора. Кажется.
Ну или думал писать.
Склероз проклятый. В общих чертах. Настройки не через единицу, а в основном 5-10.
SL=0. М15 по ценам закрытия. После подбора вариантов, выбираю чтобы прибыль была приблизительно 10% в месяц
при минимальной просадке. В моем случае около 300$. Выбираю несколько вариантов и прогоняю по тикам.
Возможно иногда нужно будет увеличивать стартовую сумму. Редактирован: 13 марта 2025, 16:21
8 kvashnin007 Автор Сообщений: 734 - Андрей
Прибыль 735 $ при просадке 7,97%.
При абсолютной просадке, как у тебя 64,23% прибыль за три месяца 4987$.
Но этот советник не до конца корректен. По алгоритму. Но… работает же.
Некоторое время, пока не сольет.
Редактирован: 11 марта 2025, 15:56
8 kvashnin007 Автор Сообщений: 734 - Андрей
20 alex30774 Сообщений: 782
Мне больше нравятся менее волатильные валюты. Тесты, что предъявил AUD CAD.Альпари. Можно на ТЫ. Чувствую себя моложе.
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 evgsergej Сообщений: 27
Заходишь на свою страницу «Моя страница» и в правом углу…
После, сюда бросаешь ссылку. И Ффсе...
19 Marik007 Сообщений: 425 - Forexman
8 kvashnin007 Автор Сообщений: 734 - Андрей
Работать будет. Но алгоритм незамысловатый. RSI не самый подходящий индикатор. МА 50, как определитель направления тренда, тоже не само то. Изюминка отсутствует. Разве что три TF. Но это тоже прикол. Здеся тогда надо брать разные уровни для каждого TF. Чем меньше TF. тем более жесткие уровни (поближе к краям) надо задавать. Иначе советник в итоге будет работать по RSI наибольшего TF. А так чуть чуть будет какой=то прирост. Опять же периоды похоже тоже надо различать. Короче прибутку мало видно.
Это все мое субъектино видение.
Улучшать нет смысла.
Извини. Удачи. Редактирован: 13 марта 2025, 16:53
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 evgsergej Сообщений: 27
Остальное-как ИИ предлагает.
Потом можно будет добавить ТРАЛ SL. Вернее Общего Отдельного для продаж БУ+. Т.е. когда профит продаж превысит какой-то уровень, вычисляем общий для продаж уровень БУ, добавляем ему какой-то профит и ставим этот уровень на трал методом модификации SL всех продаж в один уровень.
Так, возможно, что нибудь вымутить получится.
Дерзай. Удачи. Редактирован: 14 марта 2025, 17:58
8 kvashnin007 Автор Сообщений: 734 - Андрей
8 kvashnin007 Автор Сообщений: 734 - Андрей
Спасибо за подсказку, я даж не знал как закидывать))
я на своей страничке более подробно описал как работает, чтоб понятней было.
Может улучшите, буду рад новым идеям или глаза мне откроете на парашу)))
8 evgsergej Сообщений: 27
8 kvashnin007 Автор Сообщений: 734 - Андрей
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий