[Архив]учитесь зарабатывать селяне![Архив] - страница 659

 
Roman.:

Интересное решение - усредняться по времени... Я имел ввиду - коэфф умножения между усредняющими ордерами как считаем? каким лотом открывать 1-ый усредняющий, 2-ой усредняющий ордер...? где коэффициент? То, что первый стартовый - по ММ от размера депа - это понятно...
Все остальные тоже по тому же ММ, если сразу в плюс, то доливка большим лотом получается, если ушли в просадку то меньшим чтоб не нагружать депозит, а трейлинг стоп можно для связки всех ордеров от точки безубытка.
 
Roman.:

Интересное решение - усредняться по времени... Я имел ввиду - коэфф умножения между усредняющими ордерами как считаем? каким лотом открывать 1-ый усредняющий, 2-ой усредняющий ордер...? где коэффициент? То, что первый стартовый - по ММ от размера депа - это понятно...

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

Я теперь применяю формулу:

MiniLot^(x^0)+MiniLot^(x^1)+MiniLot^(x^2) ... + MiniLot^(x^(N-1))=VolMax,

где N-максимальное предполагаемое количество ордеров,

VolMax-максимально возможный совокупный объем всех N ордеров

но пока простым перебором нахожу x

Может кто знает решение этого уравнения, где неизвестно только x?

 
new-rena:

Ну посмотрите историю за 30 лет. Где Вы видели супертренд??? Чего бояться то. Программно определите - сколько будет пунктов и всё.

Я даже внутренности индюка показал (1-5 страниц назад).


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

Что самое характерное - эту ф-ию переносил к себе в сова в ф-ию инит - считает как-то не так... Запускаю скрипт на выполнение - другое (более близкое к реалиям) значение...

Смотрю. Устраняю ошибки при переносе этого скрипта к себе в сова... Далее - просто через переменные в старте сова делим это значение в пп на макс. кол-во усредняющих ордеров = шаг усреднения.

#property show_inputs

extern int MinPips = 100;
extern datetime StartTime = D'2010.01.01';
extern datetime 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;
      else if (Max - PriceLow >= MinPips)
      {
        Data[Count] = Max - Min;
        Count++;
        
        FlagUP = FALSE;
        Min = PriceLow;
      }
    }
    else
    {
      if (PriceLow < Min)
        Min = PriceLow;
      else if (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:
Все остальные тоже по тому же ММ, если сразу в плюс, то доливка большим лотом получается, если ушли в просадку то меньшим чтоб не нагружать депозит, а трейлинг стоп для связки всех ордеров от точки безубытка.

в коде - не выложете?
 
Roman.:

в коде - не выложете?
На предыдущей странице код функции
LotsOptimized()
OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,stop,Ask+Takeprofit*Point,"",MagicNumber,0,Green);
 
new-rena:

Ну посмотрите историю за 30 лет. Где Вы видели супертренд??? Чего бояться то. Программно определите - сколько будет пунктов и всё.

Я даже внутренности индюка показал (1-5 страниц назад).

Да, про пункты, тренды и индюк понятно. Спасибо!! Только еще вопрос по направлениям (Buy/Sell) - какое берется, как они меняются?
 
mt4trade:
Да, про пункты, тренды и индюк понятно. Спасибо!! Только еще вопрос по направлениям (Buy/Sell) - какое берется, как они меняются?

То которое говорит индикатор. Т.е. начали BUY, значит так и идём. Как говорится - кто первый тот и папа.

Снова посмотрим на направление, когда очередной раз закроем серию однонаправленных ордеров плюс))).

 
BeerGod:
На предыдущей странице код функции


Понятно. Проверять прям щас в сове (там даже такая же ф-ия по названию) - просто ее (ту) заменить на эту (Вашу) не буду... позже гляну подробнее...

Напишите строкой примерные лоты по усредняющим ордерам при стартовом дЕпе, напр. 10 000 ед. валюты, т.е.:

0. стартовый объем = 0,01 лот.

1-ый усредняющий рыночный = 0,02 лот.

3-ий усредняющий рыночный = 0,03 лот.

4-ый = 0,05

5-ый = 0,09

6

7

8

9

И последующий усредняющий ордер ставить после 900 сек. после открытия предыдущего усредняющего рыночного при наличии убытка по всем предыдущим однонаправленным стартовым и усредняющим ордерам?

 
Roman.:

Благодарю, Ренат за ответ.

...Это как?

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

Я теперь применяю формулу:

MiniLot^(x^0)+MiniLot^(x^1)+MiniLot^(x^2) ... + MiniLot^(x^(N-1))=VolMax,

где N-максимальное предполагаемое количество ордеров (),

VolMax-максимально возможный совокупный объем всех N ордеров (Депо/MarketInfo(Instr,MODE_MARGINREQUIRED))

но пока простым перебором нахожу x

Может кто знает решение этого уравнения, где неизвестно только x?
 
new-rena:

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

Я теперь применяю формулу:

MiniLot^(x^0)+MiniLot^(x^1)+MiniLot^(x^2) ... + MiniLot^(x^(N-1))=VolMax,

где N-максимальное предполагаемое количество ордеров (),

VolMax-максимально возможный совокупный объем всех N ордеров (Депо/MarketInfo(Instr,MODE_MARGINREQUIRED))

но пока простым перебором нахожу x

Может кто знает решение этого уравнения, где неизвестно только x?

Задал вопрос в соответствующем топике - см. эту ветвь. Сам - не знаю, "вышка" давно была... :-)