# Alpari vs. UWC-Demo, Error 130

Раздел: Язык программирования MQL4
Автор темы: MasterCoder
Создана: 2009-01-18 20:50
Ответов: 5 | Просмотров: 5426
Страница 1 из 1
Источник: https://forexsystemru.com/threads/9069/

---

## MasterCoder — 2009-01-18 20:50

Тестировал вариант Меркио в Алпари Демо
Бот пашет без ошибок, но почемуто качество моделирования ~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 — 2009-01-18 21:38

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

## FXWizard — 2009-01-19 08:31

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

## MasterCoder — 2009-01-19 11:19

Да, похоже ответ на вопрос так же нашелся задесь:

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 — 2009-01-19 14:53

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

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

## Okey — 2009-08-18 20:53

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

