Alpari vs. UWC-Demo, Error 130

MasterCoder

Активный участник
Тестировал вариант Меркио в Алпари Демо
Бот пашет без ошибок, но почемуто качество моделирования ~45%

Решил потестить в МТ4 который я кажется скачал с сайта МТ4

Получаю вот такую нехорошую ошибку:

Код:
2009.01.18 19:45:50	2008.10.01 17:12  01.2009-EURJPY-M5: OrderModify error 130

Зато качество теста 90%

Может кто сталкивался ?
ERR_INVALID_STOPS 130
UWC-Demo.com
 

Юрий FT

Модератор
Что ж тут непонятного, пишет неправильный стоп лосс.
 

FXWizard

Гуру форума
стоплосс может оказаться выше текущей цены или тэйк ниже цены открытия.
 

MasterCoder

Активный участник
Да, похоже ответ на вопрос так же нашелся задесь:

http://forum.mql4.com/17010

Вот трал который делает это:
http://forexsystemsru.com/showthread.php?t=6565
TrailingStop =10
TrailingStep = 5
Код:
for (int i=0; i<OrdersTotal(); i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (AllPositions || OrderSymbol()==Symbol()) {
        TrailingPositions();
      }
    }
  }
  
}
//+------------------------------------------------------------------+
//| Сопровождение позиции простым тралом                             |
//+------------------------------------------------------------------+
void TrailingPositions() {
  double pBid, pAsk, pp;

  pp = MarketInfo(OrderSymbol(), MODE_POINT);
  if (OrderType()==OP_BUY) {
    pBid = MarketInfo(OrderSymbol(), MODE_BID);
    if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) {
      if (OrderStopLoss()<pBid-(TrailingStop+TrailingStep-1)*pp) {
        ModifyStopLoss(pBid-TrailingStop*pp);
        return;
      }
    }
  }
  if (OrderType()==OP_SELL) {
    pAsk = MarketInfo(OrderSymbol(), MODE_ASK);
    if (!ProfitTrailing || OrderOpenPrice()-pAsk>TrailingStop*pp) {
      if (OrderStopLoss()>pAsk+(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0) {
        ModifyStopLoss(pAsk+TrailingStop*pp);
        return;
      }
    }
  }
}

//+------------------------------------------------------------------+
//| Перенос уровня StopLoss                                          |
//| Параметры:                                                       |
//|   ldStopLoss - уровень StopLoss                                  |
//+------------------------------------------------------------------+
void ModifyStopLoss(double ldStopLoss) {
  bool fm;

  fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
  if (fm && UseSound) PlaySound(NameFileSound);
}
//+------------------------------------------------------------------+

Как лечить это я пока не понял ...

И еще непонятно почему в Алпари получается всего 45% аккурантости моделирования этой пары. (EURJPY)
 

FXWizard

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

попробуйте увеличить ТП и СЛ и ошибка исчезнет, либо совтеник надо пробывать на другом ДЦ, у разных ДЦ стопуровни разные.
 

Okey

Активный участник
В Альпари Digits 5 знаков, а у большинства ДЦ -4 знака! ТП и СЛ умножте на 10
 
Верх