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

 
secret :

답변 감사합니다. 설명서와 귀하의 예제를 모두 살펴보았지만 여전히 MT4에서 OrderClosePrice()와 유사한 매개변수를 얻는 방법을 찾지 못했습니다.

ENUM_DEAL_ENTRY == DEAL_ENTRY_OUT && ENUM_DEAL_TYPE == DEAL_TYPE_SELL ---인 경우 BUY 위치가 마감되고 따라서 DEAL_PRICE가 마감 가격입니다.

 
secret :

답변 감사합니다. 설명서와 귀하의 예제를 모두 살펴보았지만 여전히 MT4에서 OrderClosePrice()와 유사한 매개변수를 얻는 방법을 찾지 못했습니다.

직접적인 유추는 없습니다. 포지션은 거래로 구성됩니다. 특정 포지션에 대한 정확한 데이터를 원하면 먼저 거래 내역에서 포지션을 다시 수집해야 합니다.

따라서 "거래"라는 개념으로 작업하는 것이 좋습니다.


일반적으로 구현은 "왜?"라는 질문에 대한 대답에 크게 의존합니다. 즉, 먼저 원하는 것과 그 이유를 정확히 설명하십시오.

 
secret :

주문의 종가(거래, 포지션 - 무엇이든)를 얻는 방법은 무엇입니까?

포럼을 검색했는데 찾지 못했습니다.

https://www.mql5.com/ru/forum/162461

Как определить последнюю цену закрытия ордера (MQL5)?
Как определить последнюю цену закрытия ордера (MQL5)?
  • 2016.12.05
  • www.mql5.com
Подскажите как определить последнюю цену закрытия ордера (MQL5)? В MQL4 было просто OrderClosePrice...
 
Igor Makanu :

또는 https://www.mql5.com/en/code/16006 을 엽니다.

@fxsaber 의 구현을 참조하십시오 .

라이브러리의 다른 모든 부분에 대한 의존도가 높기 때문에 구현을 꺼내는 것은 비현실적입니다.

 

친구 여러분, 간단해 보이는 문제를 해결하는 방법을 알려주십시오. 코드 조각:

 double stavkariska;

//ставка риска по инструментам

if ( StringCompare ( _Symbol , "VTBR" )== 0 || StringCompare ( _Symbol , "LKOH" )== 0 )

   { double stavkariska= 0.3 ;}

else double stavkariska= 1 ;

   int lot= int (depozit/(d*stoimkontr)*stavkariska); 

컴파일러 경고:

'stavkariska' 선언은 25행에서 지역 선언을 숨깁니다. 스크립트.mq5 32 12

초기화되지 않은 변수 'stavkariska' 사용 가능 스크립트.mq5 33 39

경고 없이 컴파일되도록 문제를 올바르게 해결하는 방법은 무엇입니까?


Компиляция - Разработка программ - MetaTrader 5
Компиляция - Разработка программ - MetaTrader 5
  • www.metatrader5.com
Компиляция — это процесс перевода исходного кода MQL4/MQL5-программы на машинный язык. Ее результатом является создание исполняемого файла программы (*EX4 или *.EX5), который может быть запущен в торговой платформе. Скомпилировать можно любой файл (*.MQ4, *.MQ5 или *.MQH), однако исполняемый файл (*.EX4 или *.EX5) может быть получен только в...
 
TrueSam :

친구 여러분, 간단해 보이는 문제를 해결하는 방법을 알려주십시오. 코드 조각:

컴파일러 경고:

'stavkariska' 선언은 25행에서 지역 선언을 숨깁니다. 스크립트.mq5 32 12

초기화되지 않은 변수 'stavkariska' 사용 가능 스크립트.mq5 33 39

경고 없이 컴파일되도록 문제를 올바르게 해결하는 방법은 무엇입니까?


번역기 사용:

декларация 'stavkariska' скрывает локальную декларацию в строке 25 скрипт.mq5 32 12

возможно использование неинициализированной переменной 'stavkariska' скрипт.mq5 33 39


즉, 더 신중하게 변수를 선언하십시오. 동일한 범위에서 동일한 변수를 선언하지 마십시오.

변수를 선언할 때는 바로 초기화하는 방법에 익숙해 져야 합니다.

   double StavkaRiska = 0.0 ; // ставка риска по инструментам

   if ( StringCompare ( _Symbol , "VTBR" )== 0 || StringCompare ( _Symbol , "LKOH" )== 0 )
     double StavkaRiska= 0.3 ;
   else StavkaRiska= 1 ;

   int lot= int (depozit/(d*stoimkontr)*StavkaRiska);
 
Vladimir Karputov :

번역기 사용:


즉, 더 신중하게 변수를 선언하십시오. 동일한 범위에서 동일한 변수를 선언하지 마십시오.

변수를 선언할 때는 바로 초기화하는 방법에 익숙해 져야 합니다.

문제는 If else 문에서 다른 변수를 선언할 때 다시 선언해야 한다는 것입니다. 그렇지 않으면 오류 "'stavkariska1' - 선언되지 않은 식별자입니다. 초보자에게는 악순환입니다. 아마도 선택을 구현하는 다른 방법이 있을 것입니다. ?
 
TrueSam :
문제는 If else 문에서 다른 변수를 선언할 때 다시 선언해야 한다는 것입니다. 그렇지 않으면 오류 "'stavkariska1' - 선언되지 않은 식별자입니다. 초보자에게는 악순환입니다. 아마도 선택을 구현하는 다른 방법이 있을 것입니다. ?

바라바쉬카도 급하게 실수를 저질렀다.

   double StavkaRiska= 0.0 ; // ставка риска по инструментам

   if ( StringCompare ( _Symbol , "VTBR" )== 0 || StringCompare ( _Symbol , "LKOH" )== 0 )
     double StavkaRiska= 0.3 ;
   else StavkaRiska= 1 ;

   int lot= int (depozit/(d*stoimkontr)*StavkaRiska);

중복으로 강조 표시됩니다. 다시 선언하지 않으면 정상적으로 작동해야 합니다.

 
Alexey Viktorov :

바라바쉬카도 급하게 실수를 저질렀다.

중복으로 강조 표시됩니다. 다시 선언하지 않으면 정상적으로 작동해야 합니다.

관심을 가져주셔서 감사합니다. 고백합니다. 복사 붙여넣기를 사용하여 브라우저에 직접 입력했습니다.

 
Alexey Viktorov :

바라바쉬카도 급하게 실수를 저질렀다.

중복으로 강조 표시됩니다. 다시 선언하지 않으면 정상적으로 작동해야 합니다.

정말 감사합니다! Grail이 작동했습니다 :)
사유: