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

 

Вопрос1 - В функции перебора и проверки ордеров пишешь

if(TimeCurrent()-OrderOpenTime()>18*3600)OrderClose(...);

Вопрос 2 - все как написал, так и надо кодить

if(Close[0]>Close[1]&&Close[0]>Close[2]&&Close[1]>Close[2])

 
Roll:
2. double ObjectGetValueByShift( string name, int shift)
Спасибо. Просто идеально то, что я хотел.
artmedia70:

Благодарю. Ваша информация интересна, но пока сложна для меня.
 
NaVolne:


Вот как задать это временное условие, а???


Перебираются открытые ордера, если разница OpenOrderTime с текущим превышает 18 часов (60*60*18 секунд) закрываем.

https://docs.mql4.com/ru/trading/OrderOpenTime

https://docs.mql4.com/ru/dateandtime/TimeCurrent

 
Спасибо огромное за оперативные ответы. Сейчас попробую.
 
DhP:

Спасибо за готовый код!
 
splxgf:

Лучше определиться номер бара или наибольшее значение.


И то и другое. Спасибо за ответ!
 
Roll:

MetaEditor --> Справочник MQL4 --> Доступ к таймсериям --> iHighest:

Пример: double val;
// расчет максимального значения цены на 20 последовательных барах
// с индекса 4 по индекс 23 включительно на текущем графике
val=High[iHighest(NULL,0,MODE_HIGH,20,4)];

Спасибо, то что надо. Правда я не очень понял почему с индекса 4 по индекс 23 включительно на текущем графике,когда расчет за 20 баров.

Теперь осталось найти какой ИМЕННО бар с такой ценой.

 
Сколько трафика в день жрет МТ4 ? И влияет ли на его величину кол-во включенных инструментов (вал. пар, цфд)
 
001:

Спасибо, то что надо. Правда я не очень понял почему с индекса 4 по индекс 23 включительно на текущем графике,когда расчет за 20 баров.

Теперь осталось найти какой ИМЕННО бар с такой ценой.

Ну есть же ссылка на описание в документации, нужно всего лишь кликнуть на ссылку и прочитать. Начиная с 4 бара по 23 бар.... это нужно перебрать 20 баров, что и указано в параметрах. Перебираем 20 баров начиная с четвертого. Приведенной строчкой кода можно получить и номер бара и цену.

Цена: val=High[iHighest(NULL,0,MODE_HIGH,20,4)];

Номер бара: val=iHighest(NULL,0,MODE_HIGH,20,4);

 

Как сделать, чтобы индикатор (не важно, какой именно) рисовал свои линии только на протяжении последних N свечей (N - параметр индикатора), а все что раньше - просто стиралось бы с графика?