[M1] QUANTUM LONDON.INC (индикаторная сетка-усреднитель GBPUSD M1)📌

От DENYA, 20 августа, 2015 в Торговые системы

#2707

Как верно интерпретировать параметр «режим Fixed обьем фиксированного лота» = 0.0 (предварительно просмотрел Таблицу параметров, составленную для версии 30):
Цитирую: Режим "Fixed" объем фиксированного лота: При значениях объем фиксированного лота, "1-й множитель лота" и "2-й множитель лота" = 0, сетка будет строиться по ММ
Вопрос: Что имеется ввиду под ММ?! Полагаю отсылка к Манименеджменту тут неверна. Какой лотности будут отрываться ордера, если
«вариант выбора лота» = Fixed
а «режим Fixed обьем фиксированного лота» = 0.0
Полагаю ответ на этот вопрос должен быт таким: «выбор лота по правилам ТС» * "1-й множитель лота" и "2-й множитель лота" . Как будут образованы ордера 1-12 мне ясно. Каким лотом выйдет 13-й ордер (строка 2)?
Staxis, прошу внести ясность.


Добавлено: 22-03-2016 18:58:11

Какое значение "Close only in profit ($)" нужно придать, чтобы при появлении Сигнала закрытие было только в профит, но не важно какой?

Добавлено: 22-03-2016 18:59:26

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

Изменено 22 марта, 2016 пользователем Urytomsk

#2708


Как верно интерпретировать параметр «режим Fixed обьем фиксированного лота» = 0.0 (предварительно просмотрел Таблицу параметров, составленную для версии 30):
Цитирую: Режим "Fixed" объем фиксированного лота: При значениях объем фиксированного лота, "1-й множитель лота" и "2-й множитель лота" = 0, сетка будет строиться по ММ
Вопрос: Что имеется ввиду под ММ?! Полагаю отсылка к Манименеджменту тут неверна. Какой лотности будут отрываться ордера, если
«вариант выбора лота» = Fixed
а «режим Fixed обьем фиксированного лота» = 0.0
Полагаю ответ на этот вопрос должен быт таким: «выбор лота по правилам ТС» * "1-й множитель лота" и "2-й множитель лота" . Как будут образованы ордера 1-12 мне ясно. Каким лотом выйдет 13-й ордер (строка 2)?
Staxis, прошу внести ясность.


Параметр вариант выбора лота:
1. Fixed
- начальный лот задается параметром режим "Fixed" объем фиксированного начального лота. Если данный параметр =0, пока ордер будет выставляться минимальным лотом.
- лот следующего ордера = лот предыдущего ордера * 1-й множитель лота * 2-й множитель лота. Если один из параметров ...-й множитель лота = 0, все ордера выставляются лотом одного объема;
2. PercDepo
- начальный лот задается параметром режим "PercentOfDepo" объем лота в % от доступных средств.Если данный параметр =0, пока ордер будет выставляться минимальным лотом.
- лот следующего ордера = лот предыдущего ордера * 1-й множитель лота * 2-й множитель лота. Если один из параметров ...-й множитель лота = 0, все ордера выставляются лотом одного объема;
3. Classical
- лотность ордеров задается параметрами секции выбор лота по правилам ТС
4. Grid
- лотность ордеров задается параметрами секции выбор лота по параметрам корзин ордеров



Добавлено: 22-03-2016 18:58:11

Какое значение "Close only in profit ($)" нужно придать, чтобы при появлении Сигнала закрытие было только в профит, но не важно какой?

Close only in profit ($) = любое значение;
Close only in profit (Points) = 1.



Добавлено: 22-03-2016 18:59:26

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

Количество ордеров для включения режима (0-отключен) =0.
#2709
staxis, проверил опять и похоже настоящий баг с wait=
в версии 34 - работало правильно, в вер. 40 - не правильно (при wait=0 считает что wait=1)
Прикрепил скрин с доказательствами. По времени открытия и закрытия ордеров видно когда они открываются одновременно (так должно быть при Wait=0), а когда через минуты после закрытия предыдущего ордера.

ql-v40-wait.gif

Изменено 23 марта, 2016 пользователем Dimakya

#2710


динамического
лота, будет работать по такому алгоритму:
1. если в настройках динамического лота Вы присвоите значение параметру
extern double AccFreeMargin = 0.0; // тест: новая сетка с фиксированной маржой
то при тестировании он будет исходить из фиксированной маржи которая задана этим параметром. Например
500 или 1000 и т.п.
ЗЫ. Запустил оптимизацию и увидел недостаток: оптимизатор запоминает в результатах прерванное тестирование. Поэтому непонятно где тест прошел до конца, а где прервался с плюсовым балансом.


Погонял эту версию на интересующих меня настройках. Поскольку без оптимизации, в ручную то всё не очень быстро. Кое что интересное получается, но такая проблема обнаружилась. Мне кажется что что умножение лота через _multip_ тут не очень подходит. Казалось бы для агрессивных настроек что может быть лучше? Ан нет.
Поясню. С агрессивными настройками, мы хотим зарабатывать на флете, в небольших и средних просадках, и готовы отдать депозит при большой просадке. Через _multip_ же мы набираем лоты равномерно, и уже в средних просадках сливаем. Через classic же мы можем более мягко настраивать нужное колено, и живучесть депозита можно увеличить, имхо.
Пробовал решить эту проблему с помощью Блока контроля средст, но в агро настройках он режет прибыли :(
Кстати хочется выразить ещё раз благодарность staxis за то, что он добавил этот блок. Тут как то пришлось отлучатся на пару тройку часов, и на одном небольшом центовом счёте, требующем ручного контроля, перед уходом включил ограничение. Вернулся: сидим в просадке. Если бы не контроль, депо был бы слит. Спасала своевременная небольшая доливка :).
Так вот я всё к чему. Genry_05, нельзя ли сделать чтобы и при выборе лота Classical, а не только при динамическом, советник не учитывал в тестировании предыдущие прибыли?
Хочется уже добить эту часть изысканий :)
#2712



Параметр вариант выбора лота:
....
- лот следующего ордера = лот предыдущего ордера * 1-й множитель лота * 2-й множитель лота. Если один из параметров ...-й множитель лота = 0, все ордера выставляются лотом одного объема;

-



Здравствуйте, уважаемые.
Объясните, пожалуйста, а зачем вообще два множителя лота? Если б они работали по принципу расчета дистанции между ордерами, тогда было бы понятно, а так 2-й множитель всегда ставится 1...
#2713


Здравствуйте, уважаемые.
Объясните, пожалуйста, а зачем вообще два множителя лота? Если б они работали по принципу расчета дистанции между ордерами, тогда было бы понятно, а так 2-й множитель всегда ставится 1...


Ну а вы понастраивайте оба, погоняйте в тестере, пооптимизируйте. Глядишь вопрос и отпадёт. Не с проста даже по умолчанию там выставляются сразу два: 1.01 и 1.11.
#2714



Здравствуйте, уважаемые.
Объясните, пожалуйста, а зачем вообще два множителя лота? Если б они работали по принципу расчета дистанции между ордерами, тогда было бы понятно, а так 2-й множитель всегда ставится 1...


Ну а вы понастраивайте оба, погоняйте в тестере, пооптимизируйте. Глядишь вопрос и отпадёт. Не с проста даже по умолчанию там выставляются сразу два: 1.01 и 1.11.

Смотрел специально на длинной сетке, математика получается как в описании.
И если есть ответ на мой вопрос, его несложно здесь написать?
#2715


staxis, проверил опять и похоже настоящий баг с wait=
в версии 34 - работало правильно, в вер. 40 - не правильно (при wait=0 считает что wait=1)
Прикрепил скрин с доказательствами. По времени открытия и закрытия ордеров видно когда они открываются одновременно (так должно быть при Wait=0), а когда через минуты после закрытия предыдущего ордера.


КОРРЕКТИРОВКА СОВЕТНИКА

Quantum_London_Trading_EA_v1.6.1_m13-6-41staxis.mq4151 скач.
MQL4.ZIP175 скач.

#2716


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


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

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

Сделать еще один ММ могу, но всем кто тестировал предложение setevicdi надо определяться:
оправдывает оно себя в ЕА или нет. Т.к. Staxis продолжает совершенствовать советник, то без внесения этой
проверки в базовую версию ЕА для меня рисуется гимор - каждый раз переписывать ММ для новой версии ЕА. >:dфункцию которую хорошо знаю, но это место не оптимальное, т.к. до выставления нового лота ЕА уже мог
уйти в просадку больше стартового депо. Значит проверку надо вставлять раньше, а я не настолько хорошо
ориентируюсь в ЕА как Staxis.
А лучшее доказательство - появление сетов с меньшей просадкой чем на стандартной версии ЕА. :d

Изменено 23 марта, 2016 пользователем Genry_05

#2717


Спасибо, Staxis!
Столкнулся с некоторыми проблемами при расчете лота, с их учетом подобрал расширенный
вариант расчета процента от свободных средств (можно учесть расстояние до SL).
Посмотри, если понравится и будет желание - можно добавить в советник, а если нет - >:dИсходный расчет от Vinin я уже поправил с учетом замечаний от EverAlex и добавил в коммент
замечания и ссылки на тему с обсуждением, код:

Спойлер


//+------------------------------------------------------------+
//| Vinin Расчет объема сделки, исходя из свободных средств. |
//| https://forum.mql4.com/ru/33234/page5 |
//+------------------------------------------------------------+

double CalcLotSize(double Lot,double lRisk,int lSL=0)
{
string lSymbol=Symbol();
double dLotMin = MarketInfo(lSymbol, MODE_MINLOT );
double dLotMax = MarketInfo(lSymbol, MODE_MAXLOT );
double dLotStep = MarketInfo(lSymbol, MODE_LOTSTEP );

double dLot=Lot;

if(lRisk>0)
{
if(lSL>0)
{ // EverAlex 07.04.2014 12:13 # https://forum.mql4.com/ru/33234/page5
// TICKVALUE дает цену для TICKSIZE, a lSL задается в пунктах POINT.
// POINT не всегда совпадает с TICKSIZE (см. 3-значную пару XAUUSD у Альпари).
// Значит - надо пересчитать lSL из POINT в TICKSIZE.
// Иначе - будем получать завышенный в 10 раз лот (что я и наблюдал на паре XAUUSD, пока не добавил пересчет).
// PS: для ТС, которые оптимизируются за много проходов (>10млн) все неизменяемые параметры
// символа (TICKSIZE, POINT, TICKVALUE, LOTSTEP, MINLOT, MAXLOT и пр.) надо в функции init()
// присваивать переменным и использовать значения этих переменных в расчетах.
// В т.ч. вынести в переменную значение TickSize/Point.

// TICKSIZE/POINT даст целое число (1 или 10), по-этому можно использовать lSL типа int
lSL= (int)(MarketInfo(lSymbol,MODE_TICKSIZE) / MarketInfo(lSymbol,MODE_POINT) )* lSL;

double dLotCost=MarketInfo(lSymbol,MODE_TICKVALUE);
dLot=MathRound(AccountFreeMargin()*lRisk*0.01/(lSL*dLotCost*dLotStep))*dLotStep;
}
else
{
double dLotMargin=MarketInfo(lSymbol,MODE_MARGINREQUIRED);
dLot=MathRound(AccountFreeMargin()*lRisk *0.01/(dLotMargin*dLotStep))*dLotStep;

}
}

if(dLot // нельзя возвращать минимальный - это нарушит ММ
// надо возвращать 0

if(dLot>dLotMax) dLot=dLotMax;

return(dLot);
}// end Vinin


Есть еще вариант:
//----------------------------------------------------------------------
//AlexeyVik 16.04.2014 12:33 # https://forum.mql4.com/ru/62579
//****************Функция определения размера лота*******************
//
double RiskLots(string symbol // это понятно
, double Risk // это тоже
, double StopLoss // количество пунктов (OrderOpenPrice() - OrderStopLoss())
, double Lots) // Размер лота по умолчанию, если Risk = 0
{
double dx, TICKVALUE, Lot, Equity, MAXLOT, LOTSTEP;
TICKVALUE = MarketInfo(symbol, MODE_TICKVALUE);
LOTSTEP = (MarketInfo(symbol, MODE_LOTSTEP) == 0.1)?1:2;
dx = AccountFreeMargin()*Risk/100;
if(Risk > 0)
{
Equity = AccountFreeMargin();
MAXLOT = NormalizeDouble(Equity*AccountLeverage()/MarketInfo(symbol, MODE_LOTSIZE), LOTSTEP);
Lot = NormalizeDouble((dx*Point/(StopLoss*TICKVALUE)), LOTSTEP);
if(Lot > MAXLOT) {Lot = MAXLOT; Print("MAXLOT = ", MAXLOT);}
if(Lot if(Lot > MarketInfo(symbol, MODE_MAXLOT)) Lot = MarketInfo(symbol, MODE_MAXLOT);
return(Lot);
}
else return(Lots);
}
//******************************************************************|



Привет, Genry!
Это вариант расчета я видел раньше. Не стал на нем останавливаться, т.к. задача расчета лота в зависимости от риска депозита не ставилась и ее решение зависит от наличия SL (т.е. его нужно выставлять обязательно). Для одного ордера еще можно рассчитать, но у нас сетка с переменными (непредсказуемыми) параметрами. И я не вижу возможности реализации расчета лота (кроме первого ордера) в зависимости от риска депозита.
А на счет обнуления лота, если расчетный меньше минимального, я полностью согласен - реализуем :)
А в чем у тебя возникли проблемы?
#2718


А в чем у тебя возникли проблемы?



Проблему описал EverAlex, может выскакивать на металлах:
Цитата

POINT не всегда совпадает с TICKSIZE (см. 3-значную пару XAUUSD у Альпари).
Значит - надо пересчитать расстояние до SL из POINT в TICKSIZE.
Иначе - в подобных случаях будем получать завышенный в 10 раз лот (что я и наблюдал на паре XAUUSD, пока не добавил пересчет).


Ну для валют не характерно, gochu исследовал Ал-ри:
Цитата

только на демо альпари на 53 парах, я так и не увидел ни одной пары, у которой они разные



Ответ EverAlex:
Цитата

И какой из этого вывод? Можно не добавлять строчку пересчета из пипсов в тики?
Пусть при переходе с 2-знака на 3-знак пользователи Вашей функции получат увеличение лота в 10 раз ?
Я уже сообщал выше - что по 3-значному XAUUSD в Альпах расхождение в расчете лота было, пока пересчет не добавил (счет real, ECN-new). Если TICKVALUE задает цену для TICKSIZE, а дистанция (до SL, например) задана в Point, то надо пересчитывать из Point в TICKSIZE.

То, что где-то сейчас TICKSIZE совпадает с Point ничего не значит, и не делать пересчет в тики - это закладывать бомбу пользователям Вашей функции.



Вот кажется я столкнулся с таким единовременным увеличением - хз как выскочило и больше не повторялось.
Но решил сообщить тебе и отработать плохой вариант - найти решение проблемы когда POINT не совпадает с TICKSIZE .

PS. Хотя чудеса бывают, смотри вот код:
if (IsTesting() && (AccFreeMargin > 0.0)) Alert("Retlots="+retlots+" FirstLot="+FirstLot+ " PercentOfDepo="+PercentOfDepo+
" FreeMargin="+NormalizeDouble(AccountFreeMargin(), 2) +
" MARGINREQ="+MarketInfo(Symbol(), MODE_MARGINREQUIRED));

А вот вывод, где проскакивают :
2016.03.23 17:25:28.046 2016.03.15 09:10 Quantum London Trading EA v1.6.1 m13-6-41[staxis]setevicdi EURUSD,M5: Alert: Retlots=0.01 FirstLot=0.009008603216071349 PercentOfDepo=0.004 FreeMargin=590.3200000000001 MARGINREQ=221.89

Изменено 23 марта, 2016 пользователем Genry_05

#2719
Предложению по добавлению функции.

Сейчас параметр
MaxPercDepo = 0; //максимальная просадка в % от депозита
разумно использовать только для чрезвычайных случаев (очень большой просадки 60-80%)
(потому что он останавливает открытие новых ордеров не только новых сеток, но и существующих сеток.
Сетки зависают с просадкой и требуют ручного вмешательства (доливки например))

Предлагаю доделать параметр так, чтобы использовать в повседневной работе.
Т.е. надо сделать так, чтобы при просадке (например в 10-30%) по одной из пар
не открывались НОВЫЕ сетки по другим парам.
Но по парам, на которых сетка начата - построение сетки продолжалось (и возможно успешно закрывались сами).

Т.е. нам просто нужно запрещать/разрешать (в зависимости от просадки) открытие одного Первого ордера.

Оказалось что это просто сделать, похоже у меня получилось.
staxis, пожалуйста посмотри все ли правильно, и если да, то добавь в следующие версии.

В настройки добавляем параметр

extern   bool              MaxPercDepoOnlyFirst    =  false;                  //огранич. % только Первого ордера


(под параметром MaxPercDepo )

В коде, с 1396 строки:

меняем

  if ((MaxPercDepo       return(-1);



на


  if ((MaxPercDepo    {
if ((MaxPercDepoOnlyFirst==1) && ((CountTrades(OP_SELL) return(-1);

if (MaxPercDepoOnlyFirst==0)
return(-1);
}



Изменено 23 марта, 2016 пользователем Dimakya

#2720

Genry, это я о Михе - Бомбардире говорил...
Может ещё и помнят его...
А о закрытости - это решение сугубо личное...
Оспаривать права не имею... >:d

#2721


Genry, это я о Михе - Бомбардире говорил...Может ещё и помнят его...
А о закрытости - это решение сугубо личное...Оспаривать права не имею... >:d


Я помню Бомбардира... вернее его посты. Да это шутка была :d- версия в архиве отличается нештатным
режимом: в MQL4 нет оператора способного прервать выполнение советника, а при уменьшении
маржи меньше начального депозита надо отбросить этот вариант оптимизации и перейти к следующему.
Поэтому искусственно вызывается деление на 0, тогда оптимизатор отбрасывает вариант где эта ошибка
возникла.
Но выкладывать такую версию в общее пользование - плохая идея, поэтому тестируют только те кто
понимает суть процесса. Оттуда и закрытость. b-) Пояснение было здесь:
/torgovye-sistemy/2/m1-quantum-londoninc-indikatornaya-setka-usrednitel-gbpusd-m1/10633/?do=findComment&comment=272348 и здесь
/torgovye-sistemy/2/m1-quantum-londoninc-indikatornaya-setka-usrednitel-gbpusd-m1/10633/?do=findComment&comment=273028

Если идея оправдает себя можно подумать как ее реализовать без деления на 0.
Хотя только для оптимизации может и такой подход сойдет, вот только мне кажется, что не всегда МТ при
такой ошибке правильно память освобождает. В MQL5 есть функция ExpertRemove() - она корректно
выгрузку делает, а на версии 4 приходится изгаляться, но я на метаквотам написал - может поправят.
ЗЫ.
Вот только мой пост с тестовой версией пропал - теперь не понятно скачали его тестировщики или нет :(

Изменено 23 марта, 2016 пользователем Genry_05

#2722



В MQL5 есть функция ExpertRemove() - она корректно
выгрузку делает, а на версии 4 приходится изгаляться, но я на метаквотам написал - может поправят.
ЗЫ.


ExpertRemove() в MQL4 есть. Можешь смело ставить.


Вот только пост с тестовой версией пропал - теперь не понятно скачали его тестировщики или нет :(


Прочитать успел, скачать нет - закинь в личку. Наверное модераторы посчитали, что ты тестовый советник за бабки впаривать собрался :)
#2723



В MQL5 есть функция ExpertRemove() - она корректно выгрузку делает, а на версии 4 приходится
изгаляться, но я на метаквотам написал - может поправят.


ExpertRemove() в MQL4 есть. Можешь смело ставить.

Надо же , совсем недавно им написал, а уже добавили! =)) Я и не знал - раньше вроде не было, мне и у
метаквотов на форуме так ответили. Теперь попробую заменить им деление на 0. Спасибо! \M/



Вот только пост с тестовой версией пропал - теперь не понятно скачали его тестировщики или нет :(


Прочитать успел, скачать нет - закинь в личку. Наверное модераторы посчитали, что ты тестовый советник за бабки впаривать собрался :)

=)) Ааа вот в чем дело-то! А то смотрю - пост пропал, вес голоса уменьшился - думал полтергейст :-o

Изменено 23 марта, 2016 пользователем Genry_05

#2724

Привет всем, в общем задолбал меня тот факт что новые версии терминала создают каталог данных чёрти где, нашел решение как сделать так что бы все данные терминала хранились только в той папке куда он установлен!) для этого необходимо скопировать все данные с папки данных в папку с терминалом, а папку самого терминала перенести в любую папку отличную от программ файлс, и создать внутри батник с кодом start %CD%\terminal.exe /portable. у меня получилось так: Переместил всё на диск C:/Terminal/MT4Robo/ внутри сделал этот батник, теперь терминал запускается в портативном режиме! кстати очень удобно переносить на флешке!
Ну и по теме пару сетов для 19ой версии сова, (сеты для экстремалов :) просадка до 300$ доходит но прибыль тоже хорошая )
на этих сетах торгую пока на демке)))

EURUSD_ENV_65_100K400.set67 скач.
GBPUSD_ENV65+ATR4.62_100K700.set63 скач.

#2725



Вот только пост с тестовой версией пропал - теперь не понятно скачали его тестировщики или нет :(


Прочитать успел, скачать нет - закинь в личку. Наверное модераторы посчитали, что ты тестовый советник за бабки впаривать собрался :)


=)) Ааа вот в чем дело-то! А то смотрю - пост пропал, вес голоса уменьшился - думал полтергейст :-o



Тогда не лишним будет повторить принципы согласно которым я размещаю здесь ПО:

1. У одного программного проекта - один ведущий программист, по данному проекту - Staxis.
Все изменения и дополнения в этот проект идут только через него. Соответственно, если кто-то в данной
ветке форума вносит изменения в проект Staxisa - то сначала направляет эти изменения ему и только
Staxis выпускает в общее пользование новую версию с внесенными изменениями.
Нарушение данного подхода - чревато бедламом.

2. Если появляется новое предложение, целесообразность которого надо проверить, то создается
рабочая группа, которая отработает данное предложение и вынесет результаты на обсуждение.
Так как предметом доработки является общая версия, то, во избежание путаницы, рабочая версия на форум
не выкладывается, а распространяется только между участниками рабочей группы. Копия каждой версии
обязательно высылается Staxisу.

3. По результатам принимается решение о принятии доработки или отклонении.

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

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

Думаю, что все достаточно прозрачно.

Изменено 24 марта, 2016 пользователем Genry_05

#2726


Привет всем, в общем задолбал меня тот факт что новые версии терминала создают каталог данных чёрти где, нашел решение как сделать так что бы все данные терминала хранились только в той папке куда он установлен!) для этого необходимо скопировать все данные с папки данных в папку с терминалом, а папку самого терминала перенести в любую папку отличную от программ файлс, и создать внутри батник с кодом start %CD%\terminal.exe /portable. у меня получилось так: Переместил всё на диск C:/Terminal/MT4Robo/ внутри сделал этот батник, теперь терминал запускается в портативном режиме! кстати очень удобно переносить на флешке!


Этот вопрос подробно рассмотрен в ветке /v-pomosch-treyderu/4/statya-kak-otkatit-mt4-na-staryy-bild-neobhodimye-dlya-etogo-fayly/12074/?do=findComment&comment=249100 [Статья] Как откатить МТ4 на старый билд (+ необходимые для этого файлы)
и здесь _https://www.mql5.com/ru/articles/1389#portablemode ОБНОВЛЕНИЕ НА НОВЫЙ METATRADER 4 БИЛД 600 И ВЫШЕ




Вот только пост с тестовой версией пропал - теперь не понятно скачали его тестировщики или нет :(


Прочитать успел, скачать нет - закинь в личку. Наверное модераторы посчитали, что ты тестовый советник за бабки впаривать собрался :)


=)) Ааа вот в чем дело-то! А то смотрю - пост пропал, вес голоса уменьшился - думал полтергейст :-o



Печально. Вот она - оборотная сторона чувства юмора :(
#2727


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



По результатам работы (только мое мнение)

На мой взгляд контроль маржи на предмет превышения стартового депозита - полезная функция, которая
позволяет проверить устойчивость ЕА к просадкам на всей истории тестирования.
Благодаря предложенияю setevicdi:
1. мы знаем, что начав торговлю в ЛЮБОЙ день прошедшей истории мы не сольем депозит с данными параметрами настройки (сета).
2. значительно сократим время ручной проверки результатов тестирования.

Про недостатки. Место для фиксации размера депо перед открытием новой сетки я выбрал в функции
double GetLots(double price,string dir) - перед открытием первого ордера динамического лота или первого ордера Классики., т.к. проверялись именно эти режимы. Возможно имеет смысл распространить эту возможность
на все режимы открытия ордеров.

С выходом сложнее - он иногда явно запаздывает, так как проверяется тоже в модуле GetLots перед
открытием нового ордера, а просадка может наступить раньше. Так как Staxis лучше знает структуру ЕА,
думаю он найдет место получше для этой проверки.

Убрал деление на 0, теперь работа ЕА в тестере завершается штатно, спасибо, Staxis!


Печально. Вот она - оборотная сторона чувства юмора :(


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

Изменено 24 марта, 2016 пользователем Genry_05

#2728

Всем доброго времени суток! Уважаемые, а подскажите пожалуйста, как настроить советник (последняя версия) что бы он начнал торговать не фиксированным лотом, а процентом от депозита? Спасибо

#2729


как настроить советник (последняя версия) что бы он начнал торговать не фиксированным лотом, а процентом от депозита?


Буквально на прошлой странице staxis все разжевал... /torgovye-sistemy/2/m1-quantum-londoninc-indikatornaya-setka-usrednitel-gbpusd-m1/10633/?do=findComment&comment=272958
#2730

Предлагаю рассмотреть внесение изменений в порядок открытия ордеров по сигналу.
1) При поступлении сигнала от Quantuma (и конечно же прохождении фильтров) открытие ордера происходит на той же свече, если свеча преодолела N количество указанных пунктов в сторону увеличения. Т.е. если на свече нарисовался сигнал и сразу свеча начала существенный рост (например на 20 пунктов), то тут же и открывается ордер. Конечно же проверка на спред и прочие условия должны учитываться.
2) Если первое условие не выполнено. Ордер открывается на следующей свече. В параметрах указывается что открытие может произойти как с положительным значением, так и с отрицательным "-" при указании N кол-ва пунктов от предыдущего максимума индикаторной свечи (или ордера). Отрицательное значение позволит не привязываться к условию "открытия только выше" и даст ограничение при свободном режиме по расстоянию выставления ордеров, т.к. бывает что из за сильных колебаний ордера открываются значительно ближе к линии старта сетки, что естественно, влияет на результат .
3) И главное, сделать так, чтоб попытки открытия происходили на каждой свече, пока условия не позволят открыть ордер. Т.е сигнал поступил, но условия не выполняются (спед, расстояние в пунктах и прочее) и после индикаторной свечи открытие ордера может произойти к примеру на 10 свече, или вообще не произойти.

#2731

Хотелось бы прочесть в чем цель доработки, идея требует дополнительного пояснения и скринов с примерами.
Определимся в терминологии:
Если пишем Экстремум - то это и максимальное и минимальное значение. Если же мы пишем только Максимум
не забываем что еще есть Минимум.


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



Здесь первая непонятка:
а) обычно мы снимаем сигнал с Первой свечи, т.е. сигнал возникает на 0 - когда формируется новый экстремум,
но отрабатываем сигнал на следующей свече - когда бывшая нулевая свеча становится первой. Предлагается
брать нулевую свечу и открывать ордер если цена продолжает движение против сигнала Квантума?

б) без учета тренда, данная стратегия - разворотная, сигнал Квантума - это экстремум свечи. В чем логика ждать
что движение продолжится, тем более указано - "(и конечно же прохождении фильтров)"?

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


Т.е. если на свече нарисовался сигнал и сразу свеча начала существенный рост (например на 20 пунктов), то
тут же и открывается ордер. Конечно же проверка на спред и прочие условия должны учитываться.



В каком направлении открывается? В сторону движения или по сигналу Квантума на разворот?


2) Если первое условие не выполнено. Ордер открывается на следующей свече. В параметрах указывается что открытие может произойти как с положительным значением, так и с отрицательным "-" при указании N кол-ва пунктов от предыдущего максимума индикаторной свечи (или ордера). Отрицательное значение позволит не привязываться к условию "открытия только выше" и даст ограничение при свободном режиме по расстоянию выставления ордеров, т.к. бывает что из за сильных колебаний ордера открываются значительно ближе к линии старта сетки, что естественно, влияет на результат .



Здесь некоторый сумбур: " Отрицательное значение позволит не привязываться к условию "открытия только выше (а ниже?)" и даст ограничение при свободном режиме (?)по расстоянию выставления ордеров


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



На 10 свече движения куда? "Или вообще не произойдет" - а это как?
В программировании нет понятия "и прочее" - условие должно быто однозначно описано.
Пример желательно реальный: 20пп после сигнала экстремума - это серьезное расстояние особенно на 4-х знаке.
10 свечей после экстремума - это тоже очень серьезно.
Пока неясна цель и описание, мягко говоря, хромает.

Изменено 24 марта, 2016 пользователем Genry_05

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

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