Как поставить Stop Loss в уже открытую позицию при достижении определёного уровня цены

 
Как поставить Stop Loss в уже открытую позицыю при достижении определёного уровня цены. Например если цена выше на 5 пунктов от цены открытия то автоматически ставится стоп лос на 1 пункт выше цены открития. ???
 
поиск есть посмотрите по форуму 1000 и 1 раз на это дан ответ уже
 

Алгоритм примерно такой

      MarketStopLevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
      MarketSpread=MarketInfo(Symbol(),MODE_SPREAD);
 
     for(int i=0;i<OrdersTotal();i++)
      {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
        {
//================================================Безубыток=============================================  
      if(UseLossless)
      {
        if(OrderType()==OP_BUY && 
           Bid-OrderOpenPrice()>Point*(MarketStopLevel+MarketSpread+TrailingStep) && OrderStopLoss()<OrderOpenPrice())
           {
            OrderModify(OrderTicket(),0,Bid-Point*(MarketStopLevel+MarketSpread),OrderTakeProfit(),0,Blue);
           }      
        if(OrderType()==OP_SELL && 
           OrderOpenPrice()-Ask > Point*(MarketStopLevel+MarketSpread+TrailingStep)&& OrderStopLoss()>OrderOpenPrice())
           {
            OrderModify(OrderTicket(),0,Ask+Point*(MarketStopLevel+MarketSpread),OrderTakeProfit(),0,Blue);
           }       
      UseLossless=false;
      }
 
        }
 
      }
UseLossless булевая переменная устанавливается из состояния рынка

Сам использую как уход в безубыток в некоторых ситуациях. Работает при любых движениях рынка и в случаях когда ДЦ меняет уровень стопов перед выходом новостей





 
Cronex:

Алгоритм примерно такой

Можно вопрос.
Я не силён в программировании и учусь читая форум и анализируя прочитанное...
Но стоит ли использовать функцию: MarketSpread = MarketInfo ( Symbol (), MODE_SPREAD ) ;.
Ведь мы и так используем Bid и Ask... в формуле передвижения стопов.
Мне это нужно знать для своих кодов...
Заранее спасибо.
 
Lord_Shadows:
Cronex:

Алгоритм примерно такой

Можно вопрос.
Я не силён в программировании и учусь читая форум и анализируя прочитанное...
Но стоит ли использовать функцию: MarketSpread = MarketInfo ( Symbol (), MODE_SPREAD ) ;.
Ведь мы и так используем Bid и Ask... в формуле передвижения стопов.
Мне это нужно знать для своих кодов...
Заранее спасибо.


В данном случае вы получите гарантированный стоп на уровне спреда, не зависимо от того что придет в голову ДЦ в момент выставления стопа. Для гарантии дополнительно используется TrailingStep, который можно установить дополнительно.

В итоге при превышении разницы цены открытия на уровень минимального уровня стопа на инструменте плюс спред плюс шаг трала, выставляется стоп на уровне минимального уровня стопа плюс спред. Это оградит вас от ошибок типа неверный уровень стопа и гарантирует уход в безубыток.

Но в принципе вы можете использовать любую другую логику.

 
Cronex, огромное вам спасибо!!!
 
Cronex:
Lord_Shadows:
Cronex:

Алгоритм примерно такой

Можно вопрос.


В данном случае вы получите гарантированный стоп на уровне спреда, не зависимо от того что придет в голову ДЦ в момент выставления стопа. Для гарантии дополнительно используется TrailingStep, который можно установить дополнительно.

В итоге при превышении разницы цены открытия на уровень минимального уровня стопа на инструменте плюс спред плюс шаг трала, выставляется стоп на уровне минимального уровня стопа плюс спред. Это оградит вас от ошибок типа неверный уровень стопа и гарантирует уход в безубыток.

Но в принципе вы можете использовать любую другую логику.

В данном случае я думаю иначе разница между Bid и Ask и есть тот самый спред...какие бы в тот момент новости не выходили, а MODE_STOPLEVEL и даёт ту самую горантию от произвола ДЦ.
Если же всё это не так, как я думаю, может нам кто-то ещё подскажет полностью правильный алгоритм...
P.S. Если же Ваш алгоритм единственно гарантированный по исполнению, а в других чужих кодах я подобного не видел...значит "большинство" не правильно пишет свои коды...
 
Cronex:


В данном случае вы получите гарантированный стоп...


Мне бы с Вами посотрудничать...но надежд на это мало., по причине Вашего опыта и моей безавторитетности...
P.S. Надежда умирает последней.
 
Lord_Shadows:
В данном случае я думаю иначе разница между Bid и Ask и есть тот самый спред...какие бы в тот момент новости не выходили, а MODE_STOPLEVEL и даёт ту самую горантию от произвола ДЦ.
Если же всё это не так, как я думаю, может нам кто-то ещё подскажет полностью правильный алгоритм...
P.S. Если же Ваш алгоритм единственно гарантированный по исполнению, а в других чужих кодах я подобного не видел...значит "большинство" не правильно пишет свои коды...

Про разницу между Bid и Ask - это действительно тот самый пресловутый стред, но по собственным наблюдениям опираться на него лучше с запасом:-) Проскальзывания, изменение спреда в процессе торговли.. свежий пример - перед новым годом на многих ДЦ стред USDCAN с 4 пунктов был увеличен до 8, а потом обратно 4.
Про уникальность моего алгоритма это конечно сильно, я ни в коем случае не столь категоричен :-) Ведь каждый программист видит решение по своему, если нет тех.задания. По крайней мере при тесте на реале пока ни разу не подвел.

Дополнение : в моем применении UseLossless и TrailingStep устанавливаются динамически из состояния рынка и ордера, так что каждый раз размер выставляемого первого стопа (уход в безубыток) разный, при этом закрывается процент от позиции и далее отдельная процедура трала с динамическими параметрами. При чем TrailingStep может принимать отрицательные значения. Основное применение у меня - длительные тренды.

 

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

'Графический эксперт AutoGraf'

'Учёт ордеров в большой программе'

'Управление ордерами – это просто'

'Передача торговых сигналов в универсальном советнике.'

'Десять «ошибок» начинающего трейдера?'

Хотя если все соединить написанное там вместе, то ....

 
Lord_Shadows:
Мне бы с Вами посотрудничать...но надежд на это мало., по причине Вашего опыта и моей безавторитетности...
P.S. Надежда умирает последней.

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