MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1915

 
Koldun Zloy # :

아무도 유용하지 않을 것입니다. 코드에 심각한 오류가 있습니다. 그리고 그것들을 고치는 것은 무의미합니다.

당신은 언어의 기초를 배우려고 애쓰지 않았지만 무언가를 쓰려고 노력하고 있습니다.

심각하게 받아들이거나 그만두세요.

무엇이 잘못되었는지 설명해 주십시오. 주의할 점, 논문을 간략하게 정리할 수 있습니다. 코드가 작동한다면 "오류"는 무엇입니까?

 
Ivan Butko # :

무엇이 잘못되었는지 설명해 주십시오. 주의할 점, 논문을 간략하게 정리할 수 있습니다. 코드가 작동한다면 "오류"는 무엇입니까?

 //+------------------------------------------------------------------+
//| Функция IsMainPendingOrder (установлен отложенный ордер):        |
//| возвращает истину, если в советнике не установлен отложенный     |
//| ордер, в противном случае возвращает ложь.                       |
//| Применим для функции тип данных bool, чтобы хранить              |
//| логические значения true (истина) или false (ложь).              |
//+------------------------------------------------------------------+
bool IsMainPendingOrder()
  {
   int orders_total= OrdersTotal (); // количество установленных отложенных ордеров
//--- перебираем все установленные отложенные ордера
   for ( int i=orders_total- 1 ; i>= 0 ; i--)
     {
       ulong   order_ticket= OrderGetTicket (i); // тикет ордера
       /* если отложенного ордера нет, значит и у нашего советника отложенного ордера нет */
       if ( OrderSelect (i) == false )
         return true ; // поэтому возвращаем значение истина
       else // в противном случае
         return false ; // возвращаем значение ложь
     }
   /* если отложенный ордер уже есть и его мэджик совпадает с мэджиком нашего советника */
   if ( OrderGetInteger ( ORDER_MAGIC )==Magic_Number)
       return true ;   // то возвращаем истину
   /* в противном случае, если отложенный ордер уже есть, но его мэджик не совпадает с мэджиком нашего советника */
   else
       return false ; // значит это чужой ордер, поэтому возвращаем значение ложь

문서에서... 받은 편지함에 색인이 아닌 티켓이 있어야 합니다.

 bool    OrderSelect ( 
   ulong    ticket       // тикет ордера 
   );

목록에 다른 악기에 대한 여러 주문이 포함되어 있고 목록에서 찾고 있는 것이 두 번째 주문이면 찾을 수 없습니다. 또는 마술사가 한 명뿐이지만 다른 기호로 찾아야합니다. 그러면 다시 함수에서 오답이 나옵니다 ...

 
Alexey Viktorov # :

문서에서... 받은 편지함에 색인이 아닌 티켓이 있어야 합니다.

알렉스에게 팁을 주셔서 감사합니다! 밤에 컴퓨터에 앉아 있는 것은 나에게 매우 나쁜 영향을 미칩니다. 어제 주문 티켓으로 시작하여 이미 코드에 다음 줄을 작성한 것 같습니다.

 ulong   order_ticket= OrderGetTicket (i); // тикет ордера

그런 다음 밖으로 옮겼습니다.

Alexey, 하지만 그러한 코드 옵션이 허용될 수 있습니까?

 //+------------------------------------------------------------------+
//| Функция IsMainPendingOrder (установлен отложенный ордер):        |
//| возвращает истину, если установлен отложенный ордер,             |
//| в противном случае возвращает ложь.                              |
//| Применим для функции тип данных bool, чтобы хранить              |
//| логические значения true (истина) или false (ложь).              |
//+------------------------------------------------------------------+
bool IsMainPendingOrder()
  {
   int orders_total= OrdersTotal (); // количество установленных отложенных ордеров
//--- перебираем все установленные отложенные ордера
   for ( int i=orders_total- 1 ; i>= 0 ; i--)
     {
       ulong  order_ticket= OrderGetTicket (i); // тикет ордера
       /* если отложенного ордера нет, значит и у нашего советника отложенного ордера нет */
       if (order_ticket== 0 )
         return false ; // поэтому возвращаем значение ложь
       else // в противном случае
         return true ; // возвращаем значение истина
     }
   /* если отложенный ордер уже есть и его мэджик совпадает с мэджиком нашего советника */
   if ( OrderGetInteger ( ORDER_MAGIC )==Magic_Number)
       return true ;   // то возвращаем истину
   /* в противном случае, если отложенный ордер уже есть, но его мэджик не совпадает с мэджиком нашего советника */
   else
       return false ; // значит это чужой ордер, поэтому возвращаем значение ложь
  }

나는 아직 Magic을 만지지 않습니다. 왜냐하면. 이 코드는 단일 문자 Expert Advisor를 위한 것입니다.

안부 인사를 전합니다. 블라디미르.

 
MrBrooklin # :

알렉스에게 팁을 주셔서 감사합니다! 늦은 밤 컴퓨터에 앉아 있는 것은 나에게 매우 나쁜 영향을 미칩니다. 어제 주문 티켓으로 시작하여 이미 코드에 다음 줄을 작성한 것 같습니다.

그런 다음 밖으로 옮겼습니다.

Alexey, 하지만 그러한 코드 옵션이 허용될 수 있습니까?

나는 아직 Magic을 만지지 않습니다. 왜냐하면. 이 코드는 단일 문자 Expert Advisor를 위한 것입니다 .

안부 인사를 전합니다. 블라디미르.

나에게 이 접근 방식은 용납될 수 없습니다. 마법과 기호 검사, 두 줄의 코드를 추가하고 그 대가로 문제를 해결하는 일반적인 접근 방식을 추가합니다. 그리고 내 원칙에주의를 기울이지 않으면 올바른 코드가 아닙니다.

그게 더 논리적입니다.

 //+------------------------------------------------------------------+
//| Функция IsMainPendingOrder (установлен отложенный ордер):        |
//| возвращает истину, если установлен отложенный ордер ,             |
//| в противном случае возвращает ложь .                              |
//| Применим для функции тип данных bool, чтобы хранить              |
//| логические значения true (истина) или false (ложь).              |
//+------------------------------------------------------------------+
bool IsMainPendingOrder()
  {
   int orders_total= OrdersTotal (); // количество установленных отложенных ордеров
//--- перебираем все установленные отложенные ордера
   for ( int i=orders_total- 1 ; i>= 0 ; i--)
     {
       ulong order_ticket= OrderGetTicket (i); // тикет ордера
       /* если отложенный ордер есть */
       if (order_ticket > 0 )
         return true ; // поэтому возвращаем истину
     }
       return false ; // если нет открытого отложенного ордера…
  }

그리고 이 코드에서는 빈 수표를 대체하는 것으로 충분합니다.

       if (order_ticket > 0 )

마술과 상징을 확인하기 위해

       if ( OrderGetString ( ORDER_SYMBOL ) == _Symbol && OrderGetInteger ( ORDER_MAGIC ) == Magic_Number)

그리고 더 다양한 기능...

 
Alexey Viktorov # :

문서에서... 받은 편지함에 색인이 아닌 티켓이 있어야 합니다.

목록에 다른 악기에 대한 여러 주문이 포함되어 있고 목록에서 찾고 있는 것이 두 번째 주문이면 찾을 수 없습니다. 또는 마술사가 한 명뿐이지만 다른 기호로 찾아야합니다. 그러면 다시 함수에서 오답이 나옵니다 ...

감사해요

 
Alexey Viktorov # :

나에게 이 접근 방식은 용납될 수 없습니다. 마법과 기호 검사, 두 줄의 코드를 추가하고 그 대가로 문제를 해결하는 일반적인 접근 방식을 추가합니다. 그리고 내 원칙에주의를 기울이지 않으면 올바른 코드가 아닙니다.

그게 더 논리적입니다.

그리고 이 코드에서는 빈 수표를 대체하는 것으로 충분합니다.

마술과 상징을 확인하기 위해

그리고 더 다양한 기능...

좋은 아침과 좋은 분위기 모두!

Alexey, 대담한 사람에게 참을성 있게 접근하고 내 실수가 무엇인지 이해할 수 있는 설명에 감사드립니다.

안부 인사를 전합니다. 블라디미르.

[삭제]  
Ivan Butko # :

무엇이 잘못되었는지 설명해 주십시오. 주의할 점, 논문을 간략하게 정리할 수 있습니다. 코드가 작동한다면 "오류"는 무엇입니까?

기본적인 것들에 대한 오해의 오류.

당신 자신이 그것을 보지 못한다면 당신도 배우십시오. 공부하고 배우십시오!

 
Koldun Zloy # :

기본적인 것들에 대한 오해의 오류.

당신 자신이 그것을 보지 못한다면 당신도 배우십시오. 공부하고 배우십시오!

중지. 초보자 질문 스레드. 따라서 스레드에서 묻는 질문에 대답하거나 도덕성을 갖추지 않고 통과합니다.

그들은 왜 자신을 드러냈습니까? 사람들은 그림 속의 잘생긴 남자가 아니라 질문에 대한 답을 보고 싶어합니다.

[삭제]  
Artyom Trishkin # :

중지. 초보자 질문 스레드. 따라서 스레드에서 묻는 질문에 대답하거나 도덕성을 갖추지 않고 통과합니다.

그들은 왜 자신을 드러냈습니까? 사람들은 그림 속의 잘생긴 남자가 아니라 질문에 대한 답을 보고 싶어합니다.

나는 누군가가 무언가를 배우고 싶어하는지 알아내고 싶었습니다. 그러면 제가 도울 수 있습니다.

 
Koldun Zloy # :

나는 누군가가 무언가를 배우고 싶어하는지 알고 싶었습니다. 그러면 내가 도울 수 있습니다.

좋은. 욕망을 인식하는 바로 그 방법이 이상하게 보였습니다. "당신은 방법을 모릅니다. 당신은 공부하고 공부해야 합니다."

하지만 놔둬...