0
У меня в памяти после коммента всплыл другой вариант расчета. Поэтому и засомневался.
Если у вас существует быстрая возможность проверить, то попробуйте нарисовать:

<code>all_4=(allBuy/ countBuy - allSell/countSell) / (countBuy - countSell);</code>


Возникло устойчивое чувство, что собаку здесь закопали. Уточню — отпишусь.
avatar

kvashnin007

  • 9 мая 2022, 23:04
0
Я вам, кажется говорил, что не торгую. Поэтому так быстро проверить не могу эту зебру.
Жду связи с автором, индикатор которого вы (если я правильно понял) даже не посмотрели на You Tube.
Уточню — отпишусь, а пока… пребываю при своем мнении.
Ошибки признавать умею.

Доброй ночи.
avatar

kvashnin007

  • 9 мая 2022, 22:52
0
Вник. У вас правильно, как и у меня в исправленном варианте.
С линиями (как у вас) у меня отсутствие полного понимания. Хотя не вижу сложностей у вас.
avatar

kvashnin007

  • 9 мая 2022, 22:43
0
Сергей, у вас первый вариант. Я его исправил через 10 минут после публикации. И дописал извинения. Как вы так быстро успели среагировать? Поражен.
Посмотрите исправленный вариант. А я пока вникну в ваш.
avatar

kvashnin007

  • 9 мая 2022, 22:38
0
Хорошо. Хотя мне больше нравится второй.
Скорее… послезавтра в личку кину.
В личку, а не в лицо.

Доброй ночи. В Сибири уже поздно.
avatar

kvashnin007

  • 9 мая 2022, 22:06
0
Уточнил называется.
В той точке, где ТР стоит ордер закроется по профиту.
И идите дальше со своим тралом. Т.е. работайте без трала.
Что бы трал не сработал на первом же тике, его устанавливают на какой-то дистанции.
Чтобы трал начал работать от ТР, цена должна пройти дальше ТР на дистанцию трала.
Если ТР стоял на своем месте, то ордер бы давно закрылся.

Поэтому рассматриваю два варианта:

1. ТР не устанавливаем, а в момент, когда цена прошла за предполагаемый ТР на расстояние дистанции трала, включаем трал от ТР. Минус в том, что можем не дойти до цены срабатывания трала и ТР потеряем. Хотя мы его всегда можем потерять и без трала.

2. ТР устанавливаем и, не доходя до ТР расстояния Delta, мы обнуляем ТР и вместо него включаем трал за минусом дистанции. Этот вариант лучше беспокоится о возможных потерях, но при прочих равных даст аналогичную прибыль. А потери возможны во всех случаях.

Я понимаю, что ваша стратегия рассчитана на усреднении на следующем уровне. При хорошем индюке уровней будет три, от силы четыре. Но это обычно!
И не бойтесь вы SL. В данном случае он ограничивает не минус, а потерю уже заработанного профита. И ни в коем случае не ограничивает просадку или слив. Ибо в данной ситуации он таки не сработает. Т.е. если сделка пройдет в минус, она даже не догадается о том, что существуют какие-то там тралы.

Трал вам нужОн.

Могу предложить вам для страховки вариант хэджирования.
Или может, все же тралить эквити. Меньше мороки. Только ТР все одно в какой-то момент отключать надо. В какой?

avatar

kvashnin007

  • 9 мая 2022, 21:35
0
Сергей, вы можете скачать (или посмотреть) индюк с сайта
trading-go.ru/indicators/vr-calculate-martingale/

Я когда-то общался с автором. Мужчина грамотный. Давно это было, но БУ для двунаправленных ордеров мне в теории не пригодился. А тогда я пересчитывал. Вот только своих расчетов не могу найти.
Суть уловил. Даже, помню, ввел для себя понятие «веса ордера».
Цена * лот. А тогда я немного погорячился и был автором повержен.
Я тоже считал, как Андрей. И что-то не било.
Сейчас пытаюсь снова связаться с автором.
Позже отпишусь. А пока уверенности в своей правоте 77,5%. Этого маловато будет. Павлины не помогут.
А на счет расчета, величины будут разные, ибо формулы разнятся. Что дальше то?

Уточню и отпишусь.
avatar

kvashnin007

  • 9 мая 2022, 20:57
0
Хорошо. Возьму от Андрея, который вы заказывали.
Единственное уточнение.: ТР вы все же ставить планируете и тогда трал будет включаться за минусом от ТР какой-то дистанции?
Или как?

А на счет форекса скажу, что мне это интересно. Правда ни копейки с этого не поимел. Может быть… когда ни будь…
avatar

kvashnin007

  • 9 мая 2022, 20:02
0
Что-то я сам засомневался. Давно это было, а расчеты не нашел.
Уточню отпишусь.
avatar

kvashnin007

  • 9 мая 2022, 18:14
0
Можно, конечно, еще и свопы с комиссией учесть. При желании.
Как ниже Andrju81 предложил. Хотя, для трала я бы не заморачивался.
avatar

kvashnin007

  • 9 мая 2022, 17:41
0
Андрей, здравствуйте.
Если в вашем советнике выше в функции трала переменная all является ценой безубытка для двунаправленных ордеров, то формула содержит ошибку.

Посмотрите как у меня. Может в дальнейшем пригодиться.
Но не надо тралить SL в в двух направлениях сразу. Седалища не хватит. Нужно определиться с каким-то направлением. Иначе тралить надо эквити.
Это мое мнение.

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   bool mod;
   double all=0,count=0,sl=0;

/*   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
              {
               all+=OrderOpenPrice()*OrderLots();
               count+=OrderLots();
              }
           }
        }
     }
   if(count>0)
      all=NormalizeDouble(all/count,_Digits);
*/
   double allBuy=0,countBuy=0,allSell=0,countSell=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
            if(OrderType()==OP_BUY)
              {
               allBuy+=OrderOpenPrice()*OrderLots();
               countBuy+=OrderLots();
              }
   for(int i=OrdersTotal()-1; i>=0; i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
            if(OrderType()==OP_SELL)
              {
               allSell+=OrderOpenPrice()*OrderLots();
               countSell+=OrderLots();
              }

   if(countBuy + countSell > 0)
      all=NormalizeDouble((allBuy - allSell) / (countBuy - countSell),_Digits);
      
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() || OrderMagicNumber()==Magic)
           {
            if(OrderType()==OP_BUY)
              {
               if(Bid-all>TrailingStop*_Point)
                 {
                  if(OrderStopLoss()<Bid-TrailingStop*_Point)
                    {
                     sl=NormalizeDouble(Bid-TrailingStop*_Point,_Digits);
                     if(OrderStopLoss()!=sl)
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                    }
                 }
              }

            if(OrderType()==OP_SELL)
              {
               if(all-Ask>TrailingStop*_Point)
                 {
                  if((OrderStopLoss()>(Ask+TrailingStop*_Point)) || (OrderStopLoss()==0))
                    {
                     sl=NormalizeDouble(Bid+TrailingStop*_Point,_Digits);
                     if(OrderStopLoss()!=sl)
                        mod=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+


Извините, поправил ошибку.
avatar

kvashnin007

  • 9 мая 2022, 17:33
0
Андрей, вы знаете считал, немного по другому, но ваша функция пообъемнее будет. Спасибо.
avatar

kvashnin007

  • 9 мая 2022, 16:53
0
Ну на счет фигни, показалось, что вы шутите.
В случае отката без трала вы получите бОльший убыток по SL. Вы сами говорите про непредвиденный (очень даже наоборот) откат. И противитесь сокращению убытка.

Сергей, давайте так.
Вы мне скидываете вашу проверенную функцию трала SL, а я допишу код. Вставите и протестируете.
Много времени не отнимет. Тестер рассудит, кто налево, а кто в другую сторону.
avatar

kvashnin007

  • 9 мая 2022, 16:45
0
Опять не в ту степь.
avatar

kvashnin007

  • 9 мая 2022, 16:42
0
Ну не только здесь. Трал SL может и убыток сократить и прибыль нарастить.
Впрочем, это одно и то же.

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

В вашем варианте или не ставите ТР или за N пунктов до ТР выставляете трал.
Если цена стала больше (меньше)
OrderOpenPrice()+(-)TP*Point, то включаем трал. И обнуляем ТР.
Опять же, трал от чего? Т.е. нужна дистанция…
Так и себя самого можно перехитрить.
avatar

kvashnin007

  • 9 мая 2022, 16:29
0
Не все, а только мы.
avatar

kvashnin007

  • 9 мая 2022, 14:40
0
Ну если вы уверены в ТР, то ставьте трал на большей дистанции. Страховка с одной стороны и, если трал от плюсовой зоны, страховка от потерь с другой стороны. Как-то так. Минусов не вижу.
По идее, если все пройдет по вашей стратегии, ордер закроется по ТР. То что вы и хотели. Зато со страховкой.
avatar

kvashnin007

  • 9 мая 2022, 14:09
0
Сережа, с праздником.
Тралить нужно, что нужно. Ах как загнул…
Трал вещь весьма полезная. У меня даже была на его основе стратегия создана. Разгонная.
Просто тралить разнонаправленные ордера — околесица.
Вы же мужчина. Определитесь в какую сторону, обрубите концы и тральте.
avatar

kvashnin007

  • 9 мая 2022, 13:06
0
Да. Многое пропустил. Basic, Ассемблер… Потом не до того было и вот сейчас.., последние года четыре.
Первый ваш абзац для меня прозвучал матом. Я и слов то таких не знаю.
Балдею я от сибиряков. Все время стремятся чем либо померятся.
Я ничего вам доказывать не собираюсь. Умный человек почерпнет полезное, а дураку и так ничего не поможет.
Это не о вас (на всякий случай). Красноречием меряться тоже лень.
На счет трала средств. Написать проще, чем трал SL. Но в тестере трал SL работает корректно, а трал средств — шприц одноразовый. Это в тестере. В реале все норм.
Хотя и тот трал и другой нужны. Для разных стратегий.

Возможность потери не исключаю и стараюсь принимать против этого меры. Писал об этом неоднократно.
А вот на мой вопрос вы себе не ответили. Видимо не заметили. Бывает.
У меня тоже есть недостатки. Вначале читаю советник, потом гоняю. Чтобы нормально оптимизировать, надо его знать. Плюс у меня отсутствует возможность тестировать советник на печатной машинке.
Закрывать два самых больших ордера решение двоякое. С одной стороны хорошо, с другой не совсем. Я бы предпочел закрыть одну сторону и тралить другую. Даже если мне повезет раз из четырех, я заработаю, как вы говорите. При этом исключив возможность слива.
avatar

kvashnin007

  • 8 мая 2022, 22:35
0
В вашем случае видится SL = 2 шага + дистанция трала (minTP). Когда останутся ордера одного направления (а это будет только в случае плюсового эквити), включаете трал. Т.е. вы уже не в минусе при любом раскладе. Даст бог заработаете. Или в другой раз.
avatar

kvashnin007

  • 7 мая 2022, 20:52