초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 132

 
uncleVic :

1111 0000000000000 11111111 b => 31457535(십진수)

00시부터 07시까지 거래 금지

08~20시간 거래 허가

21~23시간 거래 금지

감사해요
 

아마도 찻주전자 질문일 것입니다. 저는 여전히 mql5 구문에 정통하지 않습니다(그러나 다른 모든 것과 마찬가지로). 말해봐, 함수가 둘 이상의 값이나 배열 또는 다른 구조를 반환할 수 있습니까?

글쎄요:

int testfunc(int x, int Y)

{

  z = x + y;

  n =  x * y;

  return(z, n);

}

test = testfunc(5,10);

Print(test.x,test.y);

 
Lone_Irbis :

아마도 주전자 질문일 것입니다. 저는 여전히 mql5 구문에 정통하지 않습니다(그러나 다른 모든 것과 마찬가지로). 말해봐, 함수가 둘 이상의 값이나 배열 또는 다른 구조를 반환할 수 있습니까?

아니요, 배열은 전역적으로 설명될 수 있으며 그 값은 함수에서 변경할 수 있습니다.
 
zfs :
아니요, 배열은 전역적으로 설명될 수 있으며 그 값은 함수에서 변경할 수 있습니다.
감사합니다 노력하겠습니다)
 

말해 주세요! 신호 수신을 취소 하고 하루 후 다시 이 신호를 구독했습니다. 신호는 구독에서 활성화되며 설정에서 구독을 허용하는 확인란을 선택한 다음 확인을 누르고 설정을 다시 열면 다음이 표시됩니다. 확인 표시가 없습니다. 무엇을 해야 하는지 알려줄 수 있는 사람이 있습니까?신호 제공자가 새로운 주문을 열었고 나는 침묵합니다.

 
Lone_Irbis :

아마도 주전자 질문일 것입니다. 저는 여전히 mql5 구문에 정통하지 않습니다(그러나 다른 모든 것과 마찬가지로). 말해봐, 함수가 둘 이상의 값이나 배열 또는 다른 구조를 반환할 수 있습니까?

글쎄요:

간단한 (클래스 개체, 문자열 및 동적 배열을 포함하지 않는) 구조 는 함수에서 반환될 수 있습니다.

 

감사합니다. 사전 선언된 값 없이 전역 변수를 통해 배열 없이 함수를 정렬할 수 있었습니다(항상 그렇듯이 관은 방금 열렸습니다).

그러나 새롭고 아마도 덜 일반적인 질문이 있습니다. mql5에는 전략 테스터를 관리하기 위한 모든 종류의 내장 기능이 있다는 것을 알고 있습니다. 그런데 아무리 찾아도 안 되는데, 미리 준비된 방식으로 최적화 결과 를 처리할 수 있는 기술적 능력을 주는 것이 있습니까? 자, 이런 범위에 있는 X를 제외하고 모든 매개변수 값이 공통인 모든 결과 중에서 이익에 대한 평균값을 구한다고 가정해 봅시다.

아니면 엑셀에서만 가능한가요? Excel에서 이 모든 작업이 어떻게 수행되는지 알고 있습니다. 아주 일상적이고 동일한 방식으로 테이블의 전체를 삽질해야 하지만 어떻게든 자동화하고 싶은 작은 연구(순전히 나 자신을 위한, 관심 없는)에 대한 아이디어가 있다는 것입니다.

 
Lone_Irbis :

감사합니다. 사전 선언된 값 없이 전역 변수를 통해 배열 없이 함수를 정렬할 수 있었습니다(항상 그렇듯이 관은 방금 열렸습니다).

그러나 새롭고 아마도 덜 일반적인 질문이 있습니다. mql5에는 전략 테스터를 관리하기 위한 모든 종류의 내장 기능이 있다는 것을 알고 있습니다. 그런데 아무리 찾아도 안 되는데, 미리 준비된 방식으로 최적화 결과 를 처리할 수 있는 기술적 능력을 주는 것이 있습니까? 자, 이런 범위에 있는 X를 제외하고 모든 매개변수 값이 공통인 모든 결과 중에서 이익에 대한 평균값을 구한다고 가정해 봅시다.

아니면 엑셀의 펜으로만 가능한가요? Excel에서 이 모든 작업이 어떻게 수행되는지 알고 있습니다. 단지 여기에 작은 연구에 대한 아이디어가 있다는 것입니다(순전히 나 자신을 위한 것, 관심이 없는 것). 이를 위해 매우 일상적이고 동일한 방식으로 테이블의 전체를 삽질해야 하지만 어떻게든 자동화하고 싶습니다. .

여기 읽기: https://www.mql5.com/ru/docs/optimization_frames


그런 다음 포럼에서 사용 예를 검색하십시오.

Документация по MQL5: Работа с результатами оптимизации
Документация по MQL5: Работа с результатами оптимизации
  • www.mql5.com
Работа с результатами оптимизации - Документация по MQL5
 
MetaDriver :

여기 읽기: https://www.mql5.com/ru/docs/optimization_frames


그런 다음 포럼에서 사용 예를 검색하십시오.

예, 이미 여러 번 접했고 이와 같은 예도 있습니다. 그러나 웬일인지 이것은 내가 찾고 있는 것이 아닌 것 같았습니다. 하지만 아직 요리하는 법을 모르는 것일 수도 있습니다. :)

어쨌든 이것은 불행한 올빼미가 정상적으로 작동할 수 있을 때까지 관련이 없습니다...

이와 관련하여 가까운 장래의 질문에 대한 마지막 (최소한 희망): 위치의 마지막 주문의 개시 가격을 올바르게 얻는 방법은 무엇입니까?

내 실험용 올빼미 - 사실 처음에는 내 것이 아니었지만 알 수 없는 작가가 발견한 것은 분명히 축축한 것이었습니다. 처음에는 이상한 버그가 있었습니다. 테스터에서는 제대로 작동하지만 데모에서는 마지막 주문 가격의 값을 얻지 못합니다.

 double FindLastPrice( long PositionID, bool IsSell) {

   int   i = 0 , Total;
   long Ticket, OldTicket = 0 , PosID, Magic, Type;
   double OrderPrice = 0 ;

   HistorySelect ( 0 , TimeCurrent ());
   Total = HistoryOrdersTotal ();  

   for (i = 0 ; i < Total; i++) {
      Ticket = ( int ) HistoryOrderGetTicket (i);
      PosID  = HistoryOrderGetInteger (Ticket, ORDER_POSITION_ID );
      Magic  = HistoryOrderGetInteger (Ticket, ORDER_MAGIC );
      Type   = HistoryOrderGetInteger (Ticket, ORDER_TYPE );
      

       if (IsSell) {
         if ((PosID == PositionID) && (Magic == MagicNumber) && (Type == ORDER_TYPE_SELL )) {
             if (Ticket > OldTicket) {
                OrderPrice = HistoryOrderGetDouble (Ticket, ORDER_PRICE_OPEN );
                OldTicket = Ticket;
            }
         }
      }

       else {
         if ((PosID == PositionID) && (Magic == MagicNumber) && (Type == ORDER_TYPE_BUY )) {
             if (Ticket > OldTicket) {
                OrderPrice = HistoryOrderGetDouble (Ticket, ORDER_PRICE_OPEN );
                OldTicket = Ticket;
            }
         }
      }
   }

   if (!OrderPrice) {
         Print ( "Ошибка " , GetLastError ());
         Sleep ( 5000 );
   }
   return (OrderPrice);
}

오류 4753(주문을 찾을 수 없음)을 표시하고 데모에서 0을 반환합니다(테스터에서는 예상대로 모든 것을 반환함). 그리고 이것은 배치된 테스트 인쇄가 HistoryOrderGetDouble 처리에 도달하는 것으로 보이며 비어 있지 않은 티켓이 있음에도 불구하고 ...

 

예를 들어, 50개의 평가가 매주 $1인가요?

사유: