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

 
Есть ли такая функция которая определяет магик последнего закрытого ордера в истории ?
 
7erj:
Есть ли такая функция которая определяет магик последнего закрытого ордера в истории ?
Находим в истории ордер с самым большим временем закрытия. Ф-ция OrderMagicNumber() вернёт его магик.
 
Здравствуйте! Индикатор рисует каналы, при побитии которых открывает сделку. Мой вопрос, как в условии пробития прописать линию канала?
 
skyjet:
Здравствуйте! Индикатор рисует каналы, при побитии которых открывает сделку. Мой вопрос, как в условии пробития прописать линию канала?
Индикатор рисует через свои буферы. Проверяйте через iCustom() значение нужного буфера.
 
artmedia70:
Индикатор рисует через свои буферы. Проверяйте через iCustom() значение нужного буфера.
И если буферу канала задать значение Buffer[0], то это и есть последнее значение канала и его можно сравнивать с настоящей ценой?
if(Buffer[0] > Bid)
 {
  OrderSend...
 
skyjet:
И если буферу канала задать значение Buffer[0], то это и есть последнее значение канала и его можно сравнивать с настоящей ценой?

Индикатор не торгует. Он выводит данные на график через свои буферы (не всегда и не обязательно). Торгует советник. Чтобы в советнике узнать данные нужного буфера индикатора, нужно функцией iCustom() извлечь данные нужного буфера индикатора в какую-нибудь переменную. В настройках индикатора (когда его кидаете на график) номер нужного буфера можно узнать. Там каждому буферу индикатора соответствует свой номер (начиная с нуля) и цвет.

Далее уже значение вышеупомянутой переменной проверяете на пересечение (не так, как в вашем вопросе - у вас там сравнение на больше)

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

Есть множество способов проверить пересечение - этот простейший.

 
Есть ли пользовательская функция которая определяет магик последнего закрытого ордера в истории ?
 
7erj:
Есть ли пользовательская функция которая определяет магик последнего закрытого ордера в истории ?

Дубль два: Находим в истории ордер с самым большим временем закрытия. Ф-ция OrderMagicNumber() вернёт его магик.

Или за вас написать???

 
artmedia70:

Индикатор не торгует. Он выводит данные на график через свои буферы (не всегда и не обязательно). Торгует советник. Чтобы в советнике узнать данные нужного буфера индикатора, нужно функцией iCustom() извлечь данные нужного буфера индикатора в какую-нибудь переменную. В настройках индикатора (когда его кидаете на график) номер нужного буфера можно узнать. Там каждому буферу индикатора соответствует свой номер (начиная с нуля) и цвет.

Далее уже значение вышеупомянутой переменной проверяете на пересечение (не так, как в вашем вопросе - у вас там сравнение на больше)

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

Есть множество способов проверить пересечение - этот простейший.

Большое спасибо за столь подробный ответ!
 
Скажите, пожалуйста, можно-ли на один компьютер установить 28 терминалов для 28 торговых инструментов? У меня после загрузки 13 терминалов комп. "зависает", в чем может быть проблема?
Причина обращения: