Эксперт не правильно работает - страница 2

 
Rosh:
Скажите, этот код Вы сами написали или где-то подглядели? Он по определению работать не должен. Это видно из кода. И когда я прочитал, что он, де, открывает позиции, а потом не может перевернуться, я решил, что у меня со зрением или с пониманием проблемы. Я не поленился, и загрузил этот шедевр в MetaEditor (то что не хватало объявления переменной TIKET - пустяк) , скомпилировал и запустил в тестере. О(ноль) сделок, как и положено.

Что имено  не должно работать ?
 
Если уж сами писали эксперта , то и проверить могли сами. Если глобальные переменные установлены вручную в нужное положение, то советник работает .
 
Rosh:
Если уж сами писали эксперта , то и проверить могли сами. Если глобальные переменные установлены вручную в нужное положение, то советник работает .
в этом то и проблема что на тестере у меня тоже работает. а вот на реале отказывается открываться в противоположную сторону.
А Вы говорили что не должен рабоать этот шедевр :)
 
Rosh:
Если уж сами писали эксперта , то и проверить могли сами. Если глобальные переменные установлены вручную в нужное положение, то советник работает .
в этом то и проблема что на тестере у меня тоже работает. а вот на реале отказывается открываться в противоположную сторону.
А Вы говорили что не должен рабоать этот шедевр :)
 

вот в чем проблема пишет 2007.06.13 10:48:23 KristinaExpert_v2 EURUSD,H1: invalid price 1. 32840000 for OrderClose function

 
colci:

вот в чем проблема пишет 2007.06.13 10:48:23 KristinaExpert_v2 EURUSD,H1: invalid price 1. 32840000 for OrderClose function


кто скажет как это лечить . Помогите пожайлуста.
 
Например, NormalizeDouble(). Кроме того поиск и детализированная просьба о помощи.
 
Rosh:
Например, NormalizeDouble(). Кроме того поиск и детализированная просьба о помощи.


Rosh помогите нормализацией пожайлуста, вот функция закрытия открытой сделки

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,4),3,CLR_NONE)

я так пишу и все равно пишет

2007.06.13 11:45:09 KristinaExpert_v2 USDCAD,H1: OrderClose failed with error #4107
как правильно нормализовать цену закрытия.

 
Да кто ж его знает. Может Вы пытаетесь закрыть ордер по канадцу по цене евры, или ордер в покупку закрыть по цене Ask, вместо Bid. Или у Вас битая не синхронизированная синтетическая история. Вариантов много, не зря же я написал

Кроме того поиск и детализированная просьба о помощи.

 

вот же есть функция из моего эксперта которая при посьуплении нового сигнала в противоположном направлении закрывает текушую сделку по даной валюте и открывает новую что в ней не так?

int BuySellRevers()
{
int TP,SL;
  for(int i=0;i<OrdersTotal();i++)
     {            
      
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)  
      if(OrderSymbol()==Symbol())
        {
           if(OrderType()==OP_SELL && OpenLong()==1)
             {
              if(SecondsAfterOpenLastPos()>3600)
              if(OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE))
                {
                  i=i-1;
                   
                     OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0);
                                      
                  return(1);
                  break;
                }
             }  
            if(OrderType()==OP_BUY && OpenShort()==1)
            {
                if(SecondsAfterOpenLastPos()>3600)
                if(OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE))
                  {
                    i=i-1;
                       OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0);
                                              
                       return(2);
                    break;
                  }  
             }  
        }
     }
return(0);  
}
Причина обращения: