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

 
Renat :

MetaEditor에서 언어를 변경한 후 다시 로드하셨습니까?

확인하겠습니다.

모든 것이 잘 작동하고 mql5_russian.chm을 로드하고 MetaEditor-e에 러시아어를 넣고 재부팅하고 도움말이 러시아어로 나타납니다.
 

위치를 확인하기 위해 다음 코드를 작성했습니다.

CPositionInfo myposition;

if (myposition.Select( _Symbol ))
{
   double Open_position= NormalizeDouble (myposition.PriceOpen(), _Digits );
   double SL_position  = NormalizeDouble (myposition.StopLoss(), _Digits );
   double TP_position  = NormalizeDouble (myposition.TakeProfit(), _Digits );
   Comment ( " Open_position=" ,Open_position, "\n" ,
           " SL_position=" ,SL_position, "\n" ,
           " TP_position=" ,TP_position);
}

그러나 어떤 이유로 주석 값은 소수점 이하 4자리로 나타납니다. _Digits 대신 5를 어쨌든 4자를 넣고 3-3자를 넣습니다.

 
paladin800 : 어떤 이유로 주석 값은 소수점 이하 4자리로 나타납니다. _Digits 대신 5를 어쨌든 4자를 입력하고 3 - 3자를 입력합니다.
그리고 myposition.PriceOpen()을 출력하면 무엇을 출력할까요?
 
paladin800 :

위치를 확인하기 위해 다음 코드를 작성했습니다.

그러나 어떤 이유로 주석 값은 소수점 이하 4자리로 나타납니다. _Digits 대신 5를 어쨌든 4자를 입력하고 3 - 3자를 입력합니다.

분명히 DoubleToString () 함수가 필요합니다.

 
paladin800 :

위치를 확인하기 위해 다음 코드를 작성했습니다.

그러나 어떤 이유로 주석 값은 소수점 이하 4자리로 나타납니다. _Digits 대신 5를 어쨌든 4자리로 입력하고 3 - 3자리를 입력합니다.


주석에서 분수의 출력 형식은 다음과 같습니다. double을 문자열 유형으로 변환하고 주석을 통해 출력합니다.
 
계정의 기초 잔액을 어떻게 결정할 수 있습니까? 계정의 총 이익에 따라 로트 크기를 설정하고 싶습니다. 그렇다면 이 초기 잔액을 결정하는 것이 더 정확한 방법은 무엇입니까?
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 
tor4en : 초기 계정 잔액 을 어떻게 확인할 수 있습니까? 계정의 총 이익에 따라 로트 크기를 설정하고 싶습니다. 그렇다면 이 초기 잔액을 결정하는 것이 더 정확한 방법은 무엇입니까?

보증금 보충에는 기록이 수반됩니다.

DEAL_ENTRY_STATE

상태 기록의 표시

이 방향으로 더 멀리보십시오.

 

myposition.Type()에 대해 혼란스럽습니다. 테스트를 위해 다음과 같이 했습니다.

CPositionInfo myposition;
// ---
string classtype= "no position" ;
string functype= "no position" ;

if ( PositionSelect ( _Symbol ))
{   // --- section SELL
   if (myposition.Type()== POSITION_TYPE_SELL )
       classtype= "SELL" ;
   if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_SELL )
       functype= "SELL" ;
   // --- section BUY
   if (myposition.Type()== POSITION_TYPE_BUY )
       classtype= "BUY" ;
   if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_BUY )
       functype= "BUY" ;
}
Comment ( "classtype=" ,classtype, ", functype=" ,functype);

시각화로 테스트할 때 결과는 다음과 같습니다.
1) 위치 없음: classtype=위치 없음, functype=위치 없음 // 그래야 하는 대로
2) 매도 포지션이 있습니다: classtype= BUY , functype=SELL // classtype 이 포지션의 방향을 잘못 결정했습니다.
3) 매수 포지션이 있습니다: classtype=BUY, functype=BUY // 그래야 하는 대로

if (PositionSelect(_Symbol)) 대신 if (myposition.Select(_Symbol)) 같은 결과를 넣으려고 했습니다. 판매 방향을 올바르게 결정하기 위해 myposition.Type()을 다른 방식으로 작성해야 합니까?

 
paladin800 :

myposition.Type()에 대해 혼란스럽습니다. 테스트를 위해 다음과 같이 했습니다.

시각화로 테스트할 때 결과는 다음과 같습니다.
1) 위치 없음: classtype=위치 없음, functype=위치 없음 // 그래야 하는 대로
2) 매도 포지션이 있습니다: classtype= BUY , functype=SELL // classtype 이 포지션의 방향을 잘못 결정했습니다.
3) 매수 포지션이 있습니다: classtype=BUY, functype=BUY // 그래야 하는 대로

if (PositionSelect(_Symbol)) 대신 if (myposition.Select(_Symbol)) 같은 결과를 넣으려고 했습니다. 판매 방향을 올바르게 결정하기 위해 myposition.Type()을 다른 방식으로 작성해야 합니까?

"X-ray" CPositionInfo 클래스를 자세히 살펴보면 Type() 메서드가 PositionType() 메서드와 달리 위치 유형을 반환하지 않는다는 것을 알 수 있습니다.

   CPositionInfo myposition;
// ---
   string classtype= "no position" ;
   string functype= "no position" ;

   if ( PositionSelect ( _Symbol ))
     {   // --- section SELL
       if (myposition.PositionType()== POSITION_TYPE_SELL )
         classtype= "SELL" ;
       if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_SELL )
         functype= "SELL" ;
       // --- section BUY
       if (myposition.PositionType()== POSITION_TYPE_BUY )
         classtype= "BUY" ;
       if ( PositionGetInteger ( POSITION_TYPE )== POSITION_TYPE_BUY )
         functype= "BUY" ;
     }
   Print ( "classtype=" ,classtype, ", functype=" ,functype);
  }
 
uncleVic :

"X-ray" CPositionInfo 클래스를 자세히 살펴보면 Type() 메서드가 PositionType() 메서드와 달리 위치 유형을 반환하지 않는다는 것을 알 수 있습니다.

매우 감사합니다. 그것은 당신의 힌트와 함께 작동했습니다! 전문가 고문을 작성할 때 표준 라이브러리의 거래 클래스를 사용하는 방법 기사를 참조했으며 "1.6 CPositionInfo 클래스" 섹션에 수정해야 할 수도 있는 myposition.Type()이 있습니다.