#676


Ну, это смотря какой ширины лок. Незачем большие локи допускать. Лучше неск. маленьких, но узких.
Лок до 100-150 п. 5-зн. за день-два по ходу с остальным разруливается.


Локи не дают покоя многим, мне в том числе. По сути разруливание- это серия удачных входов, которые компенсируют один или несколько неудачных входов ранее ("откусыванием", встречным входом превышающим лотом- не важно).
А если у нас есть алгоритм для серии удачных, то зачем нам основная ТС, которую необходимо "лечить" локом?
erkon, у Вас есть четкий алгоритм разруливания? Давайте попробуем его автоматизировать...
#677



Ну, это смотря какой ширины лок. Незачем большие локи допускать. Лучше неск. маленьких, но узких.
Лок до 100-150 п. 5-зн. за день-два по ходу с остальным разруливается.


Локи не дают покоя многим, мне в том числе. По сути разруливание- это серия удачных входов, которые компенсируют один или несколько неудачных входов ранее ("откусыванием", встречным входом превышающим лотом- не важно).
А если у нас есть алгоритм для серии удачных, то зачем нам основная ТС, которую необходимо "лечить" локом?
erkon, у Вас есть четкий алгоритм разруливания? Давайте попробуем его автоматизировать...

Полностью автоматизировать такое - практически нереально.
Реально оттягивать перекрытиями неразруливаемый лок и почаще открывать встречные ордера - вести встречную сетку.
Локи разруливать на истиных разворотах, частями и т.д. применяя разные способы и лоты по месту.
Иногда будет проще лок закрывать частично убыточны, если новая успешная серия началась.
В общем - с локами надёжнее, но нужно применять разные техники по ситуации и самому ... развиваться.

Сейчас стоит хотя бы просто ввести вместо/параллельно СЛ обратный ордер = стоп-ордер,
или серию дробных ордеров = стоп-ордеров (несколько ордеров, через свой шаг, дробных по лотности относительно лота локируемого ордера.
И СЛ ставить покороче.
К тому же, на встречных сигналах локи начинают само-перекрываться облегчая задачу.
#678

NickolaG, можете просвятить как в сове динамическая свеча рассчитывается, а то не совсем понял?

#679

всем привет, подскажите есть ли у кого нибудь леченый ArgoAverager 3.0?
Перестал работать

Автор#680


всем привет, подскажите есть ли у кого нибудь леченый ArgoAverager 3.0?
Перестал работать




Что значит - леченый?
Тот, которым я изначально пользуюсь, работает.

ArgoAverager_3.0.ex430 скач.

#682

Локи не дают покоя многим, мне в том числе. По сути разруливание- это серия удачных входов, которые компенсируют один или несколько неудачных входов ранее ("откусыванием", встречным входом превышающим лотом- не важно).
А если у нас есть алгоритм для серии удачных, то зачем нам основная ТС, которую необходимо "лечить" локом?
erkon, у Вас есть четкий алгоритм разруливания? Давайте попробуем его автоматизировать...


Вот и ждем когда кто нить прикрутит )))
#683


Локи не дают покоя многим, мне в том числе. По сути разруливание- это серия удачных входов, которые компенсируют один или несколько неудачных входов ранее ("откусыванием", встречным входом превышающим лотом- не важно).
А если у нас есть алгоритм для серии удачных, то зачем нам основная ТС, которую необходимо "лечить" локом?
erkon, у Вас есть четкий алгоритм разруливания? Давайте попробуем его автоматизировать...


Вот и ждем когда кто нить прикрутит )))

Ключевая фраза- четкий алгоритм, а прикрутить- это дело техники...
#684

Но, к сожалению, для сеточников в этом смысле Аналайзер бесполезен


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

Изменено 19 мая, 2017 пользователем UASpace

#685


Но, к сожалению, для сеточников в этом смысле Аналайзер бесполезен


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

alex выкладывал исходник, можете в него дописать код по расчету просадки?
Логика: раз в (минуту, час, день- на выбор) считаем просадку+ залог, записываем в массив.
Далее на OnDeInit считываем из массива и записываем в csv-файл.
Потом в экселе сводим в одну таблицу по всем парам.
Получим ПРИБЛИЗИТЕЛЬНУЮ совокупную просадку. Некорректно будет учтен залог в кросс-курсах.
#686

alex выкладывал исходник, можете в него дописать код по расчету просадки?


Не, я в советник алекса ничего дописывать не буду. Но если кто хочет, я считал просадку так:
//+------------------------------------------------------------------+
double totalProsadka;
//+------------------------------------------------------------------+
int OnInit(){
totalProsadka = 0.0;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick(){
double marzha = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double totalProfitBuy = 0.0;
double totalProfitSell = 0.0;
double totalLotsBuy = 0.0;
double totalLotsSell = 0.0;

//Вычисляем сумму профита и лота открытых ордеров
for (int i = OrdersTotal()-1; i >=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if (OrderMagicNumber() == Magic && OrderSymbol() == Symbol()){
if (OrderType() == OP_BUY){//открытых ордеров Buy
totalProfitBuy += OrderProfit() + OrderSwap();
totalLotsBuy += OrderLots();
}
if (OrderType() == OP_SELL){//открытых ордеров Sell
totalProfitSell += OrderProfit() + OrderSwap();
totalLotsSell += OrderLots();
}
}
}
}

double prosadka = (totalProfitBuy-(marzha*totalLotsBuy))+(totalProfitSell-(marzha*totalLotsSell));

if (prosadka }
//+------------------------------------------------------------------+


Переменную totalProsadka выводим на лабел и смотрим макс. просадку.
Buy и Sell считал раздельно потому, что советник торгует в обе стороны независимо друг от друга, ну и я мониторил раздельно просадку для Buy и Sell.

Изменено 12 мая, 2017 пользователем test13

#687

NickolaG, можете просвятить как в сове динамическая свеча рассчитывается, а то не совсем понял?



" Динамический расчет сигнальной свечи (при kol_bar_sredn=0 работает Candles)";
kol_bar_sredn=0;        // глубина истории в барах
K_Candles =1; // Сигнальная свеча=средняя свеча(за kol_bar_sredn)*K_Candles
UseDinStep = false;// пересчитывать ШАГ и ТП по средней сигнальной свече
K_Step_Candles =0.5; // коэф. пересчета шага
K_TP =0.25; // коэф. пересчета ТП

Изменено 12 мая, 2017 пользователем test13

#688


alex выкладывал исходник, можете в него дописать код по расчету просадки?


Не, я в советник алекса ничего дописывать не буду. Но если кто хочет, я считал просадку так:
//+------------------------------------------------------------------+
double totalProsadka;
//+------------------------------------------------------------------+
int OnInit(){
totalProsadka = 0.0;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick(){
double marzha = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double totalProfitBuy = 0.0;
double totalProfitSell = 0.0;
double totalLotsBuy = 0.0;
double totalLotsSell = 0.0;

//Вычисляем сумму профита и лота открытых ордеров
for (int i = OrdersTotal()-1; i >=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if (OrderMagicNumber() == Magic && OrderSymbol() == Symbol()){
if (OrderType() == OP_BUY){//открытых ордеров Buy
totalProfitBuy += OrderProfit() + OrderSwap();
totalLotsBuy += OrderLots();
}
if (OrderType() == OP_SELL){//открытых ордеров Sell
totalProfitSell += OrderProfit() + OrderSwap();
totalLotsSell += OrderLots();
}
}
}
}

double prosadka = (totalProfitBuy-(marzha*totalLotsBuy))+(totalProfitSell-(marzha*totalLotsSell));

if (prosadka }
//+------------------------------------------------------------------+


Переменную totalProsadka выводим на лабел и смотрим макс. просадку.
Buy и Sell считал раздельно потому, что советник торгует в обе стороны независимо друг от друга, ну и я мониторил раздельно просадку для Buy и Sell.


marzha это AccountMargin() ?

Добавлено: 12-05-2017 12:53:23

Извиняюсь с marzhin затупил, разглядел теперь с компьютера.

Добавлено: 12-05-2017 21:29:52

UASpace, добавил ваш код в советник totalProfitBuy-(marzha*totalLotsBuy), стало считать не правильно текущую прибыль. У меня в советнике написано так: _ProfitBuy += OrderProfit()+OrderCommission ()+ OrderSwap (); Посмотрел в индикаторе, который ведет текущий и исторический подсчет профита, там точно такой же код. Не мог ли бы вы пояснить для чего умножать размер свободных средств на кол-во открытых лотов и потом вычитать из Профита? Получаем размер свободных средств = MarketInfo(Symbol(),MODE_MARGINREQUIRED). Я не очень давно начал программировать на MQL, может чего то не догоняю.

Могу попробовать написать универсальную функцию которая будет, например раз в час, записывать в файл CSV, текущий профит открытых ордеров и вставить ее в в советник Spring. Будет небольшая погрешность, менее 1%, в точности, т.к. в коде нет времени и желания разбираться. Время записи будет у всех тестируемых валют одинаков, потом в экселе можно просто рядом поставить столбы, и будет видна одновременная просадка по всем валютам. Если будут желающие заняться этим вопросом, а главное тестами, пишите я тоже подключусь.

На этой неделе походу ни одной сделки не будет. Как у кого по Фунт-Новозеландцу обстоят дела? Я закрыл встречными ордерами с плюсом. Сначала три ордера в сетке по стратегии, потом закончилось терпенье, увеличивал лоты с коэффициентами 1 2 3 4. Осталось два ордера, с коэффициентами 1 и 2. Тейк профит сейчас стоит на 1,8487.

Изменено 13 мая, 2017 пользователем Alexei_m

#690

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


Да, Вы правы. По скольку этот параметр не применяется в торговле советником, я не использовал точный расчет маржи. Для тестов и оптимизации мне не нужен был точный расчет, достаточно было видеть, на сколько увеличилась/уменьшилась просадка. И применение MODE_MARGINREQUIRED меня вполне устраивает.
Да, MODE_MARGINREQUIRED это не просто размер свободных средств. а размер свободных средств, необходимых для открытия 1 лота на покупку.
Логика расчета такова: суммируем доход всех ордеров в одном направлении учитывая своп и вычитаем суммарный размер лота в том же направлении умноженный на залог. В итоге получаем приблизительную просадку, достаточную, что бы делать какие то выводы при тестировании и оптимизации параметров.

Кому нужен точный расчет, не используйте приведенный мной код!

Изменено 17 мая, 2017 пользователем UASpace

#691

Сделки на 2017.05.15


Поддерживаю, ничего привлекательного на след. неделю не наблюдается. Да и в целом выглядел как потенциальный кандидат на вход только USDCHF, но он серьезно откатил еще в пятницу.
Сидим на заборе, у кого есть хвосты как раз есть возможность уделить им внимание.
#692

Сидим на заборе, у кого есть хвосты как раз есть возможность уделить им внимание.


Я тогда по какой то причине не открыл сделку по GBPNZD, поэтому висяк только по GBPUSD. Вот я сижу и думаю, цена по GBPNZD достаточно высоко и все ждут отката, так может присоединиться ко всем и открыть на продажу сделку сейчас (в понедельник) и вместе со всеми ждать отката? Ждать то придется только 50 п.
#693

Я тогда по какой то причине не открыл сделку по GBPNZD, поэтому висяк только по GBPUSD. Вот я сижу и думаю, цена по GBPNZD достаточно высоко и все ждут отката, так может присоединиться ко всем и открыть на продажу сделку сейчас (в понедельник) и вместе со всеми ждать отката? Ждать то придется только 50 п.


Как вариант.
Еще можно поискать пары, которые суммой последних нескольких свечей дают хороший импульс и войти против. Но это для тех кому не сидится ) Мне на неделе армии сеточников хватает для развлечения )
#694

Входов на эту неделю нет.

моя_статистика.xls61 скач.

#695

Добрый день! Почему то в индикаторе @VaBank_v3 не дополняется пары, для отражения в табло. Подскажите что нужно изменить? Там по умолчанию шесть пар, одна прикрепляется а когда больше семи индикатор не крепиться к окну.

#696


Добрый день! Почему то в индикаторе @VaBank_v3 не дополняется пары, для отражения в табло. Подскажите что нужно изменить? Там по умолчанию шесть пар, одна прикрепляется а когда больше семи индикатор не крепиться к окну.


Попробуй этот сет ...28 пар + шаблон

Viktor.set66 скач.
Viktor_vabank_black.tpl74 скач.
Screenshot_9.jpg

Изменено 14 мая, 2017 пользователем Виктор 7777

#697



Добрый день! Почему то в индикаторе @VaBank_v3 не дополняется пары, для отражения в табло. Подскажите что нужно изменить? Там по умолчанию шесть пар, одна прикрепляется а когда больше семи индикатор не крепиться к окну.


Попробуй этот сет ...28 пар + шаблон

Благодарю за помощь но происходит так же сброс таблице. Терминал от Альпари, хотя в Робо тоже самое. И еще второй файл куда вставлять нужно?
#698




Добрый день! Почему то в индикаторе @VaBank_v3 не дополняется пары, для отражения в табло. Подскажите что нужно изменить? Там по умолчанию шесть пар, одна прикрепляется а когда больше семи индикатор не крепиться к окну.


Попробуй этот сет ...28 пар + шаблон

Благодарю за помощь но происходит так же сброс таблице. Терминал от Альпари, хотя в Робо тоже самое. И еще второй файл куда вставлять нужно?

Даже не знаю почему так происходит...попробуйте со вторым файлом (шаблоном). В терминале Файл - Открыть каталог данных -templates ( в эту папку установите файл Viktor_vabank_black.tpl) Перезапустить терминал и установить шаблон на любой неиспользуемый график.
#699





Добрый день! Почему то в индикаторе @VaBank_v3 не дополняется пары, для отражения в табло. Подскажите что нужно изменить? Там по умолчанию шесть пар, одна прикрепляется а когда больше семи индикатор не крепиться к окну.


Попробуй этот сет ...28 пар + шаблон

Благодарю за помощь но происходит так же сброс таблице. Терминал от Альпари, хотя в Робо тоже самое. И еще второй файл куда вставлять нужно?

Даже не знаю почему так происходит...попробуйте со вторым файлом (шаблоном). В терминале Файл - Открыть каталог данных -templates ( в эту папку установите файл Viktor_vabank_black.tpl) Перезапустить терминал и установить шаблон на любой неиспользуемый график.

Проверь обзор рынка, там должны быть все пары которые прописываются в индикатор
#700

Спойлер


alex выкладывал исходник, можете в него дописать код по расчету просадки?


Не, я в советник алекса ничего дописывать не буду. Но если кто хочет, я считал просадку так:
//+------------------------------------------------------------------+
double totalProsadka;
//+------------------------------------------------------------------+
int OnInit(){
totalProsadka = 0.0;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick(){
double marzha = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double totalProfitBuy = 0.0;
double totalProfitSell = 0.0;
double totalLotsBuy = 0.0;
double totalLotsSell = 0.0;

//Вычисляем сумму профита и лота открытых ордеров
for (int i = OrdersTotal()-1; i >=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if (OrderMagicNumber() == Magic && OrderSymbol() == Symbol()){
if (OrderType() == OP_BUY){//открытых ордеров Buy
totalProfitBuy += OrderProfit() + OrderSwap();
totalLotsBuy += OrderLots();
}
if (OrderType() == OP_SELL){//открытых ордеров Sell
totalProfitSell += OrderProfit() + OrderSwap();
totalLotsSell += OrderLots();
}
}
}
}

double prosadka = (totalProfitBuy-(marzha*totalLotsBuy))+(totalProfitSell-(marzha*totalLotsSell));

if (prosadka }
//+------------------------------------------------------------------+


Переменную totalProsadka выводим на лабел и смотрим макс. просадку.
Buy и Sell считал раздельно потому, что советник торгует в обе стороны независимо друг от друга, ну и я мониторил раздельно просадку для Buy и Sell.


Я попробовал прикрутить код расчета просадки с заданным периодом(= периоду в тестере).
Формулу применил простейшую: просадка по эквити=AccountEquity()-AccountBalance().
Отсюда вопрос- нет ли здесь логической ошибки? В принципе, показания совпадают с результатами тестера (сравнивал макс. просадку). Если нужно переделать, скажите...
В настройки добавлено два параметра:
1. UseEQ- true- вести лог по просадке;
2. TypeFile - определяет собирать данные по парам в разные (Индивидуально) или один (Группа) файл.
Если предполагаем результаты в дальнейшем использовать для анализа совокупной просадки при мультиторгах, то лучше установить TypeFile = "Группа".
Результаты собираются в csv- файл, расположенный в \tester\files.
Имена файлов- либо Spring Calc EQ+имя пары+ТФ, либо Spring Calc EQ Group+ ТФ.

Детализацией отчета(тест на низких ТФ) заниматься не рекомендую- объем данных очень большой получается.
Я для пробы прогнал 4 пары за 15 мес. на Н1, получил таблицу с 3118 записями, т.е. 28 пар* 7 лет(как у NicolaG b Виктора)= 122 тыс. строк. Соответственно, на М5 будет в 12 раз больше.
Вообще, лучше Access поизучать.
В прицепе: собственно измененный советник, пример файла CSV, он же импортированный в Access и два скриншота с вариантами результатов обработки исходной информации.

Spring_V7_7.3_eq.mq424 скач.
Spring_Calc_EQ_groupH1.rar18 скач.
Equty.rar19 скач.
Пример.png
Пример2.png

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

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