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

serrus

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

Вложения

  • fs_hor_lvl.mq4
    fs_hor_lvl.mq4
    11,9 КБ · Просмотры: 48
  • MetaTrader - EXNESS.png
    MetaTrader - EXNESS.png
    53 КБ · Просмотры: 238

Soramasqus

Прохожий
GUYS PLEASE HELP REMOVE THE ALERT IN THIS BRILLIANT ARROW INDICATOR . PROGRAMMERS I COUNT ON YOU PLEASE
 

Вложения

  • 20200804_112748.jpg
    20200804_112748.jpg
    3,4 МБ · Просмотры: 191
  • 20200804_112723.jpg
    20200804_112723.jpg
    3,9 МБ · Просмотры: 199
  • DR ARROW.ex4
    DR ARROW.ex4
    7,3 КБ · Просмотры: 81

vladradon

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

4budab1

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

Код:
Expand Collapse Copy
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);
  }
 

Вложения

  • 7.mq4
    7.mq4
    28,7 КБ · Просмотры: 29
  • Doncian.mq4
    Doncian.mq4
    3,4 КБ · Просмотры: 25

AlexeNP

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

Туранчокс

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

Вложения

  • SmoothieH.ex4
    SmoothieH.ex4
    168 КБ · Просмотры: 90
  • 111.jpg
    111.jpg
    98 КБ · Просмотры: 128

gek

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

Туранчокс

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

Вложения

  • robot.jpg
    robot.jpg
    146,2 КБ · Просмотры: 103
Последнее редактирование:
  • Like
Реакции: gek

FxMen

VIP-участник
Привет!
Проанализировал код и почистил, но он либо не полный, либо должен быть какой-то второй индюк или прога, которая рассчитывает и создает линию, от которой идет дальнейший расчет. В коде индюка этого нет, насколько смог оценить. Чего-то не хватает, но если расчет основной линии был тупо стерт из кода, то я не знаю какой расчет был для отображения этой линии. Короче, нет данных. Восстановить можно, если знать алгоритм расчета основной линии. Или этот индюк был частью нескольких прог, т.к. в нем все расчеты только на основании уже имеющейся какой-то линии. В инете ничего не нашел...
Привет!
Спасибо за ответ! Ответ нашёл за бугром.
Это работает, вам сначала нужно нарисовать вилы Эндрю, затем переименовать их в соответствии с индикатором (по умолчанию это AL1), затем добавить несколько тиков, и вы получите это. 1596776667679.png
 

vladradon

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

Вложения

Chepchikk

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

Chepchikk

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

AlexeNP

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

vladradon

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

Chepchikk

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

dobi82

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

Вложения

  • IRES.ex4
    IRES.ex4
    2,2 МБ · Просмотры: 54

AlenaCoder

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