помогите новичку

 

день добрый

пишу своего первого эксперта

проблема в следующем:

открываю ордер

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0);

без профитов и лосов, чтобы при выполнении определенного условия закрыть его

для этого использую OrderClose

но в ней нужно указать номер ордера

а вот как его получить не знаю

подскажите, пожалуйста

 
NewTraderForex >>:

день добрый

пишу своего первого эксперта

проблема в следующем:

открываю ордер

OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0);

без профитов и лосов, чтобы при выполнении определенного условия закрыть его

для этого использую OrderClose

но в ней нужно указать номер ордера

а вот как его получить не знаю

подскажите, пожалуйста


int ticket;

ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0);

В справке написано: Возвращает номер тикета.

https://docs.mql4.com/ru/trading/OrderSend
 
Murman >>:

int ticket;

ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0);

В справке написано: Возвращает номер тикета.

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

не работает

в этом случае он работает по профитам и лосу

и еще выдает ошибку "OrderClose error 4051"

 
NewTraderForex >>:

не работает

в этом случае он работает по профитам и лосу

и еще выдает ошибку "OrderClose error 4051"


NewTraderForex
писал(а) >>

не работает

в этом случае он работает по профитам и лосу

и еще выдает ошибку "OrderClose error 4051"

Надо сначала выбрать ордер:

OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);

А потом его закрывать:

OrderClose(ticket,Lots,Bid,3,Violet);
Должно работать. :)
 

Угу, а еще здесь:

https://book.mql4.com/ru/trading/index
 

всем спасибо

разобрался

еще вопрос

MA1_0=iMA(NULL,0, 21, 0, MODE_SMA, PRICE_CLOSE, 0);

при каждом поступающем тике я получаю по этой операции значение средней для данного тика

как мне узнать значение средней за прошлый час?

 
NewTraderForex >>:

всем спасибо

разобрался

еще вопрос

MA1_0=iMA(NULL,0, 21, 0, MODE_SMA, PRICE_CLOSE, 0);

при каждом поступающем тике я получаю по этой операции значение средней для данного тика

как мне узнать значение средней за прошлый час?

Среднее значение "Close" 21 бара на текущем графике. Так будет правильнее.

 
Murman >>:

Среднее значение "Close" 21 бара на текущем графике. Так будет правильнее.

это мне что нужно брать 21 клозе и находить ариф. среднее самому?

iMA рзве не может дать такой информации?

 
NewTraderForex писал(а) >>

но в ней нужно указать номер ордера

а вот как его получить не знаю

подскажите, пожалуйста

Рано или поздно Вам понадобится полноценный учёт ордеров.
Посмотрите здесь 'Учёт ордеров в большой программе'

 

про  ордера я понял

спасибо

а про iMA подскажите еще

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