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

Артем Иванов
60
Артем Иванов  
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.

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

mario
90
mario  
Lester:

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

Разве 

и

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

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

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

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

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

mario
90
mario  

OnTick

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

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

void OnTick

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

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

 

mario
90
mario  

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

MqlTick  tick;
tick.ask-tick.bid

 

Артем Иванов
60
Артем Иванов  
mario065:

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

 

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

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

 

FinEngineer
40
FinEngineer  
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

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


Yedelkin
4193
Yedelkin  
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, открыть месячные графики нужных символов (чтоб подкачать в базу терминала достаточно истории), и затем запустите индикатор на произвольном символе и нужном таймфрейме.

FinEngineer
40
FinEngineer  
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

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

 


 


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

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

#property indicator_plots   1