Ваши вопросы по языку MQL4

AlexeyVik

Программист mql4 mql5
категорически не согласен с вами. любой нормальный код написанный на старый билд без труда компилируется на новом без каких либо изменений вообще. те же названные фами функции init() start() deinit() продолжают работать в новом билде и компилятор даже не выдает никаких предупреждений.
Вот если код был написан пьяными индусами - да появлялись проблемы... которые у слову решались в самых запущенных случаях минут за 5.

MQ да как то ляпнули мол mt4 устарел и поддерживать больше не будем, но пользователи проголосовали иначе. На моей практике как было года 3-4 назад заказов на mql5 в районе 5-10%, так и осталось. По этому у MQ не осталось выбора как расширить язык mql4 до приемлемого уровня, появилось долгожданное ООП. Но они не оставляют попыток пропихнуть mql5, потому и были реализованы хедж счета. Хотя все профессиональные участники прекрасно понимают что это абсолютно бесполезная фича. Но у большинства пользовалетей все было очень плохо с математикой в школе и они любят хеджироваться на той же паре копя комиссии и свопы себе в убыток :D

Никаких проблем для освоения и использования языка не появилось. Учебник который у них висит на сайте с хрен знает каких годов до сих пор актуален и все что написано в нем прекрасно работает.
Категорически не соглашаюсь с таким мнением. Когда-то я Ренату предлагал, предложу и вам:
В 0:00 ставим 2 разнонаправленных позиции без стопов и с тейком 20 старорежимных 4х значных пунктов. Посчитайте сколько дней будет по 40 пунктов прибыли... Для облегчения скрипт в прицепе. Ставит 3 линии по цене открытия дня, +20 пунктов вверх и 20 вниз на тот день на который скрипт перетащишь мышкой. На мой взгляд лучше видно на Н1.

Ну, а если цена попёрла в одну сторону, тут уже вторая часть стратегии. К сожалению так и не доработанная. Но если применять эту стратегию визуально оценивая вероятность на следующий день, то получится неплохо.
В общем, не хочу сказать что именно это повлияло на решение MQ но хедж появился вскоре после такого моего сообщения.
 

Вложения

  • 20-20.mq5
    1,8 КБ · Просмотры: 10

vladradon

Программист
В общем, не хочу сказать что именно это повлияло на решение MQ но хедж появился вскоре после такого моего сообщения.
Да, согласен (я не про сообщение), только вот буквально на дня написал мультивалютника на 5-ке и с грустью узнал (проковырявшись в новой документации для 5-ки), что новый параметр на нехеджевом счете для функции OrderSend, который обозначивает закрытие всей позиции на данном инструменте по типу функци из 4-ки OrderCloseBy, на нехеджевом счете не работает. Может я отстал от жизни и этот параметр как-то по особому нужно прописывать в MQL запросе OrderSenda...:nda:
 

AlexeyVik

Программист mql4 mql5
Да, согласен (я не про сообщение), только вот буквально на дня написал мультивалютника на 5-ке и с грустью узнал (проковырявшись в новой документации для 5-ки), что новый параметр на нехеджевом счете для функции OrderSend, который обозначивает закрытие всей позиции на данном инструменте по типу функци из 4-ки OrderCloseBy, на нехеджевом счете не работает. Может я отстал от жизни и этот параметр как-то по особому нужно прописывать в MQL запросе OrderSenda...:nda:
Я этим вариантом закрытия не пользовался, но можно ведь посмотреть в стандартной библиотеке.


Код:
//+------------------------------------------------------------------+
//| Close one position by other                                      |
//+------------------------------------------------------------------+
bool CTrade::PositionCloseBy(const ulong ticket,const ulong ticket_by)
  {
//--- check stopped
   if(IsStopped(__FUNCTION__))
      return(false);
//--- check hedging mode
   if(!IsHedging())
      return(false);
//--- check position existence
   if(!PositionSelectByTicket(ticket))
      return(false);
   string symbol=PositionGetString(POSITION_SYMBOL);
   ENUM_POSITION_TYPE type=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
   if(!PositionSelectByTicket(ticket_by))
      return(false);
   string symbol_by=PositionGetString(POSITION_SYMBOL);
   ENUM_POSITION_TYPE type_by=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
//--- check positions
   if(type==type_by)
      return(false);
   if(symbol!=symbol_by)
      return(false);
//--- clean
   ClearStructures();
//--- check filling
   if(!FillingCheck(symbol))
      return(false);
//--- setting request
   m_request.action     =TRADE_ACTION_CLOSE_BY;
   m_request.position   =ticket;
   m_request.position_by=ticket_by;
   m_request.magic      =m_magic;
//--- close position
   return(OrderSend(m_request,m_result));
  }
 

vladradon

Программист
Я этим вариантом закрытия не пользовался, но можно ведь посмотреть в стандартной библиотеке.
Вот я что и имею ввиду, что в нехеджевом счете у меня перестает работать функция с использованием параметра request.action =TRADE_ACTION_CLOSE_BY; и без проблем работает закрытие позиции тупо открытием ордера тем же лотом противоположного направления.
PHP:
void ClosePosition(string sym)
  {
   PositionSelect(sym);
   MqlTradeResult result={0};
   MqlTradeRequest request={0};
   request.symbol=sym;
   request.magic=Magic;
   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      request.type=ORDER_TYPE_SELL;
      request.price=SymbolInfoDouble(sym,SYMBOL_BID);
     }
   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
     {
      request.type=ORDER_TYPE_BUY;
      request.price=SymbolInfoDouble(sym,SYMBOL_ASK);
     }
//request.type=ORDER_TYPE_CLOSE_BY;
   request.volume=PositionGetDouble(POSITION_VOLUME);
   request.action=TRADE_ACTION_DEAL;
   request.type_filling=ORDER_FILLING_FOK;
   if(PositionGetDouble(POSITION_VOLUME)>0) z=OrderSendAsync(request,result);
 

Milord

Местный знаток
...
Зачем меняли? Да, видимо, просто так захотели...

Зачем возмущаться тем что идёт дождь? Сколько не возмущайся он всё равно будет идти...

вот вот,захотели и делают что хотят,не слушая мнения трейдеров..и это не первый раз уже!:facepalm:
да и вапще имею право возмущаться,тем более по их вине многие вещи перестали работать в новых билдах, если в старом 509 нет ошибок,то в новом уже есть...кстати кто писал им на их сайте претензии и возмущения,они также банили,чем доказали 2й раз что плевали они на мнение трейдеров!:facepalm:
поэтому мне тоже плевать на их новые билды, сижу в старом!;)
 
Последнее редактирование:

AlexeyVik

Программист mql4 mql5
Вот я что и имею ввиду, что в нехеджевом счете у меня перестает работать функция с использованием параметра request.action =TRADE_ACTION_CLOSE_BY; и без проблем работает закрытие позиции тупо открытием ордера тем же лотом противоположного направления.
PHP:
void ClosePosition(string sym)  {   PositionSelect(sym);   MqlTradeResult result={0};   MqlTradeRequest request={0};   request.symbol=sym;   request.magic=Magic;   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)     {      request.type=ORDER_TYPE_SELL;      request.price=SymbolInfoDouble(sym,SYMBOL_BID);     }   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)     {      request.type=ORDER_TYPE_BUY;      request.price=SymbolInfoDouble(sym,SYMBOL_ASK);     }//request.type=ORDER_TYPE_CLOSE_BY;   request.volume=PositionGetDouble(POSITION_VOLUME);   request.action=TRADE_ACTION_DEAL;   request.type_filling=ORDER_FILLING_FOK;   if(PositionGetDouble(POSITION_VOLUME)>0) z=OrderSendAsync(request,result);
Так ведь на счетах netting может быть только одна позиция по символу. Отсюда и отсутствие такой возможности.
Если есть желание делать возможность торговать на разных типах счетов, то надо просто делить алгоритм по условию if(тип_счёта) ... ; else ... ;
И тут-то как раз будет очень полезна возможность ООП именовать функции одинаково, но входные параметры могут отличаться, как по количеству, так и по типу этих параметров.
Например если счёт hadge то в функцию передаётся тикет позиции, а если netting то передаётся символ. Вот уже есть две одноимённые функции. И при написании кода советника не надо иметь в памяти две разные функции, к какой надо обратиться.
В общем полёт фантази...
 

AlexeyVik

Программист mql4 mql5
вот вот,захотели и делают что хотят,не слушая мнения трейдеров..и это не первый раз уже!:facepalm:
да и вапще имею право возмущаться,тем более по их вине многие вещи перестали работать в новых билдах, если в старом 509 нет ошибок,то в новом уже есть...кстати кто писал им на их сайте претензии и возмущения,они также банили,чем доказали 2й раз что плевали они на мнение трейдеров!:facepalm:
поэтому мне тоже плевать на их новые билды, сижу в старом!;)
1. Перестали работать в подавляющем большинстве по причине такого написания. Я встречал таких писателей, которые именовали переменные с точкой, типа ticket.ordera и при нововведениях моментально появились ошибки. Но если кто-то хоть чуток интересовался языком С++ тот знает что так делать нельзя. Как только в mql ввели структуры и классы, тут и пошли проблемы в таких кодах.
2. Писать претензии и возмущения надо без оскорблений. Тогда и банить не будут. Плюс к этому, надо читать ответы и пытаться понять объяснения.
и 3. До поры, до времени можно сидеть и на старом билде. Но недалёк тот час когда его закроют и останешься у разбитого корыта.
 
Последнее редактирование:

vladradon

Программист
1. Перестали работать в подавляющем большинстве по причине такого написания. Я встречал таких писателей, которые именовали переменные с точкой, типа ticket.ordera и при нововведениях моментально появились ошибки. Но если кто-то хоть чуток интересовался языком С++ тот знает что так делать нельзя. Как только в mql ввели структуры и классы, тут и пошли проблемы в таких кодах.
2. Писать претензии и возмущения надо без оскорблений. Тогда и банить не будут. Плюс к этому, надо читать ответы и пытаться понять объяснения.
и 3. До поры, до времени можно сидеть и на старом билде. Но недалёк тот час когда его закроют и останешься у разбитого корыта.
Да, эти точки в старых прогах не работают и иногда их нудно удалять, особенно если прога большая по объему. Но всегда достаточно просто удалить эти точки из имен переменных или массивов, чтобы все скомпилировалось и заработало.

Так ведь на счетах netting может быть только одна позиция по символу. Отсюда и отсутствие такой возможности.
Если есть желание делать возможность торговать на разных типах счетов, то надо просто делить алгоритм по условию if(тип_счёта) ... ; else ... ;
И тут-то как раз будет очень полезна возможность ООП именовать функции одинаково, но входные параметры могут отличаться, как по количеству, так и по типу этих параметров.
Например если счёт hadge то в функцию передаётся тикет позиции, а если netting то передаётся символ. Вот уже есть две одноимённые функции. И при написании кода советника не надо иметь в памяти две разные функции, к какой надо обратиться.
В общем полёт фантази...
Да, согласен. Будет не лень, поэкспериментирую. Просто на 5-ке что-то пишешь в основном когда нужно тестировать мультивалютник, а так какого-то плюса по сравнению с 4-кой я не вижу.
вот вот,захотели и делают что хотят,не слушая мнения трейдеров..и это не первый раз уже!
да и вапще имею право возмущаться,тем более по их вине многие вещи перестали работать в новых билдах, если в старом 509 нет ошибок,то в новом уже есть...кстати кто писал им на их сайте претензии и возмущения,они также банили,чем доказали 2й раз что плевали они на мнение трейдеров!
поэтому мне тоже плевать на их новые билды, сижу в старом!
От того, что в новых билдах больше проверок кода на грамотность - это же наоборот огромный плюс прогеру в том плане, что из-за какой-то мелочи (тупо опечатки), старый билд ее пропустит при компиляции, а новый увидит. И при старой компиляции будешь долго голову ломать, пытаясь понять, почему расчеты не те, которые должны быть.
 
Последнее редактирование:

Milord

Местный знаток
....Но если кто-то хоть чуток интересовался языком С++ тот знает что так делать нельзя. Как только в mql ввели структуры и классы, тут и пошли проблемы в таких кодах.
2)...Писать претензии и возмущения надо без оскорблений. Тогда и банить не будут. Плюс к этому, надо читать ответы и пытаться понять объяснения.

3)...и До поры, до времени можно сидеть и на старом билде. Но недалёк тот час когда его закроют и останешься у разбитого корыта.

кстати вопросик по Си, на какой язык больше похож MQL4 и MQL5, на С++ или на С#,или вапще на что то третье?

2) - а кто их оскорблял то, просто написал им,как есть - что им плевать на мнение трейдеров, что они лоббируют банки и брокеров, и тут же бан получил:facepalm:

3) -дык если волков бояться то в лес не ходить, если думать только об плохом ,то оно рано или поздно случится...
 

AlexeyVik

Программист mql4 mql5
Да, согласен. Будет не лень, поэкспериментирую. Просто на 5-ке что-то пишешь в основном когда нужно тестировать мультивалютник, а так какого-то плюса по сравнению с 4-кой я не вижу.
Ну видимо каждому своё. Я уже полностью отказался от МТ4 и торгую только на МТ5. И где-то здесь я писал, что отсутствие в mql4 функции OnTradeTransaction просто убивает желание программировать.
Если не пробовал не поймёшь как просто определить активировался-ли отложенный ордер или закрылась-ли позиция по стопу или тейку.

кстати вопросик по Си, на какой язык больше похож MQL4 и MQL5, на С++ или на С#,или вапще на что то третье?

2) - а кто их оскорблял то, просто написал им,как есть - что им плевать на мнение трейдеров, что они лоббируют банки и брокеров, и тут же бан получил:facepalm:

3) -дык если волков бояться то в лес не ходить, если думать только об плохом ,то оно рано или поздно случится...
К сожалению я ни тот ни другой язык не знаю и ничего не программировал на них. Только однажды открыл книгу, не помню автора и создателя языка, прочёл максимум 5 страниц и бросил. Нет задачи и изучение превращается в пытку. Я просто повторил слова где-то прочитанные. А такая манера именовать переменные, через точку, мне даже понравилась. Слава Богу это было непосредственно перед этим глобальным обновлением и править мне пришлось очень мало.
2. Я не следил и не читал твои посты там. Не мне судить, но видимо всё-же что-то их обидело.
3. Бойся, не бойся, а такой волк придёт независимо от фобий.

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

Milord

Местный знаток
Ну видимо каждому своё. Я уже полностью отказался от МТ4 и торгую только на МТ5. И где-то здесь я писал, что отсутствие в mql4 функции OnTradeTransaction просто убивает желание программировать.
Если не пробовал не поймёшь как просто определить активировался-ли отложенный ордер или закрылась-ли позиция по стопу или тейку.

2. Я не следил и не читал твои посты там. Не мне судить, но видимо всё-же что-то их обидело.
3. Бойся, не бойся, а такой волк придёт независимо от фобий.

А сам-то чьи интересы стал-бы лоббировать если с одних нихрена ничего не получаешь, а другие платят за эти программы? И платят ежемесячно.
а слабо было метаквотам сделать в МТ4 три вида функций,для подсчета числа ордеров,например вот так?
PHP:
OrdersPending()
- всего открыто отложенных ордеров
PHP:
BuyOrdersMarket()
- открыто рыночных ордеров BUY
PHP:
SellOrdersMarket()
- открыто рыночных ордеров SELL,
чтобы не извращаться с кодом как щас,где есть только OrdersTotal()

2- на обиженных воду возят!
мне пофигу на их обиды,они тоже плевали на мнение трейдеров!

3- они рано решили, что они пуп земли, есть и другие платформы,более продвинутые чем МТ4 и МТ5,на их месте надо было повернуться лицом к трейдерам,а не задом,но им решать кого лоббировать и кому продаваться за зеленые бумажки!
 
Последнее редактирование:

eevviill2

Местный знаток
а слабо было метаквотам сделать в МТ4 3-ре вида функций,для подсчета числа ордеров,например вот так?
PHP:
OrdersPending()
- всего открыто отложенных ордеров
PHP:
BuyOrdersMarket()
- открыто рыночных ордеров BUY
PHP:
SellOrdersMarket()
- открыто рыночных ордеров SELL,
чтобы не извращаться с кодом как щас,где есть только OrdersTotal()
...
Я этим мудакам метакротам много раз говорил как надо было.
прототип
OrdersTotal(int magic=-1,int type=-1)
 

AlexeyVik

Программист mql4 mql5
а слабо было метаквотам сделать в МТ4 три вида функций,для подсчета числа ордеров,например вот так?
PHP:
OrdersPending()
- всего открыто отложенных ордеров
PHP:
BuyOrdersMarket()
- открыто рыночных ордеров BUY
PHP:
SellOrdersMarket()
- открыто рыночных ордеров SELL,
чтобы не извращаться с кодом как щас,где есть только OrdersTotal()

2- на обиженных воду возят!
мне пофигу на их обиды,они тоже плевали на мнение трейдеров!

3- они рано решили, что они пуп земли, есть и другие платформы,более продвинутые чем МТ4 и МТ5,на их месте надо было повернуться лицом к трейдерам,а не задом,но им решать кого лоббировать и кому продаваться за зеленые бумажки!
Вот в mql5 как раз и реализовано отдельный учёт позиций и отложенных ордеров. А поскольку им тяжело тащить 2 проекта почти одинаковых, вот они и рекламируют тот что поновее. А те кто никак не хочет расстаться с недоделкой могут написать свои функции и к ним обращаться при необходимости. Скорость не будет отличаться. Как ни крути, а отсеять какой-то отдельный тип ордеров можно только перебирая их все в цикле. И нет никакой разницы будет этот цикл пользовательский или стандартный.
Из других продвинутых есть только квик, но попробуй его освоить... Потом поделишься впечатлениями. А программирование в квике ... легче сдохнуть.
Ну и на этом я для себя эту тему прекращаю. Нет смысла пытаться тебя в чём-то убеждать. У тебя ведь нет желания попытаться понять или хотя-бы задуматься.
 

MrGreen86

Гуру форума
Категорически не соглашаюсь с таким мнением. Когда-то я Ренату предлагал, предложу и вам:
В 0:00 ставим 2 разнонаправленных позиции без стопов и с тейком 20 старорежимных 4х значных пунктов. Посчитайте сколько дней будет по 40 пунктов прибыли... Для облегчения скрипт в прицепе. Ставит 3 линии по цене открытия дня, +20 пунктов вверх и 20 вниз на тот день на который скрипт перетащишь мышкой. На мой взгляд лучше видно на Н1.

Ну, а если цена попёрла в одну сторону, тут уже вторая часть стратегии. К сожалению так и не доработанная. Но если применять эту стратегию визуально оценивая вероятность на следующий день, то получится неплохо.
В общем, не хочу сказать что именно это повлияло на решение MQ но хедж появился вскоре после такого моего сообщения.

а теперь изменим вашу стратегию, можно на базе того же мт4.
если цена прошла 20 пунктов вниз - покупаем с профитом 40 пунктов. если прошла 20 пунктов вверх - продаем с профитом 40 пунктов.
это именно то что на самом деле происходило с вашим счетом по вашей же стратегии.
в чем разница спросите вы? разница в итоговой прибыли, и она огромна. вы теряете только 1 спред вместо двух. вы платите только 1 комиссию вместо двух. а на выходе получаете абсолютно тоже самое, только прибыли больше и меньше просадки.

нет на этом мы не остановимся. берем любую стратегию в которой так или иначе существуют хеджи. делаем виртуальную таблицу ордеров - советник не открывает сделки а только заносит в таблицу то что он хотел открыть. на основе этой таблицы он и работает дальше, т.е. докупается, хеджируется. А уже на основе этой таблицы выводим на рынок совокупную позицию.
открыто 0.7 бай и 1.2 селл - выводим 0.5 селл
открыто 7 бай и 1 селл - выводим 6 бай
при изменении в таблице добавляем недостающие лоты или же отрезаем лишнее закрывая ордера частично.
что получаем на выходе? опять же колоссальный прирост в прибыльности без каких либо потерь от базовой "стратегии".

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

Milord

Местный знаток
Вот в mql5 как раз и реализовано отдельный учёт позиций и отложенных ордеров. А поскольку им тяжело тащить 2 проекта почти одинаковых, вот они и рекламируют тот что поновее. А те кто никак не хочет расстаться с недоделкой могут написать свои функции и к ним обращаться при необходимости. Скорость не будет отличаться. Как ни крути, а отсеять какой-то отдельный тип ордеров можно только перебирая их все в цикле. И нет никакой разницы будет этот цикл пользовательский или стандартный.
Из других продвинутых есть только квик, но попробуй его освоить... Потом поделишься впечатлениями. А программирование в квике ... легче сдохнуть.
Ну и на этом я для себя эту тему прекращаю. Нет смысла пытаться тебя в чём-то убеждать. У тебя ведь нет желания попытаться понять или хотя-бы задуматься.
начнем с конца:
1 - как можно понять метаквотов, если они игнорят мнение трейдеров и банят их(заметь не за маты),а за здоровую критику их наплевательского отношения к людям,с манией величия?!

2 - во вторых,Алексей - ты ведь кажется был представителем их конторы или даже остался, так кто как не ты должен нести в массы их политику доброты и отзывчивости к пожеланиям трейдеров и проггеров, а если нет этой отзывчивости и доброты, так и грош им цена!
и как раз надо убеждать,а не игнорить людей, нести информацию, а не ставить перед фактом, как они делали помнится, сделали билд и пофигу им что никто не был готов что на нем не работают советники и индикаторы,причем обновление МТ4 на новые билды шло без одобрения на это трейдеров, в принудительном порядке,сидишь торгуешь себе, и вдруг бац и терминал сам собой обновился и твой советник перестал работать, а твои бабосики кровные ушли в минуса(заметь не по моей вине)!

3- в третьих я человек неконфликтный,но если кто нападает даю сдачи, так что не надо из меня делать какого монстра,за сим заканчиваю тему метаквотов и их отношения к людям!
тем более нам тут делить нечего,как говорится - ребята давайте жить дружно!:)
если кого то обидел, не хотел извините!
 
Последнее редактирование:

Milord

Местный знаток
.....именно это я и имел ввиду что все профессиональный участники рынка понимают что это бесполезная фича.
хватит играться с хеджами, это абсолютно тупой самообман.
верно ли я понял ,что речь идет об локе,например открыт ордер BUY, и он ушел в просадку(в минуса),то открываем ему противоположный ордер SELL,так сказать локовый,вы про это имели ввиду?
если так, то я бы не сказал что это бесполезняк полный, если например минусовой ордер у вас 0.5 лота, а локовый в 1.5 лота, он как раз может вытянуть минуса и сразу их закрыть оба, или в 0 или в небольшой профит по счету,но без убытка!
 
Последнее редактирование:

MrGreen86

Гуру форума
верно ли я понял ,что речь идет об локе,например открыт ордер BUY, и он ушел в просадку(в минуса),то открываем ему противоположный ордер SELL,так сказать локовый,вы про это имели ввиду?
если так, то я бы не сказал что это бесполезняк полный, если например минусовой ордер у вас 0.5 лота, а локовый в 1.5 лота, он как раз может вытянуть минуса и сразу их закрыть оба, или в 0 или в небольшой профит по счету,но без убытка!
поняли верно но остальное видимо не захотели читать.
если прочтете то поймете что это "бесполезняк полный" и сами перестанете использовать подобную дребедень :D

открыли бай 0.5 лотам, ушли в минус на 20 пунктов.
открылии селл 1.5 лотом, ушли в плюс на 40 пунктов закрыли все.

теперь сравните с этим:

открыли бай 0.5 лота, ушли в минус на 20 пунктов - закрыли
открылии селл 1.0 лота, ушли в плюс на 40 пунктов - закрыли.

все тоже самое, но во втором случае меньше нагрузки на депозит, меньше комиссий, меньше затрат на спреды и меньше затрат на свопы (если позиции перешли через сутки).

если такая большая разница, то кем надо быть чтоб продолжать пользоваться первым вариантом? :laugh:
 

AlexeyVik

Программист mql4 mql5
а теперь изменим вашу стратегию, можно на базе того же мт4.
если цена прошла 20 пунктов вниз - покупаем с профитом 40 пунктов. если прошла 20 пунктов вверх - продаем с профитом 40 пунктов.
это именно то что на самом деле происходило с вашим счетом по вашей же стратегии.
в чем разница спросите вы? разница в итоговой прибыли, и она огромна. вы теряете только 1 спред вместо двух. вы платите только 1 комиссию вместо двух. а на выходе получаете абсолютно тоже самое, только прибыли больше и меньше просадки.
Может быть и так, но в тот момент я не пытался разобраться в таких тонкостях. Просто я писал такой советник и половину заказанной стратегии привёл в пример. И всё-же при любом раскладе вторая половина стратегии не отработана и лично я не вижу решения, равно как и та девушка которой я его писал.
 
Верх