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

 
Vasiliy Sokolov :

템플릿 방식입니다. 매개변수의 유형은 이 대괄호에 전달된 유형에 따라 일치합니다. 유형은 프로그램 컴파일 단계에서 정적으로 결정됩니다. "함수 및 클래스 템플릿"에서 이에 대한 자세한 내용을 읽을 수 있습니다. https://www.mql5.com/en/docs/basis/oop/templates

고맙습니다!

 
Artyom Trishkin :
  1. 새 틱이 생성되었습니다. 조건이 충족되었습니다. 예를 들어 이 틱에 패턴 표시가 그려지고 경고가 표시됩니다.
    1. 다음 두 단락에서 이 조건을 처리하기 위한 플래그를 설정하여 조건을 수신하는 함수가 필요합니다.
    2. 패턴 그리기 기능이 필요합니다
    3. 경고를 보내는 기능이 필요함(꼭 기능은 아님 - 경고 전용, 이메일 전용, 푸시 전용 표준 기능이 있음)
  2. 위의 조건을 충족한 후에는 다음과 같은 시간이 될 때까지 위의 동작의 동일한 동작을 여러 번 반복하는 실행을 중지해야 합니다.
    1. 1번 지점에서 위의 세 가지 작업이 이미 완료되었다는 플래그가 있으면 아무 것도 하지 않고 - 3번 지점으로 이동하고, 그렇지 않으면 1번 지점으로 이동합니다.
  3. 막대가 다음 막대로 변경되는 즉시 위에서 설명한 다음 시간까지 조건을 다시 시작합니다.
    1. 새로운 막대 감지 기능이 필요합니다. 새로운 막대가 결정되는 즉시 1번 포인트로 이동합니다. 그렇지 않으면 2 단계로 이동합니다.

감사합니다 노력하겠습니다

 
TimeLocal 및 TimeCurrent 함수의 아날로그가 밀리초 단위로 정확한 시간을 제공하는지 알려주십시오.
 

안녕하세요!

조언자는 다음과 같이 경고합니다.

초기화되지 않은 변수 'hv1' test_gme.mq5 사용 가능 154 23
오류 0개, 경고 14개, 컴파일 시간: 1306밀리초 1 15

코드는 다음과 같습니다. 무엇이 잘못되었나요?

 //============================================================================================================
   int GetSignal ( string sb)
  {
     int     dig= int ( SymbolInfoInteger (pos. Symbol (), SYMBOL_DIGITS ));
   double vpoint  = SymbolInfoDouble (sb, SYMBOL_POINT );
   double op1,op2,op3,op4,op5,op6,op7,
              cl1,
              hi1,hi2,hi3,hi4,hi5,hi6,hi7,
              lo1,lo2,lo3,lo4,lo5,lo6,lo7;
 double hv1,hv2,hv3,hv4,hv5,hv6,hv7;
 double gr1,gr2,gr3,gr4,gr5,gr6,gr7;
 //pp=NormalizeDouble(pp, dg);
 // op=NormalizeDouble(pos.PriceOpen() , dg);
  hv1= NormalizeDouble (hv1, dig);
  hv2= NormalizeDouble (hv2, dig);
  hv3= NormalizeDouble (hv3, dig);
  hv4= NormalizeDouble (hv4, dig);
  hv5= NormalizeDouble (hv5, dig);
  hv6= NormalizeDouble (hv6, dig);
  hv7= NormalizeDouble (hv7, dig);
  gr1= NormalizeDouble (gr1, dig);
  gr2= NormalizeDouble (gr2, dig);
  gr3= NormalizeDouble (gr3, dig);
  gr4= NormalizeDouble (gr4, dig);
  gr5= NormalizeDouble (gr5, dig);
  gr6= NormalizeDouble (gr6, dig);
  gr7= NormalizeDouble (gr7, dig);
   //=================================================================================================
       double ma_sred1 = NormalizeDouble ( iMA (sb, PERIOD_M5 ,sr, 0 , MODE_SMA , PRICE_CLOSE ),dig);       //for M5
   //==============================================================================================
           op1= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 1 ),dig);       //m5
           op2= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 2 ),dig);       //m10 sintez
           op3= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 3 ),dig);     //m15 si
           op4= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 4 ),dig);     //m20 si
           op5= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 5 ),dig);   //m25 si
           op6= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 6 ),dig);   //m30 si
           op7= NormalizeDouble ( iOpen (sb, PERIOD_M5 , 7 ),dig); //m35 si
 //==================================================================================
       cl1= NormalizeDouble ( iClose (sb, PERIOD_M5 , 1 ),dig);     //m5
 //=================================================================================   
   //   hay1=NormalizeDouble(iHigh(sb,PERIOD_M5,30),dig);
    
     //   niz1=NormalizeDouble(iLow(sb,PERIOD_M5,30),dig);
       
 //======================================================================================
            lo1= NormalizeDouble ( iLow (sb, PERIOD_M5 , 1 ),dig);                                       //m5
            lo2= NormalizeDouble ( MathMin ( iLow (sb, PERIOD_M5 , 1 ), iLow (sb, PERIOD_M5 , 2 )),dig);   //m10
            lo3= NormalizeDouble ( MathMin (lo2, iLow (sb, PERIOD_M5 , 3 )),dig);                       //m15 
            lo4= NormalizeDouble ( MathMin (lo3, iLow (sb, PERIOD_M5 , 4 )),dig);                       //m20
            lo5= NormalizeDouble ( MathMin (lo4, iLow (sb, PERIOD_M5 , 5 )),dig);                     //m25
            lo6= NormalizeDouble ( MathMin (lo5, iLow (sb, PERIOD_M5 , 6 )),dig);                     //m30
            lo7= NormalizeDouble ( MathMin (lo6, iLow (sb, PERIOD_M5 , 7 )),dig);                   //m35
      
 //=========================================================================================================
            hi1= NormalizeDouble ( iHigh (sb, PERIOD_M5 , 1 ),dig);                                       //m5
            hi2= NormalizeDouble ( MathMax ( iHigh (sb, PERIOD_M5 , 1 ), iHigh (sb, PERIOD_M5 , 2 )),dig);   //m10 sint
            hi3= NormalizeDouble ( MathMax (hi2, iHigh (sb, PERIOD_M5 , 3 )),dig);                         //m15 sint
            hi4= NormalizeDouble ( MathMax (hi3, iHigh (sb, PERIOD_M5 , 4 )),dig);                       //m20 sint
            hi5= NormalizeDouble ( MathMax (hi4, iHigh (sb, PERIOD_M5 , 5 )),dig);                       //m25 sint
            hi6= NormalizeDouble ( MathMax (hi5, iHigh (sb, PERIOD_M5 , 6 )),dig);                     //m30 sint
            hi7= NormalizeDouble ( MathMax (hi6, iHigh (sb, PERIOD_M5 , 7 )),dig);                     //m35 sint
 
fregat555 :

안녕하세요!

조언자는 다음과 같이 경고합니다.

초기화되지 않은 변수 'hv1' test_gme.mq5 사용 가능 154 23
오류 0개, 경고 14개, 컴파일 시간: 1306밀리초 1 15

코드는 다음과 같습니다. 무엇이 잘못되었나요?

추가 =0 .

 double hv1= 0 ,hv2= 0 ,hv3= 0 ...
 
감사하다!
 

모든 컴파일이 정상이면 오류 및 경고가 없습니다. 하지만

테스트하면 다음이 생성됩니다.

2018.12.01 17:53:00.074 0:00:00.000에서 "OnInit 실패" 오류와 함께 코어 4 유전자 통과(0, 509) 테스트

 
작동하는 것 같습니다. 감사합니다.
 
지정된 MQL5\Files 디렉토리에서 디렉토리 목록을 얻는 방법을 알려주실 수 있습니까?
 
Aleksey Vyazmikin :
지정된 MQL5\Files 디렉토리에서 디렉토리 목록을 얻는 방법을 알려주실 수 있습니까?
트레이더를 위한 LifeHack 기사의 예: 백테스트 1회도 좋지만 4회가 더 좋습니다 .
사유: