# MQL госпиталь (бывшая "Больничка"): исправляем ошибки

Раздел: Язык программирования MQL4
Автор темы: Юлия
Создана: 2014-10-14 20:59
Ответов: 8848 | Просмотров: 1585473
Страница 346 из 443
Источник: https://forexsystemru.com/threads/77226/page-346

---

## serrus — 2020-08-04 12:29

Доброго дня!Можно к этому индюку приделать ID,чтобы ставить несколько штук на график с разными ТФ?

## Soramasqus — 2020-08-04 12:30

GUYS PLEASE HELP REMOVE THE ALERT IN THIS BRILLIANT ARROW INDICATOR . PROGRAMMERS I COUNT ON YOU PLEASE

## vladradon — 2020-08-06 08:58

> Цитата (FxMen):
> Заведите старый индюк 15 года.

Привет!
Проанализировал код и почистил, но он либо не полный, либо должен быть какой-то второй индюк или прога, которая рассчитывает и создает линию, от которой идет дальнейший расчет. В коде индюка этого нет, насколько смог оценить. Чего-то не хватает, но если расчет основной линии был тупо стерт из кода, то я не знаю какой расчет был для отображения этой линии. Короче, нет данных. Восстановить можно, если знать алгоритм расчета основной линии. Или этот индюк был частью нескольких прог, т.к. в нем все расчеты только на основании уже имеющейся какой-то линии. В инете ничего не нашел...

## Аввакум2 — 2020-08-06 09:10

> Цитата (Soramasqus):
> GUYS PLEASE HELP REMOVE THE ALERT IN THIS BRILLIANT ARROW INDICATOR . PROGRAMMERS I COUNT ON YOU PLEASE

for this purpose it is necessary a format mq4

## 4budab1 — 2020-08-06 13:14

Постоянно возникает ошибка OrderModify error 1, хотя вроде бы тут "if(OrderStopLoss()<(DONlow+minstoplevel*pp))" у меня есть проверка на минимальный стоп
Помогите люди добрые, советник и индюк приладываю

```
double DONhigh, DONlow;(данные с индикатора)

extern bool   AllPositions  =True;         // Управлять всеми позициями
extern bool   ProfitTrailing=False;          // Тралить только профит
extern double    TrailingStep  =5;             // Шаг трала
extern double    TrailingStop  =2;

//+------------------------------------------------------------------+
//| Сопровождение позиции простым тралом                             |
//+------------------------------------------------------------------+
void TrailingPositions()
  {
   double pBid, pAsk, pp;
   double minstoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
//----
   pp=MarketInfo(OrderSymbol(), MODE_POINT);
   if(OrderType()==OP_BUY)
     {
      pBid=MarketInfo(OrderSymbol(), MODE_BID);
      if(!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp)
        {
         //if(OrderStopLoss()<pBid-(minstoplevel+TrailingStop+TrailingStep-1)*pp)
         if(OrderStopLoss()<(DONlow+minstoplevel*pp))
           {
            ModifyStopLoss(DONlow);
            return;
           }
        }
     }
   if(OrderType()==OP_SELL)
     {
      pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
      if(!ProfitTrailing || OrderOpenPrice()-pAsk>TrailingStop*pp)
        {
         //if(OrderStopLoss()>pAsk+(minstoplevel+TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0)
         if(OrderStopLoss()>(DONhigh+minstoplevel*pp))
           {
            ModifyStopLoss(DONhigh);
            return;
           }
        }
     }
  }
//+------------------------------------------------------------------+
//| Перенос уровня StopLoss                                          |
//| Параметры:                                                       |
//|   ldStopLoss - уровень StopLoss                                  |
//+------------------------------------------------------------------+
void ModifyStopLoss(double ldStopLoss)
  {
   bool fm;
   fm=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(ldStopLoss,Digits),OrderTakeProfit(),0,CLR_NONE);
  }
```

## AlexeNP — 2020-08-06 13:29

> Цитата (4budab1):
> Постоянно возникает ошибка OrderModify error 1, хотя вроде бы тут "if(OrderStopLoss()<(DONlow+minstoplevel*pp))" у меня есть проверка на минимальный стоп
> Помогите люди добрые, советник и индюк приладываю

ERR_NO_RESULT - OrderModify пытается изменить уже установленные значения такими же значениями. Необходимо изменить одно или несколько значений и повторить попытку...
говоря простыми словами, при модификации происходит попытка уровень стоплосса (тейкпрофита) поменять на точно такое же значение

## Туранчокс — 2020-08-06 15:23

Можно исправить робота? Многовалютник. Автор заявил, что установлено ограничение работы до 30 августа 2020 года. Исправить ограничение или продлить лет на "...цать" работу робота. 
...
Ставил на демо на месяц, плечо 1:300. Депозит 20$. Робот показал прекрасную устойчивость. Автор  рекомендовал депозит от 100$, тем не менее на 20$ просадка не была более 6% за счет оригинального алгоритма работы.

## gek — 2020-08-06 16:47

> Цитата (Туранчокс):
> Можно исправить робота? Многовалютник. Автор заявил, что установлено ограничение работы до 30 августа 2020 года. Исправить ограничение или продлить лет на "...цать" работу робота.
> ...
> Ставил на демо на месяц, плечо 1:300. Депозит 20$. Робот показал прекрасную устойчивость. Автор  рекомендовал депозит от 100$, тем не менее на 20$ просадка не была более 6% за счет оригинального алгоритма работы.

Привет!
Как работал с ним?
Тайм,пары,брокер,преффиксы и т.д.
Хотел бы поставить,глянуть что за зверь.

## Туранчокс — 2020-08-07 00:10

> Цитата (gek):
> Привет!
> Как работал с ним?
> Тайм,пары,брокер,преффиксы и т.д.
> Хотел бы поставить,глянуть что за зверь.

У меня стоит на Робофорекс на демо. Все по дефолту. Поставил на пару евро-доллар, таймфрейм H1. В настройки не лазил, так как интересовала не сама торговля, а именно проверка устойчивости робота. Далее кидаешь робота на график, появляется мультивалютное меню. Нажимаешь кнопу new order, она становится ярко-синей, всё торговля началась. Робот входит в рынок только по ему известному алгоритму, ведет только 1 с валютную пару до ее закрытия. У меня было максимум 3 ордера в сетке. Хеджирования не видел, хотя автор заявляет, что оно возможно. Не мартинил, ордера имели одинаковую лотность. Количество ордеров в день по разному. Бывает 2-3, а бывает с десяток. Торгует нечасто. Я много  перепробовал мультивалютников, лучше этого не видел. Робот по всей видимости был выложен в паблик на soehoe.id, там есть тема от автора.

## FxMen — 2020-08-07 08:04

> Цитата (vladradon):
> Привет!
> Проанализировал код и почистил, но он либо не полный, либо должен быть какой-то второй индюк или прога, которая рассчитывает и создает линию, от которой идет дальнейший расчет. В коде индюка этого нет, насколько смог оценить. Чего-то не хватает, но если расчет основной линии был тупо стерт из кода, то я не знаю какой расчет был для отображения этой линии. Короче, нет данных. Восстановить можно, если знать алгоритм расчета основной линии. Или этот индюк был частью нескольких прог, т.к. в нем все расчеты только на основании уже имеющейся какой-то линии. В инете ничего не нашел...

Привет!
Спасибо за ответ! Ответ нашёл за бугром.
Это работает, вам сначала нужно нарисовать вилы Эндрю, затем переименовать их в соответствии с индикатором (по умолчанию это AL1), затем добавить несколько тиков, и вы получите это.

## ecurrencyteam — 2020-08-07 09:22

[QUOTE = "Vaporesso, post: 1564801, member: 170338"]
Is it possible to fix it?
[/ QUOTE]
adjusted

## vladradon — 2020-08-07 09:41

> Цитата (FxMen):
> Ответ нашёл за бугром.

Нда...Я тогда дальше не буду ковырять - обновленный вариант сами попробуете. Если что-то нужно дальше с ним делать - это уже отдельная тема..

## Chepchikk — 2020-08-07 17:06

Добрый день! Не кодил около года. Прошу помочь. Прописал в коде советника:
if (Bid==TP)
{
SendNotification(Symdol()+" закрой ордер");
TP=0;
}
Уведомление не приходит... может функцию уведомления еще и в while прописать?

## vladradon — 2020-08-07 21:02

> Цитата (Chepchikk):
> Прописал в коде советника:
> if (Bid==TP)
> {
> SendNotification(Symdol()+" закрой ордер");

Привет. Ну, для начала исправьте Symdol() на Symbol() :)
и в самом терминале есть настройки на отправку пуш уведомлений?

## Chepchikk — 2020-08-08 06:28

> Цитата (vladradon):
> Привет. Ну, для начала исправьте Symdol() на Symbol() :)
> и в самом терминале есть настройки на отправку пуш уведомлений?

Сори за ошибку) код сюда не копировал, а от руки писал) Терминал настроен, уведомления приходят с сигналом на открытие позиции, а при достижении определенной цены, уведомления не приходят... но иногда случается чудо и уведомление приходит. Вот и думаю может еще в while функцию записать с условием false

## AlexeNP — 2020-08-08 12:48

> Цитата (Chepchikk):
> Добрый день! Не кодил около года. Прошу помочь. Прописал в коде советника:
> if (Bid==TP)
> {
> SendNotification(Symdol()+" закрой ордер");
> TP=0;
> }
> Уведомление не приходит... может функцию уведомления еще и в while прописать?

ну, сравнение 2 чисел double это тема для небольшого, но крайне поучительного разговора...
однако, сейчас не об этом... если ты думаешь, что условие Bid==TP - встречается часто, то тут форменное заблуждение... на 5-знаке цена 2 часа будет скакать около ТР и ни разу это условие не сработает...
пропиши Bid>=TP - и по смыслу вернее будет, и сработает надежнее)

## vladradon — 2020-08-08 14:01

> Цитата (Chepchikk):
> Вот и думаю может еще в while функцию записать с условием false

Функция while промежуточная (универсальная) и как вы ее и в каком месте используете я понятия не имею - я же не видел код.
if (Bid==TP)  - такой вариант очень редкий на совпадение - идеальное совпадение текущего бида с каким-то рассчитанным ТП поймать очень сложно. Нужно проверки делать типа >= для бай или <= для селл, и то в зависимости от момента, когда это должно сработать.

## Chepchikk — 2020-08-09 07:07

vladradon, AlexeNP спасибо вам за совет. Просто хотел как раз таки поймать условие Bid==TP т.к. условие писал и для бай и для селл, думал будет работать). Сегодня буду переписывать через <= >=. Еще раз спасибо за оперативную помощь!)

## dobi82 — 2020-08-09 19:12

Хочу ребята, умельцы наши попросить моленько исправить индикатор IRES он не мой говорю сразу и в открытом коде его не найдёте есть только в ex, нужно просто удалить уровня НКЗ с этого индикатора, а то вылазят даже при отключенных настройках. Писал хозяевам индюка а в ответ тишина а эти уровня мне мешают. Помогите пожалуйста.

## AlenaCoder — 2020-08-10 22:23

> Цитата (dobi82):
> Хочу ребята, умельцы наши попросить моленько исправить индикатор IRES он не мой говорю сразу и в открытом коде его не найдёте есть только в ex, нужно просто удалить уровня НКЗ с этого индикатора, а то вылазят даже при отключенных настройках. Писал хозяевам индюка а в ответ тишина а эти уровня мне мешают. Помогите пожалуйста.

без исходника такие вещи не сделать.

---

Следующая страница: https://forexsystemru.com/threads/77226/page-347
