Обсуждение статьи "Как создать свой Trailing Stop" - страница 3

 
Да спасибо! все заработало!
 

Отличная статья! Спасибо!

При компиляции головного файла Sample_TrailingStop.mqh выдается три предупреждения: 

return value of 'OrderSend' should be checked Sample_TrailingStop.mqh 170 31
return value of 'OrderSend' should be checked Sample_TrailingStop.mqh 198 31
possible use of uninitialized variable 'tm' Sample_TrailingStop.mqh 209 21
0 error(s), 3 warning(s), compile time: 245 msec  1 4

первые два - понятно, надо обеспечить проверку, это известно как.

а вот третье-как устранить?

 
natyog:

Отличная статья! Спасибо!

При компиляции головного файла Sample_TrailingStop.mqh выдается три предупреждения: 

return value of 'OrderSend' should be checked Sample_TrailingStop.mqh 170 31
return value of 'OrderSend' should be checked Sample_TrailingStop.mqh 198 31
possible use of uninitialized variable 'tm' Sample_TrailingStop.mqh 209 21
0 error(s), 3 warning(s), compile time: 245 msec  1 4

первые два - понятно, надо обеспечить проверку, это известно как.

а вот третье-как устранить?


Там, где объявлен массив tm, присвоить значение нулевому элементу:

datetime tm[1]; // было

tm[0]=0; // добавить

 
спасибо!
 

увы, но тестирование my_first_ea_sartrailing.mq5 выдает:

2017.08.25 10:43:38.890 2016.01.21 12:00:00   failed instant sell 0.10 EURUSD at 1.08900 sl: 1.09200 tp: 1.07900 [Invalid request]
2017.08.25 10:43:38.891 2016.01.21 12:00:00   Alert: Запрос на установку ордера Sell не выполнен - код ошибки:4756

ни один запрос на установку ордера не  выполняется! Почему?

 
natyog:

увы, но тестирование my_first_ea_sartrailing.mq5 выдает:

2017.08.25 10:43:38.890 2016.01.21 12:00:00   failed instant sell 0.10 EURUSD at 1.08900 sl: 1.09200 tp: 1.07900 [Invalid request]
2017.08.25 10:43:38.891 2016.01.21 12:00:00   Alert: Запрос на установку ордера Sell не выполнен - код ошибки:4756

ни один запрос на установку ордера не  выполняется! Почему?


А как вы открываете позицию?

 
Dmitry Fedoseev:

А как вы открываете позицию?


о как! вопросом на вопрос-это мудро!

позицию открывает ваш эксперт my_first_ea_sartrailing.mq5


 
natyog:


о как! вопросом на вопрос-это мудро!

позицию открывает ваш эксперт my_first_ea_sartrailing.mq5



Просто все не помню, вот и спрашиваю. 

Надо очистить структуру торгового запроса перед ее заполнением: ZeroMemory( mrequest);     

Так должно быть (в двух местах добавить):

ZeroMemory( mrequest);      // добавить

mrequest.action = TRADE_ACTION_DEAL;  // есть

А еще лучше вообще убрать заполнение структуры и использовать стандартный класс CTrade 
 
Dmitry Fedoseev:

Просто все не помню, вот и спрашиваю. 

Надо очистить структуру торгового запроса перед ее заполнением: ZeroMemory( mrequest);     

Так должно быть (в двух местах добавить):

ZeroMemory( mrequest);      // добавить

mrequest.action = TRADE_ACTION_DEAL;  // есть

А еще лучше вообще убрать заполнение структуры и использовать стандартный класс CTrade 

очистка структуры ZeroMemory( mrequest) ситуацию не меняет:

тестер по-прежнему выдает

2017.08.25 12:47:50.311 2016.01.13 16:00:00   failed instant sell 0.10 EURUSD at 1.08275 sl: 1.08575 tp: 1.07275 [Invalid request]
2017.08.25 12:47:50.311 2016.01.13 16:00:00   Alert: Запрос на установку ордера Sell не выполнен - код ошибки:4756

в эксперте, который вы взяли для примера (my_first_ea.mq5)  не используется  стандартный класс CTrade , а заполняется структура торгового зап

роса и понятно, обе статьи  (и ваша и https://www.mql5.com/ru/articles/100 ) писалась для начинающих.

при этом my_first_ea.mq5 по-прежнему тестируется безошибочно, а ваш my_first_ea_sartrailing.mq5 -нет.

Почему?

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel Olowoyo
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
 

У меня почему-то после ZeroMemory() стали позиции открываться.