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

 
Zorian43 :
모두 좋은 저녁! 제가 글을 제대로 쓴건지 모르겠는데 잘못된 글이라면 죄송합니다. Android에 Metatrader 5를 설치할 때 데모 계정이 자동으로 생성되어 애플리케이션이 실행될 때마다 즉시 연결되었습니다. 이미 브로커로부터 다른 계정을 애플리케이션에 연결하려고 할 때 데모 계정의 비밀번호를 볼 수 있는 곳을 찾지 못했습니다. 결과적으로 "비밀번호 재설정"을 클릭한 후 데모에 연결할 수 없습니다. 이 계정에 대한 액세스를 복원할 수 있는 방법이 있는지 알려주실 수 있습니까?
아니요. 새 데모 계정을 엽니다.
 

안녕하세요!

CAccountInfo::MarginCheck() 메서드가 테스터에서 필요한 여백 0을 반환할 수 있는 이유를 알려주시겠습니까? 지정가 구매 주문 ORDER_TYPE_BUY_LIMIT 에 대해 호출된 경우에만 0을 반환합니다.

악기 Si-9.18 - MICEX의 달러 선물.

테스트 프로젝트에서 테스터의 다음 호출은 0이 아니라 90을 제공합니다. 작은 값은 완전히 그럴듯해 보입니다.

 ENUM_ORDER_TYPE      orderType   = NULL ;
uint                 orderVolume = 1 ;
double               orderPrice  = gvTick.last;
double marginRequired = 0 ;

orderType       = ORDER_TYPE_BUY_LIMIT ;
marginRequired  = gnCAccountInfo.MarginCheck( gsIns, orderType, orderVolume, orderPrice);
Print ( "  Требуемая маржа " , marginRequired);
 로그 출력:
2018.09.01 13:38:56.040 2018.06.13 12:10:00 요구여백 90.0

 
rel18 :

안녕하세요!

CAccountInfo::MarginCheck() 메서드가 테스터에서 필요한 여백 0을 반환할 수 있는 이유를 알려주시겠습니까? 지정가 구매 주문 ORDER_TYPE_BUY_LIMIT 에 대해 호출된 경우에만 0을 반환합니다.

악기 Si-9.18 - MICEX의 달러 선물.

테스트 프로젝트에서 테스터의 다음 호출은 0이 아니라 90을 제공합니다. 작은 값은 완전히 그럴듯해 보입니다.

물어보기만 하면 되기 때문에 의심스럽습니다.

ORDER_TYPE_BUY

시장 매수 주문

ORDER_TYPE_SELL

시장 매도 주문

 
Vladimir Karputov :

물어보기만 하면 되기 때문에 의심스럽습니다.

ORDER_TYPE_BUY

시장 매수 주문

ORDER_TYPE_SELL

시장 매도 주문

다음은 동일한 예에 대해 테스터에서 매수 지정가 주문을 실행한 결과입니다. 90의 마진은 매우 작습니다. 실제로 발생합니까?


이제 테스터에서 여백이 0이 되었습니다.



모든 백테스트는 실제 계정을 사용하여 수행되었습니다.
 

표시기가 작동을 멈췄습니다. 컴파일을 도와주세요.
고맙습니다.

파일:
VP-Range-v6.mq5  44 kb
VP-v6.mq5  42 kb
 
rel18 :

다음은 동일한 예에 대해 테스터에서 매수 지정가 주문을 실행한 결과입니다. 90의 마진은 매우 작습니다. 실제로 발생합니까?


데모 계정이 아닐까요? 같은 브로커와 함께 실생활에서 사용해 보세요.

 
Aliaksei Karalkou :

표시기가 작동을 멈췄습니다. 컴파일을 도와주세요.
고맙습니다.

1861 빌드 이후 내장 함수 iBarShift 가 있으므로 사용자 정의 함수로 사용할 수 없습니다. 함수의 이름을 바꿉니다.

 

안녕하세요! 문제를 해결하는 데 도움이 됩니다. " PERIOD_M1 " " PERIOD_M2 " " PERIOD_M3 " 형식 의 문자열 유형 값이 있습니다. 이 값을 ENUM_TIMEFRAMES 유형의 값(각각 PERIOD_M1, PERIOD_M2, PERIOD_M3 등)으로 바꿔야 합니다.

아래의 예에서는 모든 것이 괜찮지만 switch 문 에서 문자열 변수를 사용할 수 없습니다. 어떻게 해야 합니까? if....else 구문만 사용하는 것이 가능하지만 더 우아한 방법이 있다고 생각합니다. 어떤 제안이 있습니까? 고맙습니다!

 //+------------------------------------------------------------------+
//| Преобразует строку в таймфрейм                                   |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES StringToTimeframe( string timeframe)
  {
   ENUM_TIMEFRAMES tfr= Period ();
   switch (timeframe) 
     {
       case "M1"   : tfr= PERIOD_M5 ;   break ;
       case "M2"   : tfr= PERIOD_M6 ;   break ;
       case "M3"   : tfr= PERIOD_M5 ;   break ;
      }
//---
   return (tfr);
  }
 
Tango_X :

안녕하세요! 문제를 해결하는 데 도움이 됩니다. " PERIOD_M1 " " PERIOD_M2 " " PERIOD_M3 " 형식 의 문자열 유형 값이 있습니다. 이 값을 ENUM_TIMEFRAMES 유형의 값(각각 PERIOD_M1, PERIOD_M2, PERIOD_M3 등)으로 바꿔야 합니다.

아래의 예에서는 모든 것이 괜찮지만 switch 문 에서 문자열 변수를 사용할 수 없습니다. 어떻게 해야 합니까? if....else 구문만 사용하는 것이 가능하지만 더 우아한 방법이 있다고 생각합니다. 어떤 제안이 있습니까? 고맙습니다!

if() 구문 사용

 
Tango_X :

안녕하세요! 문제를 해결하는 데 도움이 됩니다. " PERIOD_M1 " " PERIOD_M2 " " PERIOD_M3 " 형식 의 문자열 유형 값이 있습니다. 이 값을 ENUM_TIMEFRAMES 유형의 값(각각 PERIOD_M1, PERIOD_M2, PERIOD_M3 등)으로 바꿔야 합니다.

아래의 예에서는 모든 것이 괜찮지만 switch 문 에서 문자열 변수를 사용할 수 없습니다. 어떻게 해야 합니까? if....else 구문만 사용하는 것이 가능하지만 더 우아한 방법이 있다고 생각합니다. 어떤 제안이 있습니까? 고맙습니다!

 //+------------------------------------------------------------------+
//| Преобразует строку в таймфрейм                                   |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES StringToTimeframe( string timeframe)
  {
   return
     (
      timeframe == "M1"    ?   PERIOD_M1   :
      timeframe == "M2"    ?   PERIOD_M2   :
      timeframe == "M3"    ?   PERIOD_M3   :
      timeframe == "M4"    ?   PERIOD_M4   :
      timeframe == "M5"    ?   PERIOD_M5   :
      timeframe == "M6"    ?   PERIOD_M6   :
      timeframe == "M10"   ?   PERIOD_M10 :
      timeframe == "M12"   ?   PERIOD_M12 :
      timeframe == "M15"   ?   PERIOD_M15 :
      timeframe == "M20"   ?   PERIOD_M20 :
      timeframe == "M30"   ?   PERIOD_M30 :
      timeframe == "H1"    ?   PERIOD_H1   :
      timeframe == "H2"    ?   PERIOD_H2   :
      timeframe == "H3"    ?   PERIOD_H3   :
      timeframe == "H4"    ?   PERIOD_H4   :
      timeframe == "H6"    ?   PERIOD_H6   :
      timeframe == "H8"    ?   PERIOD_H8   :
      timeframe == "H12"   ?   PERIOD_H12 :
      timeframe == "D1"    ?   PERIOD_D1   :
      timeframe == "W1"    ?   PERIOD_W1   :
      timeframe == "MN1"   ?   PERIOD_MN1 : 
       PERIOD_CURRENT
     );
  }
//+------------------------------------------------------------------+
사유: