찻주전자의 질문 - 페이지 24

 
tol64 :
간단한 예를 들어도 될까요?
경고가 발행된 라인의 코드를 표시합니다. 그리고 어떤 유형이 욕하는지
 
sergeev :
경고가 발행된 라인의 코드를 표시합니다. 그리고 어떤 유형이 욕하는지

 void OnStart ()
  {
//--- выведем всю информацию, доступную из функции AccountInfoInteger()
   printf ( "ACCOUNT_LOGIN =  %d" , AccountInfoInteger ( ACCOUNT_LOGIN ));
   printf ( "ACCOUNT_LEVERAGE =  %d" , AccountInfoInteger ( ACCOUNT_LEVERAGE ));
   bool thisAccountTradeAllowed= AccountInfoInteger ( ACCOUNT_TRADE_ALLOWED );
   bool EATradeAllowed= AccountInfoInteger ( ACCOUNT_TRADE_EXPERT );

   ENUM_ACCOUNT_TRADE_MODE tradeMode= AccountInfoInteger ( ACCOUNT_TRADE_MODE );           // На этой строке: Строка 25 Столбец 40 и Столбец 78
   ENUM_ACCOUNT_STOPOUT_MODE stopOutMode= AccountInfoInteger ( ACCOUNT_MARGIN_SO_MODE );   // И на этой     : Строка 26 Столбец 44 и Столбец 86

...
코드에서 강조 표시되고 주석 처리되었습니다.
 
tol64 :

코드에서 강조 표시되고 주석 처리되었습니다.

   ENUM_ACCOUNT_TRADE_MODE tradeMode= ( ENUM_ACCOUNT_TRADE_MODE )AccountInfoInteger ( ACCOUNT_TRADE_MODE );
   ENUM_ACCOUNT_STOPOUT_MODE stopOutMode= ( ENUM_ACCOUNT_STOPOUT_MODE )AccountInfoInteger ( ACCOUNT_MARGIN_SO_MODE );

 
uncleVic :

고맙습니다. 스톱아웃 레벨 모드 설정에 대해서도 묻고 싶습니다. 이 모드는 무역 서버에서 설정한 대로만 알 수 있습니까 아니면 변경할 수 있습니까?
 
tol64 :
고맙습니다. 스톱아웃 레벨 모드 설정에 대해서도 묻고 싶습니다. 이 모드는 무역 서버에서 설정한 것이므로 이 모드만 알 수 있습니까 아니면 변경할 수 있습니까?
중지는 읽기 전용이므로 설정할 수 없습니다. 그리고 일반적으로 AccountInfo...() 함수가 작동하는 모든 것은 읽기 전용입니다.
 
tol64 :

코드에서 강조 표시되고 주석 처리되었습니다.

덕분에 예제가 수정되었습니다. 이제 컴파일러는 이 예제에 대해 경고를 발행하지 않습니다.
 

특정 데이터/속성을 읽어야 할 때마다 uncleVic 이 표시하는 옵션을 사용해야 합니다. https://www.mql5.com/en/forum/3775/page24#comment_84143

예를 들어, 언뜻 보기에 논리적인 작업을 수행하면(그리고 mql4 에서 전환하는 데 익숙한 경우) 컴파일러에서 경고를 발행합니다.

   int val_x_dist;
   int val_y_dist;
   
   Create_Label( 0 , "INFO" , "//-------------------- INFORMATION --------------------//" , ANCHOR_RIGHT_UPPER , CORNER_RIGHT_UPPER ,font,font_sz,fnt_clr_hdr, 10 , 20 );
   
   val_x_dist = ObjectGetInteger ( 0 , "INFO" , OBJPROP_XDISTANCE , 0 );
   val_y_dist = ObjectGetInteger ( 0 , "INFO" , OBJPROP_YDISTANCE , 0 );

컴파일러 경고를 제거하려면 다음 중 하나를 수행해야 합니다.

   int val_x_dist;
   int val_y_dist;
   
   Create_Label( 0 , "INFO" , "//-------------------- INFORMATION --------------------//" , ANCHOR_RIGHT_UPPER , CORNER_RIGHT_UPPER ,font,font_sz,fnt_clr_hdr, 10 , 20 );
   
   val_x_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_XDISTANCE , 0 );
   val_y_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_YDISTANCE , 0 );

또는 삼촌이 시연한 방법, 즉 .:

   Create_Label( 0 , "INFO" , "//-------------------- INFORMATION --------------------//" , ANCHOR_RIGHT_UPPER , CORNER_RIGHT_UPPER ,font,font_sz,fnt_clr_hdr, 10 , 20 );
   
   ENUM_OBJECT_PROPERTY_INTEGER val_x_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_XDISTANCE , 0 );
   ENUM_OBJECT_PROPERTY_INTEGER val_y_dist = ( ENUM_OBJECT_PROPERTY_INTEGER ) ObjectGetInteger ( 0 , "INFO" , OBJPROP_YDISTANCE , 0 );

제가 제대로 이해한건가요?

 
AUser :
난수 생성기 가 어떻게 작동하는지 알려주고 짝수/홀수를 확인하는 기능이 있습니까? 생성기에 대해서는 찻주전자가 이해할 수 있는 언어로 설명하는 것이 바람직합니다)) 도움말을 이해하지 못했습니다))

다음은 이 또는 그 기능이 무엇을 하는지 알아내는 가장 간단한 예입니다. 스크립트를 실행하고 로그를 보십시오.

 void OnStart ()
  {
   int x;
   
   x = MathRand ();
   
   Print ( "x : " ,x);
  }
 
#define Vrsn "0.01a"
#property version   Vrsn

ChartSaveTemplate(Chrt_Smbl_ID_Crrnt,Vrsn);

템플릿은 0.tpl로 저장됩니다.

 #define Vrsn "001a"

템플릿은 001a .tpl로 저장됩니다. 실제로 필요한 것입니다.

질문: 점을 미리 제거하는 방법은 무엇입니까?

upgr이 아마도 더 정확할 것입니다. 문자열에서 문자를 찾는 방법은 무엇입니까?

upgr과 여전히 neponyatka. 만약에

 #define Vrsn "0.01a"

요점이 있습니다. 그러면 잘린 후의 것뿐만 아니라 평평한 것도 있습니다.

ChartSaveTemplate(Chrt_Smbl_ID_Crrnt,Vrsn+Smbl_Crrnt);
왜요? 아마도 StringToInteger 가 컴파일될 때 발생한다면..
 
Silent :

템플릿은 0.tpl로 저장됩니다.

템플릿은 001a .tpl로 저장됩니다. 실제로 필요한 것입니다.

질문: 점을 미리 제거하는 방법은 무엇입니까?

upgr이 아마도 더 정확할 것입니다. 문자열에서 문자를 찾는 방법은 무엇입니까?

upgr과 여전히 neponyatka. 만약에

요점이 있습니다. 그러면 잘린 후의 것뿐만 아니라 평평한 것도 있습니다.

왜요? 아마도 StringToInteger 가 컴파일될 때 발생한다면..

디스크에 기록되는 모든 내용은 가비지 및 맬웨어가 있는지 반드시 확인합니다.

템플릿을 작성하는 경우 템플릿은 사용자가 원하는 것과 상관없이 tpl 파일이어야 합니다. 그래서 이름에서 사용자 지정 점이 잘립니다.