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

 
chief2000:

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

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

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

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


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

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

[Deleted]  

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

Отчень прошу код, сравнивающий два последние фрактала (или 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];
      }
[Deleted]  
chief2000:

Спасибо - будем разбираться
[Удален]  
Roger:

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

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

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

спасибо