Написал индикатор, где писать стратегию? - страница 2

 

вот пример готового эксперта на пользовательском индюке

https://www.mql5.com/ru/code/126

Простой советник на базе пользовательского индикатора RKD
Простой советник на базе пользовательского индикатора RKD
  • голосов: 8
  • 2010.06.23
  • yyy999
  • www.mql5.com
Этот простой советник использует пользовательский индикатор RKD.
 
sergeev:

вот пример готового эксперта на пользовательском индюке

https://www.mql5.com/ru/code/126

валится на строке if(PositionSelect(_Symbol,50))

 PositionSelect может иметь только один параметр symbol_name.  Хотя я просто удалил 50, и чуть поправил код на два буфера. Вроде что ошибок не выдаёт, но и ничего не делает. 

 
DmitryKh:

валится на строке if(PositionSelect(_Symbol,50))

 PositionSelect может иметь только один параметр symbol_name. 

Теперь не нужно указывать ,50

останется 

if(PositionSelect(_Symbol))
 
olyakish:

Теперь не нужно указывать ,50

останется 

спасибо за помощь, буду разбираться дальше
 
DmitryKh:
спасибо за помощь, буду разбираться дальше
воспользуйтесь дебагом, будет легче
 
sergeev:
воспользуйтесь дебагом, будет легче

что-то не пашет товарищ :(, в смысле скомпилился, что-то делает, но не пойму что.

код практически тот же что и вы мне присылали.

не совсем понимаю:

trReq.price=tick.ask;                   // SymbolInfoDouble(NULL,SYMBOL_ASK);

         if(sl>100)

         trReq.sl=tick.ask-_Point*sl;            // Уровень Stop Loss ордера

         if(tp>100)

         trReq.tp=tick.ask+_Point*tp;            // Уровень Take Profit ордера

         trReq.type=ORDER_TYPE_BUY;              // Тип ордера

         OrderSend(trReq,trRez); 

Могу я Вас попросить объяснить что это значит? 

 

А Вы уточните, что именно непонятно (установка уровней SL и TP, отправка ордера, условия и т.д.).

 
Yedelkin:

А Вы уточните, что именно непонятно (установка уровней SL и TP, отправка ордера, условия и т.д.).

не понятен tick.ask и _Point*sl

и странная цифра 100, почему здесь сто. не понимаю зачем необходимо это условие 

 
DmitryKh:

не понятен tick.ask и _Point*sl

и странная цифра 100, почему здесь сто. не понимаю зачем необходимо это условие 

"tick.ask" говорит о том, что (1) в программе объявлена переменная tick структурного типа (см. Справочник MQL5 / Основы языка / Типы данных / Структуры и классы), и что (2) одним из членов этой структуры является элемент ask. Так как доступ к членам структур производится при помощи операции точка (.), то "tick.ask" означает, что происходит доступ к элементу объявленной и инициализированной ранее структуры, и этот элемент в соответствии с логикой программы содержит значение цены Аск. 

Определение  _Point содержится здесь: Справочник MQL5 / Предопределенные переменные / _Point . Т.е. в случае 5-значной котировки _Point==0.00001 .

_Point*sl означает, что в качестве расстояния для установки уровня stop loss берётся определённое количество пунктов в размере sl (sl, видимо, рассчитывается программно).

Цифра 100, скорее всего, - особенность стратегии, реализованной в эксперте. Посмотрите описание самой стратегии. 

Возможно, что sergeev ответит более квалифицированно.

 

Цифра  100 - думаю что это банальная проверка на стопуровень. но реализованная таким вот топорным способом. причем подогнанная к пятизнакам.

больше добавить нечего. :)

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