Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 75

 
mario065:

Для открития ест написана функция:

'=' - l-value required 

Выдал ошибку.

Разве 

 if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
      {
if(SL = 0 && T_P = 0)
{
  ModifyPosition(_Symbol,NormalizeDouble((Open - 0.003),Digits()),NormalizeDouble((Open + 0.003),Digits()));
}

и

if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
    {
    if(!PositionGetDouble(POSITION_SL))
      {
      PositionModify(_Symbol,NormalizeDouble((Open-STR),Digits()),NormalizeDouble((Open+TP),Digits()));
      }

не одно и то же?

Полагаю, в обоих случаях стоплосс выставляет с началом нового Bar, а не Tick.

Я не могу при открытии ордера посылать стоплосс и тейкпрофит - потому что сервер не позволяет это сделать. Необходимо вначале открыть ордер, а после модифицировать.

 
Lester:

Выдал ошибку.

Разве 

и

не одно и то же?

Полагаю, в обоих случаях стоплосс выставляет с началом нового Bar, а не Tick.

Я не могу при открытии ордера посылать стоплосс и тейкпрофит - потому что сервер не позволяет это сделать. Необходимо вначале открыть ордер, а после модифицировать.

if(SL == 0 && T_P == 0)

Извините-надо два знака равенства-не проверял ,так на прямую написал. 

 

OnTick

Событие NewTick генерируется только для экспертов при поступлении нового тика по символу, к графику которого прикреплен эксперт. Функцию OnTick() бесполезно определять в пользовательском индикаторе или скрипте, поскольку событие Tick для них не генерируется.

Событие Tick генерируется только для экспертов, но это не означает, что эксперты обязаны иметь функцию OnTick(), так как для экспертов генерируются не только события Tick, но и события Timer, BookEvent и ChartEvent. Должна быть объявлена с типом void, параметров не имеет:

void OnTick

Ето конечно с документация.

Разве не одно и то же?нет. 

 

Ну для аск и бид можно и по другому:

MqlTick  tick;
tick.ask-tick.bid
 
mario065:

Ну для аск и бид можно и по другому:

 

О! Это подходит! Благодарю! ))
 
FinEngineer: В этой ветке есть разработчики MQL5!??? Может я задаю вопрос не в той ветке? Подскажите тогда как задать вопрос разработчикам??? Вопрос изложен выше, он элементарный для опытного программиста...

 А Вы знаете, что Ваш код прекрасно работает. Вот картинка с Вашими значениями по умолчанию, на кросс-паре:

 

 
Yedelkin:

 А Вы знаете, что Ваш код прекрасно работает. Вот картинка с Вашими значениями по умолчанию, на кросс-паре:

 

2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5' (96,37)
2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Not all data of RSI1_Handle is calculated (-1bars ). Error4806

У меня выходят эти ошибки, как только я цепляю индикатор на график(также взял кросс и этот самый код). Что у меня может быть не так? Заранее спасибо.


 
FinEngineer2012.12.21 23:44:46 Pair_delta_RSI (EURGBP,M5) array out of range in 'Pair_delta_RSI.mq5' (96,37)

 А покажите строчку кода, на которую ссылается терминал (я сам поудалял пустые строки, так что не сориентируюсь).

FinEngineer: 2012.12.21 23:44:42 Pair_delta_RSI (EURGBP,M5) Not all data of RSI1_Handle is calculated (-1bars ). Error4806

Может, история у брокера кривая... Попробуйте открыть счет на MetaQuotes-Demo, открыть месячные графики нужных символов (чтоб подкачать в базу терминала достаточно истории), и затем запустите индикатор на произвольном символе и нужном таймфрейме.

 
Yedelkin:

 А покажите строчку кода, на которую ссылается компилятор (я сам поудалял пустые строки, так что не сориентируюсь).

Может, история у брокера кривая... Попробуйте открыть счет на MetaQuotes-Demo, открыть месячные графики нужных символов (чтоб подкачать в базу терминала достаточно истории), и затем запустите индикатор на произвольном символе и нужном таймфрейме.

Прогрузил историю по обоим символам, осталась только одна ошибка 2012.12.22 00:56:44 Pair_delta_RSI (EURGBP,M1) Not all data of RSI1_Handle is calculated (-1bars ). Error4806

Эта ошибка выходит не при компиляции, а когда цепляю индикатор к графику, или меняю таймфрейм.

При компиляции выходит предупреждение какое-то, вот оно:  no indicator plot defined for indicator, assigned to 1 by default 0 0

Млин, я уже весь мозг сломал...хелп плиз... 

 


 


 
FinEngineer: При компиляции выходит предупреждение какое-то, вот оно:  no indicator plot defined for indicator, assigned to 1 by default 0

 Так Вы загружали программу, несмотря на это предупреждение? Добавьте сверху вот эту строчку 

#property indicator_plots   1