Интересное решение - усредняться по времени... Я имел ввиду - коэфф умножения между усредняющими ордерами как считаем? каким лотом открывать 1-ый усредняющий, 2-ой усредняющий ордер...? где коэффициент? То, что первый стартовый - по ММ от размера депа - это понятно...
Все остальные тоже по тому же ММ, если сразу в плюс, то доливка большим лотом получается, если ушли в просадку то меньшим чтоб не нагружать депозит, а трейлинг стоп можно для связки всех ордеров от точки безубытка.
Интересное решение - усредняться по времени... Я имел ввиду - коэфф умножения между усредняющими ордерами как считаем? каким лотом открывать 1-ый усредняющий, 2-ой усредняющий ордер...? где коэффициент? То, что первый стартовый - по ММ от размера депа - это понятно...
Трудная задача и сводится она к тому, что нужно просчитать будет сумму залога по максимальному количеству и общему объему открытых ордеров.
Тут кстати нарыл Расчет макс-ого безоткатного движения от хренфх: см. здесь. Отсюда и плясать, т.е. делить это расстояние на кол-во (максимальное) усредняющих позиций - в итоге получится шаг усреднения для полюбасного взятия профита при откате. Даты - сами задаете - можно на макс. глубинуистории котировок, которую предоставляет Ваш ДЦ по выбранному инструменту...
Что самое характерное - эту ф-ию переносил к себе в сова в ф-ию инит - считает как-то не так... Запускаю скрипт на выполнение - другое (более близкое к реалиям) значение...
Смотрю. Устраняю ошибки при переносе этого скрипта к себе в сова... Далее - просто через переменные в старте сова делим это значение в пп на макс. кол-во усредняющих ордеров = шаг усреднения.
#property show_inputsexternint MinPips = 100;
externdatetime StartTime = D'2010.01.01';
externdatetime EndTime = D'2011.01.01';
#define MAX_POINTS 10000// Заполняет массив размерами колен ЗигЗага с условием колена >= MinPips пунктовint GetZigZagData( int MinPips, datetime& StartTime, datetime& EndTime, int& Data[] )
{
bool FlagUP = TRUE;
int Pos = iBarShift(Symbol(), Period(), StartTime);
int PosEnd = iBarShift(Symbol(), Period(), EndTime);
int Max = High[Pos] / Point + 0.1;
int Min = Low[Pos] / Point + 0.1;
int Count = 0;
int PriceHigh, PriceLow;
StartTime = Time[Pos];
EndTime = Time[PosEnd];
ArrayResize(Data, MAX_POINTS);
Pos--;
while (Pos >= PosEnd)
{
PriceHigh = High[Pos] / Point + 0.1;
PriceLow = Low[Pos] / Point + 0.1;
if (FlagUP)
{
if (PriceHigh > Max)
Max = PriceHigh;
elseif (Max - PriceLow >= MinPips)
{
Data[Count] = Max - Min;
Count++;
FlagUP = FALSE;
Min = PriceLow;
}
}
else
{
if (PriceLow < Min)
Min = PriceLow;
elseif (PriceHigh - Min >= MinPips)
{
Data[Count] = Max - Min;
Count++;
FlagUP = TRUE;
Max = PriceHigh;
}
}
Pos--;
}
ArrayResize(Data, Count);
return(Count);
}
void start()
{
int ZigZagData[];
int Amount = GetZigZagData(MinPips, StartTime, EndTime, ZigZagData);
ArraySort(ZigZagData);
Print("На интервале " + TimeToStr(StartTime) + " - " + TimeToStr(EndTime) +
" максимальное безоткатное (> " + MinPips +
" пунктов) движение " + ZigZagData[Amount - 1] + " пунктов.");
return;
}
BeerGod: Все остальные тоже по тому же ММ, если сразу в плюс, то доливка большим лотом получается, если ушли в просадку то меньшим чтоб не нагружать депозит, а трейлинг стоп для связки всех ордеров от точки безубытка.
Понятно. Проверять прям щас в сове (там даже такая же ф-ия по названию) - просто ее (ту) заменить на эту (Вашу) не буду... позже гляну подробнее...
Напишите строкой примерные лоты по усредняющим ордерам при стартовом дЕпе, напр. 10 000 ед. валюты, т.е.:
0. стартовый объем = 0,01 лот.
1-ый усредняющий рыночный = 0,02 лот.
3-ий усредняющий рыночный = 0,03 лот.
4-ый = 0,05
5-ый = 0,09
6
7
8
9
И последующий усредняющий ордер ставить после 900 сек. после открытия предыдущего усредняющего рыночного при наличии убытка по всем предыдущим однонаправленным стартовым и усредняющим ордерам?
Интересное решение - усредняться по времени... Я имел ввиду - коэфф умножения между усредняющими ордерами как считаем? каким лотом открывать 1-ый усредняющий, 2-ой усредняющий ордер...? где коэффициент? То, что первый стартовый - по ММ от размера депа - это понятно...
Интересное решение - усредняться по времени... Я имел ввиду - коэфф умножения между усредняющими ордерами как считаем? каким лотом открывать 1-ый усредняющий, 2-ой усредняющий ордер...? где коэффициент? То, что первый стартовый - по ММ от размера депа - это понятно...
Трудная задача и сводится она к тому, что нужно просчитать будет сумму залога по максимальному количеству и общему объему открытых ордеров.
Я теперь применяю формулу:
MiniLot^(x^0)+MiniLot^(x^1)+MiniLot^(x^2) ... + MiniLot^(x^(N-1))=VolMax,
где N-максимальное предполагаемое количество ордеров,
VolMax-максимально возможный совокупный объем всех N ордеров
но пока простым перебором нахожу x
Может кто знает решение этого уравнения, где неизвестно только x?
Ну посмотрите историю за 30 лет. Где Вы видели супертренд??? Чего бояться то. Программно определите - сколько будет пунктов и всё.
Я даже внутренности индюка показал (1-5 страниц назад).
Тут кстати нарыл Расчет макс-ого безоткатного движения от хренфх: см. здесь. Отсюда и плясать, т.е. делить это расстояние на кол-во (максимальное) усредняющих позиций - в итоге получится шаг усреднения для полюбасного взятия профита при откате. Даты - сами задаете - можно на макс. глубинуистории котировок, которую предоставляет Ваш ДЦ по выбранному инструменту...
Что самое характерное - эту ф-ию переносил к себе в сова в ф-ию инит - считает как-то не так... Запускаю скрипт на выполнение - другое (более близкое к реалиям) значение...
Смотрю. Устраняю ошибки при переносе этого скрипта к себе в сова... Далее - просто через переменные в старте сова делим это значение в пп на макс. кол-во усредняющих ордеров = шаг усреднения.
Все остальные тоже по тому же ММ, если сразу в плюс, то доливка большим лотом получается, если ушли в просадку то меньшим чтоб не нагружать депозит, а трейлинг стоп для связки всех ордеров от точки безубытка.
в коде - не выложете?
в коде - не выложете?
Ну посмотрите историю за 30 лет. Где Вы видели супертренд??? Чего бояться то. Программно определите - сколько будет пунктов и всё.
Я даже внутренности индюка показал (1-5 страниц назад).
Да, про пункты, тренды и индюк понятно. Спасибо!! Только еще вопрос по направлениям (Buy/Sell) - какое берется, как они меняются?
То которое говорит индикатор. Т.е. начали BUY, значит так и идём. Как говорится - кто первый тот и папа.
Снова посмотрим на направление, когда очередной раз закроем серию однонаправленных ордеров плюс))).
На предыдущей странице код функции
Понятно. Проверять прям щас в сове (там даже такая же ф-ия по названию) - просто ее (ту) заменить на эту (Вашу) не буду... позже гляну подробнее...
Напишите строкой примерные лоты по усредняющим ордерам при стартовом дЕпе, напр. 10 000 ед. валюты, т.е.:
0. стартовый объем = 0,01 лот.
1-ый усредняющий рыночный = 0,02 лот.
3-ий усредняющий рыночный = 0,03 лот.
4-ый = 0,05
5-ый = 0,09
6
7
8
9
И последующий усредняющий ордер ставить после 900 сек. после открытия предыдущего усредняющего рыночного при наличии убытка по всем предыдущим однонаправленным стартовым и усредняющим ордерам?
Благодарю, Ренат за ответ.
...Это как?
Если знаешь, то напиши пожалуйста решение вот этого уравнения через логарифмы и я рассказываю дальше...
Я теперь применяю формулу:
MiniLot^(x^0)+MiniLot^(x^1)+MiniLot^(x^2) ... + MiniLot^(x^(N-1))=VolMax,
где N-максимальное предполагаемое количество ордеров (),
VolMax-максимально возможный совокупный объем всех N ордеров (Депо/MarketInfo(Instr,MODE_MARGINREQUIRED))
но пока простым перебором нахожу x
Может кто знает решение этого уравнения, где неизвестно только x?Если знаешь, то напиши пожалуйста решение вот этого уравнения через логарифмы и я рассказываю дальше...
Я теперь применяю формулу:
MiniLot^(x^0)+MiniLot^(x^1)+MiniLot^(x^2) ... + MiniLot^(x^(N-1))=VolMax,
где N-максимальное предполагаемое количество ордеров (),
VolMax-максимально возможный совокупный объем всех N ордеров (Депо/MarketInfo(Instr,MODE_MARGINREQUIRED))
но пока простым перебором нахожу x
Может кто знает решение этого уравнения, где неизвестно только x?Задал вопрос в соответствующем топике - см. эту ветвь. Сам - не знаю, "вышка" давно была... :-)