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

dato896

Активный участник
Когда я запускаю советник на нескольких валютных парах, возникает проблема: если на одной паре открывается серия сделок, другие пары открывают только одну сделку по первому сигналу, но не добавляют новые позиции при появлении новых сигналов, пока не закроются сделки на первой паре, где была открыта торговая серия.

При этом я использую разные Magic Number для каждой пары и устанавливаю MaxTradeNumber = 100, но проблема все равно остается.
Можете исправить? Спасибо!
видимо задача не из легких.. кто нибудь в силах решить? :giggle:
 

Capital Plus

Местный житель

Вложения

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

Capital Plus

Местный житель
Когда я запускаю советник на нескольких валютных парах, возникает проблема: если на одной паре открывается серия сделок, другие пары открывают только одну сделку по первому сигналу, но не добавляют новые позиции при появлении новых сигналов, пока не закроются сделки на первой паре, где была открыта торговая серия.

При этом я использую разные Magic Number для каждой пары и устанавливаю MaxTradeNumber = 100, но проблема все равно остается.
Можете исправить? Спасибо!

Может маржи не хватает (на ещё одни усредняющие позы)

Ограничений в советнике нет: подсчитываются позиции по текущей валютной паре
 
Последнее редактирование:

OSS_5

Активный участник
Уважаемые программисты!
Есть скрипт "Уровень безубыточности"
из названия понятно, что показывает уровень безубытка при открытие множества ордеров.
Проблема в чем, что он показывает этот уровень 1 раз (скрипт все таки) в момент его выставления и при следующей серии ордеров
показывает старое значение, что заставляет его постоянно потдрачивать,
что отнимает время и нервы.
Нельзя ли сделать его отработку на каждую новый выставленный ордер или серию ордеров (допустим по последнему открытому?
заранее спасибо. А может у кого есть такой индюк?
Есть индикатор. Показывает безубыток buy, безубыток sell, общий безубыток.
 

Вложения

dato896

Активный участник
Может маржи не хватает (на ещё одни усредняющие позы)

Ограничений в советнике нет: подсчитываются позиции по текущей валютной паре
нет на 100 000 открыть сделку 0,12 лот после началных 0,1 маржи хватит. если на одной паре ест серия все другие пари торгуют только началним лотом, не добавляет
 

блондинка

Элитный участник
Индикатор перерисовывается сам по себе, сделайте его стабильным.
Индикатор не рисует, это код Младена.В режиме MTФ естественно будет рисовать-это типичная ситуация.Не рисующих MTФ индикаторов "днём с огнём не отыскать", они редкость) Ничего не сделать с Вашим или это будет другой индикатор.
 

Capital Plus

Местный житель
нет на 100 000 открыть сделку 0,12 лот после началных 0,1 маржи хватит. если на одной паре ест серия все другие пари торгуют только началним лотом, не добавляет
если выводятся какие-то записи в журнале в этот момент - запостите
 

Capital Plus

Местный житель
Уважаемые программисты!
Можете подправить индикатор:
- некорректно работает на таймфреймах отличных от МТ4
- уровень Int6 строит то в одну то в другую сторону

Спасибо!


1) Для расчётов отрисовки в оригинальном коде установлены стандартные ТФ МТ4.
Исправил на универсальную и простую формулу, но не гарантирую, что точно сработает из-за п.2 (ниже)

2) Код построен таким образом, что построения привязаны к индексам баров конкретного ТФ. Из-за этого на всех ТФ результаты некоторых линий отличаются.

В идеале нужно код полностью перестраивать под ТФ М1 (как будто на нём построили - заморозили, а затем проецируем на остальные ТФ), и преобразовать для остальных, поскольку на М1 самое точное построение.

А так, только исправление в п.1

1742566973309.png

H1

1742567668876.png

H3
1742567626623.png
 

Вложения

Capital Plus

Местный житель


Capital Plus

Всё хорошо работает, вот только нельзя ли сделать так, чтобы буферы цветов 1 и 2 читались советником?
Тут 2 читает, а 1 (Up Arrow) нет


Код:
//--- Настройка буферов
    SetIndexBuffer(0, BufferMain,  INDICATOR_DATA);        // Главная линия
    SetIndexBuffer(1, BufferColor, INDICATOR_COLOR_INDEX); // Цветовая информация
    SetIndexBuffer(2, BufferArrowUp, INDICATOR_DATA);      // Стрелки вверх
    SetIndexBuffer(3, BufferArrowDown, INDICATOR_DATA);    // Стрелки вниз


Буфер стрелки вверх - 2

Буфер стрелки вниз - 3


Проверка в советнике на непустое значение:

Пример считывания индикатора:
CopyBuffer(IND, 2, i, 1, ind_up);
CopyBuffer(IND, 3, i, 1, ind_dn);

Условие:
if (ind_up != EMPTY_VALUE.....
 

Capital Plus

Местный житель
Индикатор перерисовывается сам по себе, сделайте его стабильным.

Стабильно ясновидящим.

Нельзя просто отключить перерисовку и получить тот же самый идикатор. Логика перерисовки на истории полностью меняет индикатор. Если вы отключите её - получите абсолютный рандом в результатах: ничем не лучше дать коту фломастер, чтобы он рисовал стрелочки.

Если хотите такой рандом, то данный индикатор предлагает вам настройку Interpolate, — отключите её («false»).
 

jhndoo

Активный участник
Код:
//--- Настройка буферов
    SetIndexBuffer(0, BufferMain,  INDICATOR_DATA);        // Главная линия
    SetIndexBuffer(1, BufferColor, INDICATOR_COLOR_INDEX); // Цветовая информация
    SetIndexBuffer(2, BufferArrowUp, INDICATOR_DATA);      // Стрелки вверх
    SetIndexBuffer(3, BufferArrowDown, INDICATOR_DATA);    // Стрелки вниз


Буфер стрелки вверх - 2

Буфер стрелки вниз - 3


Проверка в советнике на непустое значение:

Пример считывания индикатора:
CopyBuffer(IND, 2, i, 1, ind_up);
CopyBuffer(IND, 3, i, 1, ind_dn);

Условие:
if (ind_up != EMPTY_VALUE.....
Понял, спасибо!
 

consul

Активный участник
Вы тоже путаете пересчет нулевого бара с рисовкой? :unsure:
Нет , не путаю . Но чем судьба не шутит .Иными словами – наивная надежда на «авось» .)
В шестнадцатом году эту тему на форуме уже мусолили
https://forexsystemru.com/threads/indikatory-mtf-bez-pererisovki-podborka-i-obsuzhdeniye.83920/
 
Последнее редактирование:

boeng

Интересующийся
1) Для расчётов отрисовки в оригинальном коде установлены стандартные ТФ МТ4.
Исправил на универсальную и простую формулу, но не гарантирую, что точно сработает из-за п.2 (ниже)

2) Код построен таким образом, что построения привязаны к индексам баров конкретного ТФ. Из-за этого на всех ТФ результаты некоторых линий отличаются.

В идеале нужно код полностью перестраивать под ТФ М1 (как будто на нём построили - заморозили, а затем проецируем на остальные ТФ), и преобразовать для остальных, поскольку на М1 самое точное построение.

А так, только исправление в п.1

Посмотреть вложение 565594

H1

Посмотреть вложение 565600

H3
Посмотреть вложение 565599
Большое спасибо!!!
 
Копируйте сделки успешных трейдеров!

В самой умной платформе для автоматического копирования сделок NPB Invest (NEFTEPROMBANK Invest)

Перенос счета и открытых ордеров +30% на счет

Перенесите открытые ордера в NPBFX от любого брокера и получите 30% на счет или возмещение убытков!

Точная аналитика для успешного трейдинга!

Торговые сигналы, горячие новости и проверенные торговые стратегии в аналитическом портале NPBFX

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

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

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

Верх