Ваши вопросы по языку MQL4

DiZin

Местный знаток
OrderSelect используется чтобы получить цену открытия ордера OrderOpenPrice()

MarketInfo не требует вызова RefreshRates, так как эта функция обращается непосредственно к котировочному механизму.
OrderOpenPrice() - упустил из виду... сорри

забираю все свои слова обратно.. поторопился... но
if(OrderSelect(..)) --условие все же лучше добавить
OrderModify(...)
 

hitkill

Активный участник
hitkill вообще советую исходники советников разных посмотреть, в нормальных роботах ордер открывается отдельной функцией с кучей проверок и попыток.
Вот здесь сборник всяких разных функций, взгляни, много нового узнаешь
_http://forum.mql4.com/ru/11287

вот за ссылку большое спасибо!
буду рад еще нескольким полезным ссылкам для помощи в изучении mql
 

Rinat1

Новичок форума
Господа кто нить занет как определить значение луча на нулевой свече(той которая идт сейчас)?и не на глаз а именно кодово?
 

Nata_FX

Активный участник
Что значит луча? Трендовой линии?
Для трендовой можно получить цену соответствующую линии на указанном баре
PHP:
Expand Collapse Copy
price=ObjectGetValueByShift("Имя линии", 0);
0 - это смещение относительно текущего бара.
 
Последнее редактирование:

saenko

Интересующийся
Помогите пожалуйста...
как можно описать вот это условие???
Дан мувинг с определенными уровнями.
Условие:
Если цена находится выше данного уровня то открываем сделку на покупку, продажа наоборот. Закрываем сделку если цена равна самому мувингу.
 

Вложения

  • Новый рисунок.JPG
    Новый рисунок.JPG
    164,6 КБ · Просмотры: 56

Ugar

Гуру форума
Помогите пожалуйста...
как можно описать вот это условие???
Дан мувинг с определенными уровнями.
Условие:
Если цена находится выше данного уровня то открываем сделку на покупку, продажа наоборот. Закрываем сделку если цена равна самому мувингу.
if(Bid>MA+Level*Point)
{
//Покупка
}
if(Bid<MA-Level*Point)
{
//Продажа
}
Здесь MA значение мувингга, Level уровень в пунктах.
 

hitkill

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


iCustom(NULL, 0, "QQE", SF, 0, 1) > iCustom(NULL, 0, "QQE", SF, 1, 1) ; - бай

iCustom(NULL, 0, "QQE", SF, 0, 1) < iCustom(NULL, 0, "QQE", SF, 1, 1) ; - сэлл

и чтобы ордер открывался по лоу, хай свечи "1"
 
Последнее редактирование:

Nata_FX

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

Прежде чем открыть ордер проверь есть ли уже отрытый, ну и если есть ничего не делать, иначе открыть
 

DiZin

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


iCustom(NULL, 0, "QQE", SF, 0, 1) > iCustom(NULL, 0, "QQE", SF, 1, 1) ; - бай

iCustom(NULL, 0, "QQE", SF, 0, 1) < iCustom(NULL, 0, "QQE", SF, 1, 1) ; - сэлл

и чтобы ордер открывался по лоу, хай свечи "1"

1. Создать глобальную переменную LastTime.
прописать условие
if(LastTime != Time[0])
{
LastTime = Time[0];
// выши действия по анализу
}
2. рекомендовал бы выставлять отложки BUYSTOP и SELLSTOP
 

Kogalym

Новичок форума
Помогите пожалуйста есть два индикатора рисуют поверх баров и остальных индикаторов так что ничего не видно, можно ли сделать так что бы эти индикаторы были на заднем плане а сам график и остальные индикаторы на переднем?:question:
 

Вложения

Ugar

Гуру форума
Помогите пожалуйста есть два индикатора рисуют поверх баров и остальных индикаторов так что ничего не видно, можно ли сделать так что бы эти индикаторы были на заднем плане а сам график и остальные индикаторы на переднем?:question:
Попробуй, в свойствах окна, вкладке "Общие", поставить галку "График сверху".
 
Верх