MQL5에서 함께 배우고 쓰기 - 페이지 36

 

이렇게 상세한 답변 감사드리고, 문서를 공부할 때 조급하고 부주의한 점 사과드립니다. 답변은 실제로 OnCalculate 기능 설명에 포함되어 있었습니다.

분명히 나는 경험을 얻는 과정을 너무 빨리 강요하기로 결정하고 OnInit 및 OnCalculate에 대한 설명 공부를 건너 뛰었습니다.

Yedelkin :

이 행이 귀하의 질문에 답합니까?

메타드라이버 :

이 경우 이러한 값을 올바르게 계산할 수 없습니다(계산할 내역이 충분하지 않음). 따라서 어리석게도 0 값이 할당됩니다.

// 적절한 입력을 제공하고 싶지만 큰 차이는 없습니다.

질문을 잘못 제기했습니다 (나는 주석에 같은 것을 줄에 썼고 0 값 할당이 가능하다는 것을 이해했습니다). 의역하겠습니다

Profi_R :

출력물에 표시되고 ExtLineBuffer의 0이 아닌이 index limit-1에서 index Rates_total-1로 할당되고 차트에서 표시기가 전체 공간에 그려지는 것을 봅니다. hmm, 여기서 값 할당 ( 0이 아닌 ) 0에서 limit- 1까지의 간격으로 표시기 버퍼로 ???

그것들이 계산될 수 없고 의미가 없다는 사실은 처음부터 분명합니다. 나는 0 bar에서 단순 평균(지표)의 값이 최고 가격 값(항상 그런 것은 아님)과 같으며 처음에는 문제가 차트에 표시되고 기록에 저장된 막대의 수에 있다고 결정했습니다. 이 설정 옵션을 무제한으로 전환했는데 결과가 변경되지 않았으며 표시기가 첫 번째(왼쪽) 제한 막대에 표시되고 그 값이 0과 다릅니다.
 
Profi_R :

이렇게 상세한 답변 감사드리고, 문서를 공부할 때 조급하고 부주의한 점 사과드립니다. 답변은 실제로 OnCalculate 기능 설명에 포함되어 있었습니다.

분명히 나는 경험을 얻는 과정을 너무 빨리 강요하기로 결정하고 OnInit 및 OnCalculate에 대한 설명 공부를 건너 뛰었습니다.

확인.

의역하겠습니다

그것들이 계산될 수 없고 의미가 없다는 사실은 처음부터 분명합니다. 나는 0 bar에서 단순 평균(지표)의 값이 최고 가격 값(항상 그런 것은 아님)과 같으며 처음에는 문제가 차트에 표시되고 기록에 저장된 막대의 수에 있다고 결정했습니다. 이 설정 옵션을 무제한으로 전환했는데 결과가 변경되지 않았으며 표시기가 첫 번째(왼쪽) 제한 막대에 표시되고 그 값이 0과 다릅니다.

확인했습니다. 저에게도 이런 모습입니다. 설정의 역사 비용은 100,000 바, 무제한 휴식을 확인하십시오, 나는 이미 그것을 믿습니다. :)

"이게 어떻게 가능한가"라는 질문에 대한 답이 없습니다. 개발자에게 물어보는 것이 가장 좋습니다(예: "오류, 버그, 질문" 스레드. 개발자는 매우 정기적으로 방문).

나는 여기에 기적이 일어나지 않을 것이라고 확신합니다. 아마도 터미널이 요청된 전체 기록을 표시하지 않고 가장 왼쪽에 있는 (프로그래밍 방식으로) 사용 가능한 막대가 뒤에 남아 있을 가능성이 큽니다. :)

 
Profi_R :
그것들이 계산될 수 없고 의미가 없다는 사실은 처음부터 분명합니다. 나는 0 bar에서 단순 평균(지표)의 값이 최고 가격 값(항상 그런 것은 아님)과 같으며 처음에는 문제가 차트에 표시되고 기록에 저장된 막대의 수에 있다고 결정했습니다. 이 설정 옵션을 무제한으로 전환했는데 결과가 변경되지 않았으며 표시기가 첫 번째(왼쪽) 제한 막대에 표시되고 그 값이 0과 다릅니다.
과학적 찌르기 방법: ( i= 0 ;i<limit- 1 ;i++) ExtLineBuffer[i]= 0.0 ; 0을 1로 바꾸고 정확히 어디에 나타나는지 확인하십시오. 이전 결과와 비교하십시오.
 
MetaDriver :

나는 여기에 기적이 일어나지 않을 것이라고 확신합니다. 아마도 터미널이 요청된 전체 기록을 표시하지 않고 가장 왼쪽에 있는 (프로그래밍 방식으로) 사용 가능한 막대가 뒤에 남아 있을 가능성이 큽니다. :)

네, 결과적으로 히스토리의 전체 깊이가 계산되었습니다(차트의 디스플레이에 연결되지 않고). 차트에 표시된 깊이를 켜는 것만으로는 충분하지 않습니다. 터미널을 다시 시작하거나 다시 시작해야 합니다. 차트를 열면 이 옵션이 적용됩니다. 이제 이 코드 조각을 완전히 이해할 수 있습니다.
Документация по MQL5: Операции с графиками / ChartOpen
Документация по MQL5: Операции с графиками / ChartOpen
  • www.mql5.com
Операции с графиками / ChartOpen - Документация по MQL5
 

일반적으로 MQL5에서 표시기를 작성하는 방법 및 MQL5의 표시기에서 표시기 문서를 시작하는 것이 좋습니다 .

또한 포럼의 해당 섹션에는 이러한 질문에 답하도록 설계된 특수 스레드가 있습니다. 표시기에 대해 알아야 할 사항

 
Rosh :

일반적으로 MQL5에서 표시기를 작성하는 방법 및 MQL5의 표시기에서 표시기 문서를 시작하는 것이 좋습니다 .

또한 포럼의 해당 섹션에는 이러한 질문에 답하도록 설계된 특수 스레드가 있습니다. 표시기에 대해 알아야 할 사항

))))) 건강하게 당신을 만나서 기쁩니다. 내 불꽃을 용서하십시오. 감사합니다 배우겠습니다)
 
5-ke에서 만나서 반갑습니다 :)
 
좋은 저녁이에요! 거래 요청(MqlTradeResult) 결과의 구조를 조사하고 있습니다. Print ( 999999999999999999 );
 OrderSend (request,result);

       int Error= GetLastError (); ResetLastError ();
         printf ( "Error %i " ,Error);
      
         Print (i);
        
       Print ( 999999999999999999 ); 
         uint re= result.retcode;
         Print ( "Код результата операции" );
         Print ( re);  
       // int re=
       ulong   ru= result.   deal;
         Print ( "Тикет сделки, если она совершена" );
       Print ( ru); 
       
         ru= result.  order;
         Print ( "Тикет ордера, если он выставлен" );
         Print ( ru);
        
         double     rd= result. volume;
         Print ( "Объем сделки, подтверждённый брокером" ); 
         Print ( rd); 
       
          rd= result.  price;  
         Print ( "Цена в сделке, подтверждённая брокером" );  
       Print ( rd);
      
           rd= result. bid;     
       Print ( "Текущая рыночная цена предложения (цены реквота)" ); 
         Print ( rd); 
      
            rd= result. ask;   
         Print ( "Текущая рыночная цена спроса (цены реквота)" ); 
         Print ( rd); 
      
           string     rs= result. comment;  
           Print ( "Комментарий брокера к операции (по умолчанию заполняется расшифровкой)" ); 
         Print ( re);
      
         //    re= result.  request_id;   
       //    Print( "Идентификатор запроса, устанавливается терминалом при отправке "); 
       //  Print( re);
         
          
                   
       Print ( 999999999999999999 ); 
많은 값의 경우 인쇄물에 0이 표시됩니다. 이게 뭡니까!
 
Dimka-novitsek :
좋은 저녁이에요! 거래 요청(MqlTradeResult) 결과의 구조를 조사하고 있습니다. Print ( 999999999999999999 ); 많은 값의 경우 인쇄물에 0이 표시됩니다. 이게 뭡니까!

왜 우리는 이러한 라인을 작성합니까? 왜 결과가 분석되지 않습니까?

 uint re= result.retcode;
         Print ( "Код результата операции" );
         Print ( re);  

0에 관해서: 어떤 0이 분노를 유발합니까?

 
고맙습니다! 현재 입찰 및 매도호가는 0입니다. 딜 티켓. 티켓 주문 . 바로 지금, 아빠가 여기 있습니다.
Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - Документация по MQL5