Как перевернуть эксперта?

 
Чтобы например эксперт "говорит" Покупать!, а мы продаем. Как это сделать? Достаточно ли просто поменять слова buy и sell в эксперте? Если нет, то пожалуйста объясните - оч. нужно.
 
Baltimor:
Чтобы например эксперт "говорит" Покупать!, а мы продаем. Как это сделать? Достаточно ли просто поменять слова buy и sell в эксперте? Если нет, то пожалуйста объясните - оч. нужно.
Кроме этого, используем в нужных - т.е. при постановке ТП и СЛ -, модификации и т.п. местах констукцию вида
      if (ReversTrade) //  переворачиваем все уровни с учетом спреда
         {
         switch (type)
            {
            case OP_BUY      : oldType = OP_SELL     ; break;
            case OP_SELL     : oldType = OP_BUY      ; break;
            case OP_BUYLIMIT : oldType = OP_SELLSTOP ; break;
            case OP_SELLLIMIT: oldType = OP_BUYSTOP  ; break;
            case OP_BUYSTOP  : oldType = OP_SELLLIMIT; break;
            case OP_SELLSTOP : oldType = OP_BUYLIMIT ; break;
            default: Print("Неверный тип ордера Type=",type," в функции CalculateSL_and_TP()!!!");                           
            }
         double temp;
         int spread = MarketInfo(Symbol(),MODE_SPREAD);
         int digits = MarketInfo(Symbol(),MODE_DIGITS);
         NormalizePrice(Ask,true); NormalizePrice(Bid,true);
         if (type==OP_BUY || type==OP_BUYSTOP || type==OP_BUYLIMIT)  
            {
            temp = SL;
            if (TP!=0) oldSL = NormalizeDouble(TP+Point*spread,digits);
               else oldSL=0;               
            if (SL!=0) oldTP = NormalizeDouble(temp+Point*spread,digits);
               else oldTP=0;               
            oldOpenPrice = NormalizeDouble(openPrice - Point*spread,digits);
            }
         if (type==OP_SELL)             {
            temp = SL;
            if (TP!=0) oldSL = NormalizeDouble(TP-Point*spread,digits);
               else oldSL=0;            
            if (SL!=0) oldTP = NormalizeDouble(temp-Point*spread,digits);
               else oldTP=0;            
            oldOpenPrice = NormalizeDouble(openPrice + Point*spread,digits);
            }
         }
 
Спасибо
 
Baltimor:
Чтобы например эксперт "говорит" Покупать!, а мы продаем. Как это сделать? Достаточно ли просто поменять слова buy и sell в эксперте? Если нет, то пожалуйста объясните - оч. нужно.

Думаю, в сложном эксперте не все так просто. Тут вопрос встает, что значит перевернуть.
 
Baltimor:
Чтобы например эксперт "говорит" Покупать!, а мы продаем. Как это сделать? Достаточно ли просто поменять слова buy и sell в эксперте? Если нет, то пожалуйста объясните - оч. нужно.

Немного не так.

Если индикатор говорит "Покупать", то вы должны "НЕ покупать", т.е "курить".

Если индикатор говорит "Продавать", то вы должны "НЕ продавать", т.е "курить".

Вот, что такое изнанка реальности. Так создаются фильтры. Но, фильтр - это только фильтр. Разумеется, речь идёт об индикаторах с сильно отрицательным матожиданием. Перевернув Бай на Сэлл вы ничего не добъётесь. Будет такой же слив скорее всего.

-

Всегда обращайте внимание на матожидание, если оно сильно отрицательно и советник совершил огромное количество сделок, за большой период - то это есть хорошо. Также важна стабильность слива - линейность кривой.

Причина обращения: