Как я собираю себе советника методом тыка - страница 39

 
Aleksandr Klapatyuk:

откройте метаидитор 

верхней строчки (файлы) откройте , там есть (открыть каталог даных)

это адрес C:\Users\---------\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685

вам нужно зайти по адресу 

и удалить эту папку \ MetaQuotes \

предупреждение !!! ---удалятся - все индикаторы которые вы устанавливали и эксперты

это получится - вы заново перезапустите терминал 

 

#property version     "1.03"

не чего не буду менять - version     "1.03" нормальная версия 

в version     "1.04" я лишнею и не нужную функцию добавил

---------------------------------------------------------------------------------

если кому интересно - то вот версия в полнее работоспособная https://c.mql5.com/3/297/Horse_move__4.mq5 

1.03 

 

как проще научится управлять -

накидываете на график объект с именем ( например Горизонтальную линию ) у этой линии есть имя - копируем его

открываем настройки эксперта и вписываем его - если линию вы установили выше текущей цены то нужно вписать его где ( TOP ) если ниже текущей цены то ( LOWER )

дальше выбираем команду - что мы хотим что бы от этих линий произошло ( 

//+------------------------------------------------------------------+
//| Enum TRADE_COMMAND                                               |
//+------------------------------------------------------------------+
enum ENUM_TRADE_COMMAND
  {
   close_buys=0,     // Close All Buy's
   close_sells=1,    // Close All Sell's
   close_all=2,      // Close All Buy's and Sell's
   open_buy=3,       // Open Buy
   open_sell=4,      // Open Sell
   open_buy_sell=5,  // Open Buy and Sell
  };

 
Aleksandr Klapatyuk:

#property version     "1.03"

не чего не буду менять - version     "1.03" нормальная версия 

в version     "1.04" я лишнею и не нужную функцию добавил

---------------------------------------------------------------------------------

если кому интересно - то вот версия в полнее работоспособная https://c.mql5.com/3/297/Horse_move__4.mq5 

 

Здравствуйте, Александр! По приведенной Вами ссылке https://c.mql5.com/3/297/Horse_move__4.mq5 в коде советника стоит версия 1.03.

Так это все-таки третья версия или Вы просто забыли поменять её на 1.04?

С уважением, Владимир.

 
MrBrooklin:

Здравствуйте, Александр! По приведенной Вами ссылке https://c.mql5.com/3/297/Horse_move__4.mq5 в коде советника стоит версия 1.03.

Так это все-таки третья версия или Вы просто забыли поменять её на 1.04?

С уважением, Владимир.

это третья версия -

четвертая тоже рабочая - просто функцию которую я добавил она ненужная . она и не мешает в работе эксперта ну пользы от неё ноль 

 

просто в четвёртой - не нажимайте на компьютере клавишу ( V )или Русская( М ) выскочат три горизонтальных линий - это не страшно и не опасно ещё раз туже клавишу нажмёте они исчезнут .

просто имена не вписывайте в Эксперт этих горизонтальных линии . а пользоваться ими просто - как какая то разметка 

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 

теперь расскажу как использовать вариант, от линии сработало открытие, другой линии на другом расстоянии .

input string   t3="------ Obj:Name 1-2-3-4 ------";     // Имя Объекта
input string   InpObjUpNameZ           = "TOP 1";       // Obj: TOP (Name Obj) ВВЕРХУ 1
input string   InpObjDownNameZ         = "LOWER 2";     // Obj: LOWER (Name Obj) ВНИЗУ 2
input int      Step                    = 15;            // Obj: Шаг сетки, пунктов(0 = false)
input string   InpObjDownName0         = "TOP 3";       // Obj: TOP (Name Obj) ВВЕРХУ 3
input ENUM_TRADE_COMMAND InpTradeCommand=open_sell;     // Obj:  command:
input string   InpObjUpName0           = "LOWER 4";     // Obj: LOWER (Name Obj) ВНИЗУ 4
input ENUM_TRADE_COMMAND InpTradeCommand0=open_buy;     // Obj:  command:

1,2 - это имя для тех объектов которые будут - не открывать позиции а открывать другой объект на заданном расстоянии ( Step= 15// Obj: Шаг сетки, пунктов(0 = false)) 

будут открывать 3,4 - от этих объектов - вы задаёте команду ( =open_buy;     // Obj:  command:)
 

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 

есть ещё вариант 

input string   t5="- 2_Obj:Trailing Line 7-8-9-10 --- ";// Trailing Obj:Line
input string   InpObjUpNameZx          = "TOP 7";       // Obj: TOP (Name Obj) ВВЕРХУ 7
input string   InpObjDownNameZx        = "LOWER 8";     // Obj: LOWER (Name Obj) ВНИЗУ 8
input int      StepZx                  = 15;            // Obj: Шаг сетки, пунктов(0 = false)
input string   InpObjUpNameX           = "TOP 9";       // Obj: TOP (Horizontal Line) ВВЕРХУ 9
input ENUM_TRADE_COMMAND InpTradeCommandX=open_buy;     // Obj:  command:
input string   InpObjDownNameX         = "LOWER 10";    // Obj: LOWER (Horizontal Line) ВНИЗУ 10
input ENUM_TRADE_COMMAND InpTradeCommand0X=open_sell;   // Obj:  command:
input ushort   InpObjTrailingStopX     = 15;            // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepX     = 5;             // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)

это всё тоже самое - что и в том варианте - только эти объекты ещё могут работать как трал 

 

еще если у вас выскочило - два объекта

регулируется с помощью

input int      Step                    = 15;            // Obj: Шаг сетки, пунктов(0 = false)


input int      StepZx                  = 15;            // Obj: Шаг сетки, пунктов(0 = false)
0 - нечего не будет выскакивать 
 
Aleksandr Klapatyuk:

есть ещё вариант 

это всё тоже самое - что и в том варианте - только эти объекты ещё могут работать как трал 

input string   InpObjUpNameX           = "TOP 9";       // Obj: TOP (Horizontal Line) ВВЕРХУ 9
input ENUM_TRADE_COMMAND InpTradeCommandX=open_buy;     // Obj:  command:
input string   InpObjDownNameX         = "LOWER 10";    // Obj: LOWER (Horizontal Line) ВНИЗУ 10
input ENUM_TRADE_COMMAND InpTradeCommand0X=open_sell;   // Obj:  command:
input ushort   InpObjTrailingStopX     = 15;            // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepX     = 5;             // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)

для тральных имён - подходит только  TOP (Horizontal Line) LOWER (Horizontal Line)

Важно!!! Горизонтальные линии  

input string   t5="- 2_Obj:Trailing Line 7-8-9-10 --- ";// Trailing Obj:Line
input string   InpObjUpNameZx          = "TOP 7";       // Obj: TOP (Name Obj) ВВЕРХУ 7
input string   InpObjDownNameZx        = "LOWER 8";     // Obj: LOWER (Name Obj) ВНИЗУ 8
здесь не важно - лишь бы имя вписать объекта  Obj: TOP (Name Obj) ВВЕРХУ 7
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.