# Русская система!

Раздел: Советники, эксперты, форекс роботы
Автор темы: Леонов
Создана: 2013-01-31 09:02
Ответов: 11671 | Просмотров: 2105366
Страница 13 из 584
Источник: https://forexsystemru.com/threads/70763/page-13

---

## senchakv — 2013-02-06 14:41

Идея есть сетку ставить по уровням фибоначчи с заданным периодом(для нахождения min и max цены). Прибыльность уменьшится, зато увеличится стабильность... Но это так, мысли вслух.

## senchakv — 2013-02-06 14:45

> Цитата (Владислав):
> что-то рановато :-)
> как  отдохнёшь попробуй сделать мой вариант.

Я не отказываюсь работать дальше и не требую компенсации.
Тут только вопрос в отношении: ваше ко мне, моё к вам. Естественно всё взаимозависимо.

## Paladinen — 2013-02-06 14:45

Пока что не дает профита ни в каком виде.

## Леонов — 2013-02-06 14:45

> Цитата (sergikos):
> Пока ничего радикально нового для себя не увидел - да, сеточные стратегии работают, но время от времени сливают.  Грааль? Закрытая ветка? Тайный заговор? Что с деньгами делать? - пока, к соожалению, нет повода для таких разговоров.

Как знать Ребята, Как знать...

## Владислав — 2013-02-06 14:47

> Цитата (Paladinen):
> Пока что не дает профита ни в каком виде.

так оно и не даст.
представь сейчас начнётся флет, кто его знает до завтра а то и до послезавтра и всё это будет висеть, свопы :confused:

## Paladinen — 2013-02-06 14:48

Я не про форвард, на тесте ничего

## senchakv — 2013-02-06 14:55

Версия бесспорно сырая, может в дальнейшем система будет совсем по-другому принципу работать. Я не говорю, что её сейчас ставить на реал надо. Меня попросили сделать бота по ТЗ - я сделал.
У меня есть три варианта алгоритма, которые разгоняют депо в 7 раз за две недели, а толку, если они через пару дней сливают всё? Есть варианты за полгода в 25 раз, в июле сливают. Не вижу смысла выкладывать мой позор на всеобщее обозрение.

## agronomist — 2013-02-06 15:21

> Цитата (senchakv):
> Версия бесспорно сырая, может в дальнейшем система будет совсем по-другому принципу работать. Я не говорю, что её сейчас ставить на реал надо. Меня попросили сделать бота по ТЗ - я сделал.
> У меня есть три варианта алгоритма, которые разгоняют депо в 7 раз за две недели, а толку, если они через пару дней сливают всё? Есть варианты за полгода в 25 раз, в июле сливают. Не вижу смысла выкладывать мой позор на всеобщее обозрение.

Не прошу выкладывать, как Вы выразились "свой позор". Но ведь все, кто знаком с сетками все это знают. Знают, что сетка зарабатывает и в общем итоге непрерывной работы сливает! Так ведь? Все знают? Ничего нового не открыл? Поэтому в этом смысле нет ничего "позорного", что Ваше детище в итоге сливает. Моя мысль крутится вокруг того, что надо сетку как-то привязывать к какому-то индикатору или каким-то правилам начала и конца работы. Для чего это надо спросите? А для того, чтобы по возможности убрать наиважнейший **фактор времени** или хотя бы как-то приручить его. 
Вот взять пример одну старую систему, которая называлась (возможно и сейчас называется) Т101. Наверное наслышаны про нее? Корзина валют из 10-12 пар, некоторые бай, некоторые селл. Но первначальный смысл был такой, что в понедельник на демо счете открывали все эти пары например в бай. Через 2-3 дня смотрели какие пары лидеры, а какие минуса и тогда например покупали (или продавали) корзину долларовых пар и т.д. Потом написали отдельно программку имитирующую эти покупки или продажи, а потом и советник, который виртуально вел отсчет и по ручному приказу трейдера покупал (продавал) корзинами валютных пар. Ну и к концу недели все это дело закрывалось и на следующей неделе все начиналось заново.
    Т.е. как бы была какая-то система, что продавались не от балды, а например велся отчет от начала недели.  Вот я и думаю, что надо как-то систематизировать начала и конца работы сетки.  Закрытие всей сетки по определенному профиту, это хорошо, но ведь в таком случае на следующем тике сетка начинает строиться заново? А каждый профит ставит под себя и потом пошел разнобой. А надо как-то что-то как в Т101. День (неделя, месяц) начался, через 5-10 часов например определилось основное **предполагаемое!!!** направление. На основании этого запускается сетка, в конце дня она закрывается или по профиту и ждем следующий день (неделю, месяц).  Т.е. надо как-бы иметь какую-то точку отсчета. А то так и будет как я уже говорил. Сегодня запустил и повезло, а завтра запустил и не повезло. Или один ставит профит 1% и он медленно так потихоньку ползет 1-3 месяца а потом сливает или не сливает, а кто-то с теми же параметрами ставит профит 100% и за неделю имеет 1000% а потом дырку от бублика. 

Ну это мои такие небольшие мысли........:-(

## maks5317 — 2013-02-06 15:24

?

## maks5317 — 2013-02-06 15:25

> Цитата (Леонов):
> Как знать Ребята, Как знать...

согласен!

## senchakv — 2013-02-06 15:35

Перед уходом скажу.
Все алгоритмы сливают в разное время, кстати. Есть смысл включать несколько алгоритмов (ботов) одновременно, а закрывать ордера ВСЕ сразу по общему профиту, т.е. ставить magic единый допустим для трёх ботов. Тоже мысли вслух.

## darkman — 2013-02-06 15:41

Все профитного времени суток. Плавно вольюсь в обсуждение . Гонял на тестере все три совы за 2012 год с разными настройками и увидел такую закономерность , при небольшом депо все три косят зелень как потерпевшие ,но когда депо увеличивается начинается слив . Думаю всё в %от депо . При большом депо совы начинают барзеть с лотом в итоге колян маржовый.
Пробовал смотреть на микрореале там вообще ничего не работает ни одной сделки не открывается(

## senchakv — 2013-02-06 16:32

> Цитата (darkman):
> Все профитного времени суток. Плавно вольюсь в обсуждение . Гонял на тестере все три совы за 2012 год с разными настройками и увидел такую закономерность , при небольшом депо все три косят зелень как потерпевшие ,но когда депо увеличивается начинается слив . Думаю всё в %от депо . При большом депо совы начинают барзеть с лотом в итоге колян маржовый.
> Пробовал смотреть на микрореале там вообще ничего не работает ни одной сделки не открывается(

Кстати да! Ты прав! Перепроверю расчет лота от % депо.
Если сделки не открываются, покрути percent_lot, они только из-за этого параметра могут не открываться. Увеличь параметр %.

## Rolandoz — 2013-02-06 16:34

> Цитата (Леонов):
> Вот одна из Моих бредовых идей. Ставим стопы и лимиты на одни уровни. Т.е. через каждые 10пип у Нас стоит Бай и Селл, равные по объему. Сетка идет и вверх от цены и вниз. Первые ордера в 5 пип от цены, т.е. цена оказывается где-то в середине сетки. Далее для удобства осмысления пишу в еденицах.
>  Допустим цена пошла вверх на 100 ед. Мы имеем положительные замки на 100 ед. и столько же отрицательных. Закрываем все положительные, + 100 ед. Остаются открытые отрицательные -100 ед. И тут же востанавливаем закрытые ордера, т.е. ставим теже ордера на тоже место. Мы ничего не теряем и не зарабатываем т.к. сумма открытых ордеров в минус равна сумме закрытых в плюс, и если цена пошла дальше, Мы просто можем закрыть часть открытых отрицательных замков, для продолжения построения сетки вверх. Но вот, цена разворачивается, от уровня в 100 ед. и идет до уровня 70 ед. Те замки, что были отрицательны становятся положительными, а положительные отрицательными. Мы закрываем положительные + 30 ед. Остаются открытые минусовые ордера на - 100 ед. Но Мы уже закрывали +100 ед. и только, что закрыли + 30 ед. Итого +30 ед. Расчертите все на листке бумагт, там все наглядно видно.
>  Что мешает? Первое своевременное закрытие положительных, никто не знает когда цена развернется. Второе его величество спред. Это в идиальных условиях все хорошо работает, что будет со спредом, Я не знаю.

"Вот одна из Моих бредовых идей."
И это правильно..

## maks5317 — 2013-02-06 17:27

Подтяжка Стоп-ордеров вслед за ценой

//==================================================================
void ProcessPendingOrder(int Ticket)
{ 
  double NewOpenPrice = 0;
  double NewTP = 0;
  if(Debug) 
   {
    Print("Функция ProcessPendingOrder()");
    Print("Пытаемся тянуть отложенный ордер.");
   }
  if(OrderSelect(Ticket, SELECT_BY_TICKET))
    if(OrderCloseTime() == 0)
      while (!IsStopped())
      {
        switch(OrderType())
        {
          case OP_BUYSTOP:
            if(NormalizeDouble((OrderOpenPrice() - Ask) / Point, 0) > Dist + Step)
            {
              NewOpenPrice = NormalizeDouble(Ask + Dist * Point, Digits);
              NewTP = NormalizeDouble(NewOpenPrice + TakeProfit * Point, Digits);
              if(Debug)
              { 
                Print("NewOpenPrice = ", NewOpenPrice);
                Print("NewTP = ", NewTP);
              }
            }          
            else
            {
              if(Debug)
              { 
                Print("Модификация ордера остановлена. Не выполнено условие.");
                Print("Цена не вышла за установленную границу.");
              }
              return;
            }  
            break; //Выходим из switch()
          case OP_SELLSTOP:
            if(NormalizeDouble((Bid - OrderOpenPrice()) / Point, 0) > Dist + Step)
            {
              NewOpenPrice = NormalizeDouble(Bid - Dist * Point, Digits);
              NewTP = NormalizeDouble(NewOpenPrice - TakeProfit * Point, Digits);
              if(Debug)
              {
                Print("NewOpenPrice = ", NewOpenPrice);
                Print("NewTP = ", NewTP);
              }
            }
            else
            {
              if(Debug) 
              {
                Print("Модификация ордера остановлена. Не выполнено условие.");
                Print("Цена не вышла за установленную границу.");
              }
              return;
            }  
            break; //Выходим из switch()
            default:
            return; //Тип ордера не наш, вывыливаемся з функции нафиг.
        }
        //Проверка на ошибку с кодом 1
        if(NewOpenPrice == NormalizeDouble(OrderOpenPrice(), Digits) &&
           NewTP == NormalizeDouble(OrderTakeProfit(), Digits))
        {
          Print("Модификация ордера остановлена. Не пройдена проверка на ошибку с кодом 1.");
          Print("OrderOpenPrice() = ", DoubleToStr(OrderOpenPrice(), 8), "; NewOpenPrice = ", NewOpenPrice);
          Print("OrderTakeProfit() = ", DoubleToStr(OrderTakeProfit(), 8),"; NewTP = ", NewTP);
          break; //Выходим из while()
        }
        if(IsTradeContextBusy())
        {
          Print("Торговый поток занят!");
          Sleep(3000);
          RefreshRates();
          continue; //Возвращаемся в начало цикла while()
        }
        if(!IsTradeAllowed())
        {
          Print("Эксперту запрещено торговать! Снята галка в свойствах эксперта.");
          break; //Выходим из while()
        }
        if(OrderModify(OrderTicket(), NewOpenPrice, OrderStopLoss(), NewTP, 0, CLR_NONE))
        {
          if(Debug) Print("Ордер #", OrderTicket(), "модифицирован успешно.");
          break; //Выходим из while()
        }
        else
        {
          Print("Ордер не модифицирован. Код ошибки", GetLastError());
          break; //Выходим из while()
        }
      }
  return;
}

## senchakv — 2013-02-06 21:16

> Цитата (maks5317):
> Подтяжка Стоп-ордеров вслед за ценой
>
> //==================================================================
> void ProcessPendingOrder(int Ticket)
> {
>   double NewOpenPrice = 0;
>   double NewTP = 0;
>   if(Debug)
>    {
>     Print("Функция ProcessPendingOrder()");
>     Print("Пытаемся тянуть отложенный ордер.");
>    }
>   if(OrderSelect(Ticket, SELECT_BY_TICKET))
>     if(OrderCloseTime() == 0)
>       while (!IsStopped())
>       {
>         switch(OrderType())
>         {
>           case OP_BUYSTOP:
>             if(NormalizeDouble((OrderOpenPrice() - Ask) / Point, 0) > Dist + Step)
>             {
>               NewOpenPrice = NormalizeDouble(Ask + Dist * Point, Digits);
>               NewTP = NormalizeDouble(NewOpenPrice + TakeProfit * Point, Digits);
>               if(Debug)
>               {
>                 Print("NewOpenPrice = ", NewOpenPrice);
>                 Print("NewTP = ", NewTP);
>               }
>             }
>             else
>             {
>               if(Debug)
>               {
>                 Print("Модификация ордера остановлена. Не выполнено условие.");
>                 Print("Цена не вышла за установленную границу.");
>               }
>               return;
>             }
>             break; //Выходим из switch()
>           case OP_SELLSTOP:
>             if(NormalizeDouble((Bid - OrderOpenPrice()) / Point, 0) > Dist + Step)
>             {
>               NewOpenPrice = NormalizeDouble(Bid - Dist * Point, Digits);
>               NewTP = NormalizeDouble(NewOpenPrice - TakeProfit * Point, Digits);
>               if(Debug)
>               {
>                 Print("NewOpenPrice = ", NewOpenPrice);
>                 Print("NewTP = ", NewTP);
>               }
>             }
>             else
>             {
>               if(Debug)
>               {
>                 Print("Модификация ордера остановлена. Не выполнено условие.");
>                 Print("Цена не вышла за установленную границу.");
>               }
>               return;
>             }
>             break; //Выходим из switch()
>             default:
>             return; //Тип ордера не наш, вывыливаемся з функции нафиг.
>         }
>         //Проверка на ошибку с кодом 1
>         if(NewOpenPrice == NormalizeDouble(OrderOpenPrice(), Digits) &&
>            NewTP == NormalizeDouble(OrderTakeProfit(), Digits))
>         {
>           Print("Модификация ордера остановлена. Не пройдена проверка на ошибку с кодом 1.");
>           Print("OrderOpenPrice() = ", DoubleToStr(OrderOpenPrice(), 8), "; NewOpenPrice = ", NewOpenPrice);
>           Print("OrderTakeProfit() = ", DoubleToStr(OrderTakeProfit(), 8),"; NewTP = ", NewTP);
>           break; //Выходим из while()
>         }
>         if(IsTradeContextBusy())
>         {
>           Print("Торговый поток занят!");
>           Sleep(3000);
>           RefreshRates();
>           continue; //Возвращаемся в начало цикла while()
>         }
>         if(!IsTradeAllowed())
>         {
>           Print("Эксперту запрещено торговать! Снята галка в свойствах эксперта.");
>           break; //Выходим из while()
>         }
>         if(OrderModify(OrderTicket(), NewOpenPrice, OrderStopLoss(), NewTP, 0, CLR_NONE))
>         {
>           if(Debug) Print("Ордер #", OrderTicket(), "модифицирован успешно.");
>           break; //Выходим из while()
>         }
>         else
>         {
>           Print("Ордер не модифицирован. Код ошибки", GetLastError());
>           break; //Выходим из while()
>         }
>       }
>   return;
> }

Не хочу даже в код вникать.
Не проще ли удалять нужные отложки и ставить их заново на определённое расстояние вслед за ценой?

## De$mond — 2013-02-07 00:29

> Цитата (darkman):
> Все профитного времени суток. Плавно вольюсь в обсуждение . Гонял на тестере все три совы за 2012 год с разными настройками и увидел такую закономерность , при небольшом депо все три косят зелень как потерпевшие ,но когда депо увеличивается начинается слив . Думаю всё в %от депо . При большом депо совы начинают барзеть с лотом в итоге колян маржовый.
> Пробовал смотреть на микрореале там вообще ничего не работает ни одной сделки не открывается(

Есть такое дело, с ММ определённо надо что то делать (сейчас гоняю RS of Senchakov 1) . Также думаю не мешало бы ограничение на открытие новой сетки, типа new cycle - false/true что бы к примеру в пятницу не начинала новую сетку строить, а то понедельник может быть "чёрным"

вообще я думаю, что к временному фильтру мы рано или поздно всё равно придём!

## Paragon — 2013-02-07 04:47

**Спасибо всем!**

Лично   **Selection** ,если Вы читаете . К Вам не возможно отправить сообщения,система выдаёт,что Вам необходимо почистить папку или архив от старых писем.

Вот это совсем другой процесс,4 страницы за день.**Молодцы!**:-)
Вроде всех поблагодарил.
Считаю должен быть не только правильный расчёт,а точный расчёт лота для каждой отложки, Коннект утверждал много раз,что сова **ТРЕНДОВИК**  и флэт,рывок,изгиб,перегиб,ММ,МММ,спираль сове по **барабану**.Помните?Так то так.
**О жадности**. Мы должны чётко знать,что на Форексе,Бирже выигрывают на проигравших. Третьих лиц на этом поле нет,значит,если все выигрывают,тогда кто будет проигрывать? Этого не позволят сделать нам.Считаю иметь выгоду в разумной стратегии снятия сливок.
Надо учитывать,что тему читают не только форумчане,но и конкретные заинтересованные личности-агенты,которые всё держат под контролем.Это система. Иначе не только Коля Маржов,но и люди в **чёрном** Вам позвонят в дверь и устроят **слив** Вас в окно.Юмор,но чёрный. Не испытывайте себя,подумайте о Ваших близких.**Всё в разумных и лояльных пределах**.Это тоже часть Грааля.Это тоже входило в задумке о закрытом форуме.

## fluda4ka — 2013-02-07 05:09

мужики я боюсь за свои картинки, но всеже надо выложит, ИСТИНА ГДЕ ТО РЯДОМ 

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

## senchakv — 2013-02-07 05:16

> Цитата (fluda4ka):
> мужики я боюсь за свои картинки, но всеже надо выложит, ИСТИНА ГДЕ ТО РЯДОМ
>
> всем привет, примерно гдето так должно быть, или есть, немного покапалась в коде,кое4то дописала, на сколько хватила ума, но ето толко половина

Что именно ты дописала? Кинь свою версию в личку.

---

Следующая страница: https://forexsystemru.com/threads/70763/page-14
