Помощь в кодировании - страница 130

 

Я не знаю, являются ли они объектами или буферами. Возможно ли также отправлять ордера в индикаторе, чтобы мне не нужен был советник? Каков алгоритм открытия ордеров без стоплосса и тейкпрофита?

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

 
arroganzmaschine:
Я не знаю, являются ли они объектами или буферами. Возможно ли также отправлять ордера в индикаторе, чтобы мне не нужен был советник? Каков алгоритм открытия ордеров без стоплосса и тейкпрофита?

1. Объекты будут видны в списке объектов

2. Нет. Вы не можете управлять ордерами из индикатора

3. Для открытия ордеров (ордеров типа ant) необходимо использовать функцию order send. Справка по функции OrderSend() :

______________________________________

int OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

Основная функция, используемая для открытия позиции или размещения отложенного ордера.

Возвращает номер тикета, присвоенного ордеру торговым сервером, или -1 в случае неудачи. Для получения дополнительной информации об ошибках необходимо вызвать функцию GetLastError().

Примечания:

При открытии рыночного ордера (OP_SELL или OP_BUY) в качестве цены открытия могут быть использованы только последние цены Bid (для продажи) или Ask (для покупки). Если операция выполняется с ценной бумагой, отличной от текущей, то для получения последних котировок по этой бумаге необходимо использовать функцию MarketInfo() с параметром MODE_BID или MODE_ASK. Расчетная или ненормированная цена не может быть применена. Если в потоке цен не было запрошенной цены открытия или она не была нормализована по количеству цифр после десятичной точки, будет сгенерирована ошибка 129 (ERR_INVALID_PRICE). Если запрашиваемая цена открытия полностью устарела, то независимо от параметра проскальзывания будет сгенерирована ошибка 138 (ERR_REQUOTE). Если запрашиваемая цена устарела, но присутствует в потоке, позиция будет открыта по текущей цене и только если текущая цена находится в диапазоне цена+проскальзывание.

Уровни StopLoss и TakeProfit не могут находиться слишком близко к рынку. Минимальное расстояние уровней стопов в пунктах можно получить с помощью функции MarketInfo() с параметром MODE_STOPLEVEL. В случае ошибочных или ненормированных уровней стопов будет сгенерирована ошибка 130 (ERR_INVALID_STOPS).

При выставлении отложенного ордера цена открытия не может находиться слишком близко к рынку. Минимальное расстояние отложенной цены от текущей рыночной в пунктах можно получить с помощью функции MarketInfo() с параметром MODE_STOPLEVEL. В случае ложной цены открытия отложенного ордера будет сгенерирована ошибка 130 (ERR_INVALID_STOPS).

Применение времени истечения отложенного ордера может быть отключено в некоторых торговых серверах. В этом случае при указании ненулевого значения в параметре expiration будет сгенерирована ошибка 147 (ERR_TRADE_EXPIRATION_DENIED).

На некоторых торговых серверах общее количество открытых и отложенных ордеров может быть ограничено. Если этот лимит превышен, новая позиция не будет открыта (или отложенный ордер не будет выставлен), а торговый сервер вернет ошибку 148 (ERR_TRADE_TOO_MANY_ORDERS). Параметры:

[TD="width: 100%"]Уровень стоп-лосса.

[TR]

[TD]takeprofit[TD] - [TD="width: 100%"]Уровень тейк-профита.

[TR]

[TD]comment[TD] - [TD="width: 100%"]Текст комментария ордера.

[TR]

[TD]magic[TD] - [TD="width: 100%"]Магическое число ордера. Может использоваться как идентификатор, определяемый пользователем.

[TR]

[TD]expiration[TD] - [TD="width: 100%"]Время истечения ордера (только для отложенных ордеров).

[TR]

[TD]arrow_color[TD] - [TD="width: 100%"]Цвет стрелки открытия на графике. Если параметр отсутствует или имеет значение CLR_NONE, стрелка открытия на графике не рисуется.
symbol[/TD] -[/TD]Символ для торговли.[/TD]

[/TR]

cmd[/TD] -[/TD]Тип операции. Это может быть любая из перечня торговых операций.[/TD]

[/TR]

объем[/TD] -[/TD]Количество лотов.[/TD]

[/TR]

цена[/TD] -[/TD]Желаемая цена сделки.[/TD]

[/TR]

проскальзывание[/TD] -[/TD]Максимальное проскальзывание цены для ордеров на покупку или продажу.[/TD]

[/TR]

stoploss[/TD] -
Последняя часть комментария может быть изменена сервером.

Образец:

int ticket;

if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)

{

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);

if(ticket<0)

{

Print("OrderSend failed with error #",GetLastError());

return(0);

}

}

 

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

 
arroganzmaschine:
Могу ли я отправить вам индикатор по почте, чтобы вы могли дать мне совет?

Вы можете опубликовать его (если это не частный или коммерческий индикатор).

 

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

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

 
arroganzmaschine:
Это частный . Я думаю, что мне нужно прочитать весь материал, чтобы добраться до моего решения. Могу ли я закрыть ордера от определенного символа, где появляется сигнал закрытия?
Попробуйте сначала пройтись по этим двум темам

:https://www.mql5.com/en/forum/173136 https://www.mql5.com/en/forum/173171

также может быть хорошо, если вы начнете с этого сообщения https://www.mql5.com/en/forum/172969/page2

и будет намного легче найти информацию о кодировании mql, если вы будете следовать ссылкам из этого сообщения.
 

Спасибо, я отвечу позже.

 

Mladen, небольшой вопрос, пожалуйста, перерисовывает ли (идеальная линия тренда) ptl2 и индикатор alerts?

 

Я увидел, что существуют также оповещения. Они отправляются, когда некоторые IndexBuffers имеют нужное значение.

Могу ли я отправлять свои приказы с некоторыми if{-клаузами?

 
funayot:
Mladen, небольшой вопрос, пожалуйста, перерисовывает ли индикатор (perfect trend line) ptl2 and alerts?

Нет, индикатор '(perfect trend line) ptl2 and alerts' не перерисовывается после закрытия бара!

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