[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 174

 
chief2000:

Вопрос больше не как написать код, а на уровне идеи - можно ли избежать множественных циклов,

которые грузят процессор. Например, была мысль отслеживать количество открытых STOP-ордеров - если оно уменьшилось на один, но ордер не был удален => открылся рыночный =>

время его открытия и тип поместить в массив. Что-то типа того.

Любые идеи приветствуются.


Только продублировать в массивах все свойства рыночных ордеров и сравнивать их с текущими рыночными. Сличать по тикету, если несовпадение по типу ордера, то значит отложенник сработал, если не найден в массиве, значит ушел в историю и т.п.

Возможно пригодится https://www.mql5.com/ru/code/9366

 

Здравствуйте.

Отчень прошу код, сравнивающий два последние фрактала (или up, или down).

Для меня это пока дремучий лес.

Заранее благодарю.

 

КАК БЫ ПО ХОДУ РАБОТЫ СОВЕТНИКА СЧИТАТЬ КОЛИЧЕСТВО ПРОФИТНЫХ ДЛИННЫХ ПОЗИЦИЙ И ОТДЕЛЬНО КОЛИЧЕСТВО ПРОФИТНЫХ КОРОТКИХ ПОЗИЦИЙ?

Стратегия предполагается такой: если количество профитных длинных позиций с начала работы советника (а лучше - за всю историю счета) больше, чем коротких, то разрешать открывать только длинные позиции. И наоборот.

Понятно как посчитать указанные сделки, если они закрываются советником: закрыли - посчитали. Но если позиция закрывается по ТР или SL, то ... ?

Может и готовый код функции у кого есть?

 
splxgf:

Только продублировать в массивах все свойства рыночных ордеров и сравнивать их с текущими рыночными. Сличать по тикету, если несовпадение по типу ордера, то значит отложенник сработал, если не найден в массиве, значит ушел в историю и т.п.

Возможно пригодится https://www.mql5.com/ru/code/9366

Спасибо!

 
nemo811:

Здравствуйте.

Отчень прошу код, сравнивающий два последние фрактала (или up, или down).

Для меня это пока дремучий лес.

Заранее благодарю.

В простом случае - что-то типа:

      Fractal_Up[i+3]   = iFractals(NULL, 0, MODE_UPPER, i+3);
      Fractal_Down[i+3] = iFractals(NULL, 0, MODE_LOWER, i+3);


      if(Fractal_Down[i+3]>0) {
         Fractal_Sell_Low_3  = Fractal_Sell_Low_2;
         Fractal_Sell_Time_3 = Fractal_Sell_Time_2;

         Fractal_Sell_Low_2  = Fractal_Sell_Low_1;
         Fractal_Sell_Time_2 = Fractal_Sell_Time_1;

         Fractal_Sell_Low_1  = Fractal_Down[i+3];
         Fractal_Sell_Time_1 = Time[i+3];
      }


      if(Fractal_Up[i+3]>0) {
         Fractal_Buy_Up_3   = Fractal_Buy_Up_2;
         Fractal_Buy_Time_3 = Fractal_Buy_Time_2;

         Fractal_Buy_Up_2   = Fractal_Buy_Up_1;
         Fractal_Buy_Time_2 = Fractal_Buy_Time_1;

         Fractal_Buy_Up_1   = Fractal_Up[i+3];
         Fractal_Buy_Time_1 = Time[i+3];
      }
 
chief2000:

Спасибо - будем разбираться
 
Roger:

Вообще-то, это нонсенс - задавать такие вопросы экспертописателю :) Получается, Вы еще до новичка не доросли и советы, типа: проверить вычисляемые стопы и тейки на близость к цене открытия ордера, для Вас вообще покажутся китайской грамотой.
Ну почему же... ))) Совет хороший ))) Только все уже давно проверено! Тейки и стопы больше минимально-допустимых значений... Да и на тестере все прекрасно работает! А вот в "живом" режиме открывать позиции не хочет..! Может быть, уважаемый РОДЖЕР, до новичка я конечно еще не дорос ))) Но вы хоть код-то посмотрите который я написал - если вас не затруднит конечно... Может какой косячок там и найдете...
 
7sintez:
Ну почему же... ))) Совет хороший ))) Только все уже давно проверено! Тейки и стопы больше минимально-допустимых значений... Да и на тестере все прекрасно работает! А вот в "живом" режиме открывать позиции не хочет..! Может быть, уважаемый РОДЖЕР, до новичка я конечно еще не дорос ))) Но вы хоть код-то посмотрите который я написал - если вас не затруднит конечно... Может какой косячок там и найдете...
Была у меня такая заморочка на одном ДЦ. Оказалось, что конкретно в этом ДЦ надо сначала открыть ордер с ТР=0 и SL=0, а потом с помощью OrderModify() установить требуемые уровни. Иначе - все время выдавал ошибку "близко стопы"
 
ikatsko:
Была у меня такая заморочка на одном ДЦ. Оказалось, что конкретно в этом ДЦ надо сначала открыть ордер с ТР=0 и SL=0, а потом с помощью OrderModify() установить требуемые уровни. Иначе - все время выдавал ошибку "близко стопы"
Спасибо..! Возможно проблема именно в этом... Все перерыл в своем коде - ошибки найти не могу!!!
 

в поиске не нашел ответа

как из скрипта увидеть какие индикаторы есть на графике, какие параметры и индикаторов, в каких подокнах они находятся?

спасибо

Причина обращения: