Скачать MetaTrader 5

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

User_mt5
257
User_mt5  
Alexey Viktorov:

Тута ищи

Вот начало

Это да. Такое и у меня есть. А нужно ещё то, где (H+L+C)/3.

Обыскался. Придётся самому сделать.

Спасибо.

Alexey Viktorov
20907
Alexey Viktorov  
User_mt5:

Это да. Такое и у меня есть. А нужно ещё то, где (H+L+C)/3.

Обыскался. Придётся самому сделать.

Спасибо.

Вот как выглядит это заявление:

Вот есть велосипед, но с него снято заднее колесо... Придётся самому делать велосипед...

Кто или что мешает сделать массив с ценами (H+L+C)/3 и этот массив туда засунуть...

Shara1
161
Shara1  

Всем привет. Решил попробовать по изучать MQL. В метаэдиторе 5 нашел советника 3 мувинга и стохастик. А выходов из сделки там не прописано, то есть нету тейк профита. Помогите плиз разобраться куда и как вставить в коде тейкпрофит и что бы эти параметры можно было оптимизировать. Да еще в нем не написано Бай и Сел , как он продает и покупает, мне непонятно. Вот сам код:

; saved automatically on 2018.01.14 00:39:27
; this file contains last used input parameters for testing/optimizing Stochastic and 3 iMA expert advisor
;
lot=0.1||0.1||0.010000||1.000000||N
stop_=700||700||70.000000||7000.000000||N
magick=54
per_4=4||4||1||40||Y
metodMA4=1||0||0||3||Y
priceMA4=1||1||0||7||Y
per_13=10||10||1||130||Y
metodMA13=1||0||0||3||Y
priceMA13=1||1||0||7||Y
per_50=50||50||1||200||Y
metodMA50=1||0||0||3||Y
priceMA50=1||1||0||7||Y
per_K_Stoh=5||5||1||20||Y
per_D_Stoh=3||3||1||20||Y
slowing=3||3||1||20||Y
highLevel=70||70||1||90||Y
lowLevel=10||10||1||30||Y
revers=false||false||0||true||N

User_mt5
257
User_mt5  

Все мы знаем Custom Moving Average.mq5
Пробую сделать на его основе пользовательский индикатор.
Считать он должен всё то же, но не на всю историю, а на количество баров, указанных в настройке пользовательского инд.
На этой стадии всё понятно.

Но обнаружилась сложность с параметром ENUM_APPLIED_PRICE. Его ведь нужно передать в iCustom() для расчёта МА? Нужно. Но как?

Если простодушно вывести Custom Moving Average на чарт, то на панели настроек появляется дополнительная вкладка,
на которой можно выбрать конкретный параметр из состава ENUM_APPLIED_PRICE.

Но где этот параметр в iCustom()? Ведь в iCustom() можно передать только параметры, указанные как input..
А этого  ENUM_APPLIED_PRICE в input-ах нету.

Ну. И что делать?

Насколько он вообще Custom этот Moving Average? Может у него там hidden шестерёнки?:)

Vladimir Karputov
Модератор
85732
Vladimir Karputov  
User_mt5:

Все мы знаем Custom Moving Average.mq5
Пробую сделать на его основе пользовательский индикатор.
Считать он должен всё то же, но не на всю историю, а на количество баров, указанных в настройке пользовательского инд.
На этой стадии всё понятно.

Но обнаружилась сложность с параметром ENUM_APPLIED_PRICE. Его ведь нужно передать в iCustom() для расчёта МА? Нужно. Но как?

Если простодушно вывести Custom Moving Average на чарт, то на панели настроек появляется дополнительная вкладка,
на которой можно выбрать конкретный параметр из состава ENUM_APPLIED_PRICE.

Но где этот параметр в iCustom()? Ведь в iCustom() можно передать только параметры, указанные как input..
А этого  ENUM_APPLIED_PRICE в input-ах нету.

Ну. И что делать?

Насколько он вообще Custom этот Moving Average? Может у него там hidden шестерёнки?:)


Справка по iCustom:

   MA_handle=iCustom(NULL,0,"Examples\\Custom Moving Average", 
                     MA_Period, 
                     MA_Shift, 
                     MA_Method, 
                     PRICE_CLOSE // считаем по ценам закрытия 
                     ); 

То есть тип цены на основе которой расчёты, указывается в самом конце.

User_mt5
257
User_mt5  
Vladimir Karputov:

Справка по iCustom:

То есть тип цены на основе которой расчёты, указывается в самом конце.

Спасибо, это очень содержательно. Спасибо.

Это почти открытие для меня. Читая справку по iCustom и input такого не узнаешь.. Какой загадочный mql ..

User_mt5
257
User_mt5  

Изучаем мат.часть. Запутался среди двух сосен..

Есть вот такое:

int OnCalculate (const int rates_total,      // размер массива price[] 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const int begin,            // откуда начинаются значимые данные 
                 const double& price[]       // массив для расчета 

Вопросы о begin:

1. Что это такое? Значение его = 0. Это индекс?

2. Что это такое по сути? Что есть значимые данные? А какие ещё бывают?

3. На каком основании это значение вычисляется? И какие в принципе могут быть варианты? Например, значимые данные могут начинаться не с 0-го индекса, а с 5-го?

4. Зачем этот параметр вставлен в OnCalculate?

Если я пропустил где об этом написано в справке, то прошу просто ткнуть носом.

Андрей
43
Андрей  

Может кто подскажет как избавиться от этих многозначных значений в окне отладки (переменные нормализованы)?


Alexey Viktorov
20907
Alexey Viktorov  
Андрей:

Может кто подскажет как избавиться от этих многозначных значений в окне отладки (переменные нормализованы)?


Добавить строковую переменную, присвоить ей значение DoubleToString() и её смотреть в окне отладки.

Можно поместить всё это в макрос #ifdef _DEBUG

Андрей
43
Андрей  
Alexey Viktorov:

Добавить строковую переменную, присвоить ей значение DoubleToString() и её смотреть в окне отладки.

Можно поместить всё это в макрос #ifdef _DEBUG

Спасибо, но возникает вопрос - вот эти многозначные значения, они соответствуют действительности или так, "игра света".

Дело то не в том, чтобы красиво смотрелось, а в том - какие значения используются для дальнейших расчетов.