Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2104

 
законопослушный гражданин #:

я тоже так думал! но оно никуда не ведёт?)

в файлике с кодом  строки 665-686, и больше по коду нигде не встречается

Нигде не используется...можно удалить
 
PapaYozh #:

не похоже на декомпил. имена даны со смыслом.

Неоднократно правленный оттого и имена чуток осмысленные, откровенный декомпил.

 
Hi All. I hope someone will help me to complete my simple EA for MT5. I am stuck on the second phase. Need Guidance and Support.

Need Help on MT5 EA. I am on writing Phase of Below Strategy EA on the cross of two moving averages for MT5. I wrote the EA for the first phase already and I need your help for the second phase to write the code for closed to the SELL/BUY trade automatically.


This Expert Advisor (EA) is based on the cross of two moving averages; ie; “Moving Average 1” and “Moving Average 2”.

Phase 1. If “Moving Average 2” crosses above “Moving Average 1”, the program will enter a BUY trade and Phase 2. the SELL trade will closed up automatically.

Phase 1. If “Moving Average 2” crosses below “Moving Average 1”, the program will enter a SELL trade and Phase 2. the BUY trade will closed up automatically.


Sorry My Post in English. I hope I will received the guidance here 

 
okikuki #:
Hi All. I hope someone will help me to complete my simple EA for MT5. I am stuck on the second phase. Need Guidance and Support.

Need Help on MT5 EA. I am on writing Phase of Below Strategy EA on the cross of two moving averages for MT5. I wrote the EA for the first phase already and I need your help for the second phase to write the code for closed to the SELL/BUY trade automatically.


This Expert Advisor (EA) is based on the cross of two moving averages; ie; “Moving Average 1” and “Moving Average 2”.

Phase 1. If “Moving Average 2” crosses above “Moving Average 1”, the program will enter a BUY trade and Phase 2. the SELL trade will closed up automatically.

Phase 1. If “Moving Average 2” crosses below “Moving Average 1”, the program will enter a SELL trade and Phase 2. the BUY trade will closed up automatically.


Sorry My Post in English. I hope I will received the guidance here 

We need a code or look here

https://www.mql5.com/en/code/21515

https://www.mql5.com/en/code/18440

 
законопослушный гражданин #:

что обозначает 0;1;2?

может 1 -бай, 2 селл, 0 - нет ордера?

тогда как сов понимает , что нужно выбрать 1,2,?


https://docs.mql4.com/ru/constants/tradingconstants/orderproperties
2 там не бывает, только 0 и 1.
 
Tretyakov Rostyslav #:

Здесь

взял для примера сделку ,  если   0 то это текущий бар, правильно?

//---- Если цена обновила экстремум - выходим до следующего бара

    if (iHigh (gs_Symbol, gi_ControlPeriod, 0) - iOpen (gs_Symbol, gi_ControlPeriod, 0) <= gd_dopusk)   -    High 0,67469 - iOpen 0,67415=54 > gd_dopusk (2 в настройках)

    {li_extrem = 0;}

    else if (iOpen (gs_Symbol, gi_ControlPeriod, 0) - iLow (gs_Symbol, gi_ControlPeriod, 0) <= gd_dopusk)     iOpen 0,67415 -  iLow 0,67351 =64  > gd_dopusk (2 в настройках)

=     {li_extrem = 1;}

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

однако вот что выяснил:

параметр в настройках MIN_DistanceList = 60(в пипсах)

если цена прошла от  Open на -60 -откроется бай

                                           на +60 - откроется селл

всё до тупого просто! НО где в коде указано, что если  MIN_DistanceList (-) это селл, а если (+) это бай??

 
Sergey Gridnev #:

https://docs.mql4.com/ru/constants/tradingconstants/orderproperties
2 там не бывает, только 0 и 1.

т.е.  здесь - for (li_ORD = 0; li_ORD < 2; li_ORD++)

li_ORD = 0  это бай

li_ORD < 2 (но не 0, а значит 1) это селл?

а в строке

li_Ticket1  = OrderSend (gs_Symbol, li_ORD, LOT(), ld_Price, Slippage, NormalizeDouble (ld_Price - li_cmd * gd_SL, Digits), ld_TP2, lsa_ord[li_ORD], MG2, 0, lca_color[li_ORD]);  

     советник знает, что по последовательности на втором месте стоит     li_ORD и знает, что это либо бай либо селл, так?                              

 
законопослушный гражданин #:

взял для примера сделку ,  если   0 то это текущий бар, правильно?

//---- Если цена обновила экстремум - выходим до следующего бара

    if (iHigh (gs_Symbol, gi_ControlPeriod, 0) - iOpen (gs_Symbol, gi_ControlPeriod, 0) <= gd_dopusk)   -    High 0,67469 - iOpen 0,67415=54 > gd_dopusk (2 в настройках)

    {li_extrem = 0;}

    else if (iOpen (gs_Symbol, gi_ControlPeriod, 0) - iLow (gs_Symbol, gi_ControlPeriod, 0) <= gd_dopusk)     iOpen 0,67415 -  iLow 0,67351 =64  > gd_dopusk (2 в настройках)

=     {li_extrem = 1;}

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

однако вот что выяснил:

параметр в настройках MIN_DistanceList = 60(в пипсах)

если цена прошла от  Open на +60 -откроется бай

                                           на -60 - откроется селл

всё до тупого просто! НО где в коде указано, что если  MIN_DistanceList (-) это селл, а если (+) это бай??

High 0,67469 - iOpen 0,67415 =0.00054 > gd_dopusk

iOpen 0,67415 -  iLow 0,67351 =0.00064  > gd_dopusk

 
законопослушный гражданин #:

т.е.  здесь - for (li_ORD = 0; li_ORD < 2; li_ORD++)

li_ORD = 0  это бай

li_ORD < 2 (но не 0, а значит 1) это селл?

а в строке

li_Ticket1  = OrderSend (gs_Symbol, li_ORD, LOT(), ld_Price, Slippage, NormalizeDouble (ld_Price - li_cmd * gd_SL, Digits), ld_TP2, lsa_ord[li_ORD], MG2, 0, lca_color[li_ORD]);  

     советник знает, что по последовательности на втором месте стоит     li_ORD и знает, что это либо бай либо селл, так?                              

    for (li_ORD = 0; li_ORD < 2; li_ORD++)  - li_ORD может быть либо "0" либо "1"
      {
      //----
         if (li_extrem == li_ORD)  - если li_ORD равен li_extrem , который определяется там где я указал выше
 
Alexey Viktorov #:

Неоднократно правленный оттого и имена чуток осмысленные, откровенный декомпил.

Невызываемых функций после компиляции не должно остаться, а здесь явно есть. Вряд ли.
Причина обращения: