Доработка ботов (советников, индикаторов) vol. 2

1qaz2wsx3edc

Интересующийся
Уважаемые ! Пропишите в индюке буфера пожалуйста на бай и селл!!!!!
 

Вложения

  • Snow2.mq4
    Snow2.mq4
    10,5 КБ · Просмотры: 83

Vikt_76

Местный знаток
Приветствую всех. Можно ли сделать в этом индикаторе кнопку включения/выключения? Режим мтф?
 

Вложения

Последнее редактирование:

Witalyano

Новичок форума
День добрый! Прошу сделать в индикаторе обновление на каждом баре (или выбирать). Добавление на график индикатора типа Refresh не помогает.
 

Вложения

Tankk

*********
Приветствую всех. Можно ли сделать в этом индикаторе кнопку включения/выключения? Режим мтф?
i_tdtl_v2_456

Уважаемые ! Пропишите в индюке буфера пожалуйста на бай и селл!!!!!
Snow23

добрый вечер. если не сложно, хотел бы попросить. Добавьте пожалуйста уведомления или алерт от уровней 0,3 и 0,7. заранее благодарю
DeMarker Alerts
 

Вложения

  • i_tdtl_v2_456.mq4
    i_tdtl_v2_456.mq4
    43,4 КБ · Просмотры: 45
  • i_tdtl_v2_456_07-12-2022.png
    i_tdtl_v2_456_07-12-2022.png
    70,7 КБ · Просмотры: 308
  • Snow23.mq4
    Snow23.mq4
    11,6 КБ · Просмотры: 59
  • Snow23_07-12-2022.png
    Snow23_07-12-2022.png
    53 КБ · Просмотры: 304
  • DeMarker Alerts.mq4
    DeMarker Alerts.mq4
    10,8 КБ · Просмотры: 41
  • DeMarker Alerts_07-12-2022.png
    DeMarker Alerts_07-12-2022.png
    65,8 КБ · Просмотры: 304

kpll

Элитный участник
i_tdtl_v2_456


Snow23


DeMarker Alerts
Вместо "квадратные точки" прочитал "инвалидные точки" . Долго смотрел на рисунок и пытался понять, почему они инвалидные и наконец-то досмотрел "квадратные". Жаль, зрение уже подводит.
 

Dima666

Прохожий
Добрый вечер, нужна помощь.

Cоветник выставляет разнонаправленную сетку (например с шагом 10п) на пробое границы прайс чанель.( закрытие происходит по общему тп в пипсах).

Через энное коллво пипс открывается новая сетка ( допустим на расстоянии 50п с шагом сетки 10п) и так далее.

Советник и индикатор прилагаю, советник почему-то не всегда открывается по сигналу.

Скрин также прилагаю.
 

Вложения

OSS_5

Активный участник
Продублирую пост (из госпиталя).
Доброго времени суток.
Нужен доктор, подправить кусочек кода.
При закрытии всех ордеров и buy и sell, ставим buy и sell начальным лотом (0.10). В данной функции выставляется только sell 0.1, а buy дальше ставит с увеличенным лотом.
421.JPG
Код:
Expand Collapse Copy
//---------------------------------------------------------------------------------------------------------------
double LOT(int OT)
 {
  for (int j = OrdersHistoryTotal()-1; j >= 0; j--)
   {
    if (OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))
      {
       if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OT==OrderType())
         {
          if (OrderProfit()<0 || OrderProfit()>0) return(NormalizeDouble(OrderLots()*K_Lot+P_Lot,DigitsLot));
          else return(Lot);       
         }
      }
   }
  return(Lot);
 }
//---------------------------------------------------------------------------------------------------------------
 

zxxw

Новичок форума
День добрый. помогите прикрутить звук чтобы когда советник открывал позиции звенел продолжительный звонок и подскажите где в коде меняется размер лота. Заранее благодарен
 

Вложения

vladradon

Программист
выставляется только sell 0.1, а buy дальше ставит с увеличенным лотом
Эта функция одинаково работает для бай и селл - возвращает увеличенный лот, если последний закрытый ордер данного направления был по профиту не равен 0 (if (OrderProfit()<0 || OrderProfit()>0)), что бывает крайне редко, и такой вариант ошибочный. Нужно либо здесь какой-то другой вариант проверки последнего ордера придумать, либо вообще не включать эту функция и обходить ее где-то в коде после закрытия всех ордеров.
 

OSS_5

Активный участник
Эта функция одинаково работает для бай и селл - возвращает увеличенный лот, если последний закрытый ордер данного направления был по профиту не равен 0 (if (OrderProfit()<0 || OrderProfit()>0)), что бывает крайне редко, и такой вариант ошибочный. Нужно либо здесь какой-то другой вариант проверки последнего ордера придумать, либо вообще не включать эту функция и обходить ее где-то в коде после закрытия всех ордеров.
Хм, надо думать. Спасибо за подсказку.
Какой бы другой вариант сделать.
Нужно только в этой функции делать, куда-то в код не влазить.
 

vladradon

Программист
Какой бы другой вариант сделать.
Не совсем точно выразился - редко бывает профит 0 у закрытого ордера. А в таких алгоритмах обычно делают увеличение, если последний ордер закрылся в минус - изменить на:
if (OrderProfit()<0) return(NormalizeDouble(OrderLots()*K_Lot+P_Lot,DigitsLot));
Но там еще своп с комиссией можно учесть:
if (OrderProfit()+OrderSwap()+OrderCommission()<0) return(NormalizeDouble(OrderLots()*K_Lot+P_Lot,DigitsLot));
Но еще минус ордера может быть сравним с 0-м (совсем маленький минус или вообще какой-нибудь не нормализованный мусор в 5-м разраде после запятой) и тоже нет смысла рисковать с увеличенным лотом.
 

OSS_5

Активный участник
if (OrderProfit()<0) return(NormalizeDouble(OrderLots()*K_Lot+P_Lot,DigitsLot));
Изначально было так.
Я добавил (OrderProfit()>0) чтобы следующий после закрытия ордер увеличивался, и не важно как закрылся предыдущий ордер в минус или плюс.

Теперь всё думаю, как открывать с начальным лотом ордера после того, как серия отработает. Похоже всё-таки в коде нужно разделение делать, а в этой отдельной функции никак не выходит. :unsure:
 

evolernet

Местный житель
всем привет
посмотрите почему выходит ошибка
1670609355310.png

что в настройках надо изменить чтоб не было ошибки
1670609405527.png
 

Вложения

craft17411

Прохожий
Всем доброго дня!! Подскажите пожалуйста кто может в индикатор поставить оповещение звуковое и тд...? Нужно для 2-х индюков.
 

Посмотрели (357) Посмотреть

Смотрят сейчас (6) Посмотреть

Отслеживают (1806) Посмотреть

Верх