찻주전자의 질문 - 페이지 33 1...262728293031323334353637383940...277 새 코멘트 Anatoli Kazharski 2011.07.26 12:31 #321 Renat : 나>=0 고맙습니다. 내 입장에서는 부끄러운 일입니다.)) mql4에서 이 열거를 너무 많이 사용했고 그런 간단한 순간에 실수를 저질렀습니다. Anatoli Kazharski 2011.07.26 22:39 #322 위치를 선택할 수 없습니다. 예를 들어: double Stop_Loss = NormalizeDouble ( OrderGetDouble ( ORDER_SL ), _Digits ); double Open_Price = NormalizeDouble ( OrderGetDouble ( ORDER_PRICE_OPEN ), _Digits ); double Amount_Risk = 0.0 ; for (count = PositionsTotal ()- 1 ; count >= 0 ; count--) { if ( PositionSelect ( SymbolName (count, true ))) { int tp_pos; tp_pos = ( ENUM_ORDER_TYPE ) PositionGetInteger ( POSITION_TYPE ); if (tp_pos == ORDER_TYPE_BUY || tp_pos == ORDER_TYPE_SELL ) { Amount_Risk = MathAbs (Open_Price - Stop_Loss); Print ( "PositionTotal(): " , PositionsTotal (), " Amount_Risk: " ,Amount_Risk); } if ( GetLastError () != 0 ) Print (ErrorDescription( GetLastError ()), ", " , GetLastError ()); } } 로그 오류: 제대로 하는 방법? Документация по MQL5: Торговые функции / PositionSelect www.mql5.com Торговые функции / PositionSelect - Документация по MQL5 Rashid Umarov 2011.07.27 06:55 #323 tol64 : 위치를 선택할 수 없습니다. 예를 들어: 먼저 오류를 수정하고 주문 유형과 위치 유형을 혼동하지 마십시오. tp_pos = ( ENUM_POSITION_TYPE ) PositionGetInteger ( POSITION_TYPE ); Vladimir Kustikov 2011.07.27 07:42 #324 tol64 : 위치를 선택할 수 없습니다. 예를 들어: 로그 오류: 제대로 하는 방법? 어디서 실수 안했는지 물어보면 더 쉬울텐데.. 모든 것이 작동하려면 디자인이 if ( PositionSelect ( SymbolName (count, true ))) 는 다음으로 대체되어야 합니다. if ( PositionSelect ( PositionGetSymbol (개수))) ENUM_ORDER_TYPE과 혼동 하는 텍스트 아래로 ENUM_POSITION_TYPE Anatoli Kazharski 2011.07.27 11:28 #325 Rosh : 먼저 오류를 수정하고 주문 유형과 위치 유형을 혼동하지 마십시오. 블라딕스: 어디서 실수 안했는지 물어보면 더 쉬울텐데.. 내 정말 심각한 실수에 대해 감사하고 죄송합니다. 이것은 일시적인 현상이며 곧 이 오해가 지나갈 것입니다.)) Andrian22 2011.07.27 13:11 #326 이 문제를 해결하는 방법을 알려주십시오. 저는 두 대의 컴퓨터에서 MT5용 Expert Advisors, 라이브러리 및 지표를 개발합니다. 한 시스템에서 다른 시스템으로 개발 전송을 구성하는 가장 쉬운 방법은 무엇입니까? 자동 동기화를 사용하는 것이 좋습니다. 저것들. 최신 파일을 컴퓨터에서 가져와 복제하도록 합니다. 컴퓨터가 동일한 네트워크에 있습니다. 인터넷을 통해 공유되는 공유 폴더가 있습니다. TheXpert 2011.07.27 13:17 #327 VCS 사용 Andrian22 2011.07.27 13:44 #328 TheXpert : VCS 사용 컴퓨터가 Windows7에 있다고 지정하지 않았습니다. 가장 어려운 것은 파일 시스템에서 파일을 채우는 방법을 이해하는 것입니다. XP에서는 모든 것이 명확했고 모든 것이 있는 하나의 디렉토리가 있었지만 여기에는 모든 것이 흩어져 있습니다. Andrew Petras 2011.07.27 15:08 #329 Andrian22 : 컴퓨터가 Windows7에 있다고 지정하지 않았습니다. 가장 어려운 것은 파일 시스템에서 파일을 채우는 방법을 이해하는 것입니다. XP에서는 모든 것이 명확했고 모든 것이 있는 하나의 디렉토리가 있었지만 여기에는 모든 것이 흩어져 있습니다. 도움말 보기 시작하기 - 터미널 시작 하기 - "게스트 모드"(/portable 키 사용) Anatoli Kazharski 2011.07.27 17:00 #330 Vladix : 어디서 실수 안했는지 물어보면 더 쉬울텐데.. 모든 것이 작동하려면 디자인이 if ( PositionSelect ( SymbolName (count, true ))) 는 다음으로 대체되어야 합니다. if ( PositionSelect ( PositionGetSymbol (개수))) 나는 다양한 옵션을 보았고 최종 결과에서 모두 동일하다는 것을 알았습니다. 즉, 이러한 각 옵션은 다음과 같습니다. if ( PositionSelect ( Symbol ())) if ( PositionSelect ( PositionGetSymbol (count))) if ( PositionSelect ( SymbolName (count, true ))) ... 동일한 결과를 반환합니다. 그리고 제 경우에는 결과에 영향을 미치지 않았습니다.))) 스크립트를 추가했습니다. //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart () { for ( int count = 0 ; count < PositionsTotal (); count++) { double Amount_Risk = 0.0 ; string Type_pos; if ( PositionSelect ( Symbol ())) //if(PositionSelect(PositionGetSymbol(count))) //if(PositionSelect(SymbolName(count,true))) { int tp_pos = ( ENUM_POSITION_TYPE ) PositionGetInteger ( POSITION_TYPE ); string Symbol_pos = PositionGetSymbol (count); double Acc_Blnc = AccountInfoDouble ( ACCOUNT_BALANCE ); double Order_Lots = PositionGetDouble ( POSITION_VOLUME ); double Stop_Loss = NormalizeDouble ( PositionGetDouble ( POSITION_SL ), _Digits ); double Open_Price = NormalizeDouble ( PositionGetDouble ( POSITION_PRICE_OPEN ), _Digits ); switch (tp_pos) { case 0 : Type_pos = "LONG" ; break ; case 1 : Type_pos = "SHORT" ; break ; } Amount_Risk += MathAbs (((((Open_Price - Stop_Loss)* 10000 )*(Order_Lots* 10 ))/Acc_Blnc)* 100 ); Print ( "PositionTotal(): " , PositionsTotal (), ", Symbol: " ,Symbol_pos, ", Position: " ,Type_pos, ", Amount_Risk: " , DoubleToString (Amount_Risk, 2 ), "%" ); if ( GetLastError () != 0 ) Print (ErrorDescription( GetLastError ()), ", " , GetLastError ()); ResetLastError (); } } } 이제 모든 것이 올바르게 작동합니다. 위에서 언급한 옵션은 주석 처리되어 있으며 비교할 수 있습니다. 결과는 항상 로그에서 동일합니다. 1...262728293031323334353637383940...277 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
나>=0
위치를 선택할 수 없습니다. 예를 들어:
로그 오류:
제대로 하는 방법?
위치를 선택할 수 없습니다. 예를 들어:
먼저 오류를 수정하고 주문 유형과 위치 유형을 혼동하지 마십시오.
위치를 선택할 수 없습니다. 예를 들어:
로그 오류:
제대로 하는 방법?
어디서 실수 안했는지 물어보면 더 쉬울텐데..
모든 것이 작동하려면 디자인이
if ( PositionSelect ( SymbolName (count, true ))) 는 다음으로 대체되어야 합니다.
if ( PositionSelect ( PositionGetSymbol (개수)))
ENUM_ORDER_TYPE과 혼동 하는 텍스트 아래로 ENUM_POSITION_TYPE
먼저 오류를 수정하고 주문 유형과 위치 유형을 혼동하지 마십시오.
블라딕스:
어디서 실수 안했는지 물어보면 더 쉬울텐데..
이 문제를 해결하는 방법을 알려주십시오.
저는 두 대의 컴퓨터에서 MT5용 Expert Advisors, 라이브러리 및 지표를 개발합니다.
한 시스템에서 다른 시스템으로 개발 전송을 구성하는 가장 쉬운 방법은 무엇입니까? 자동 동기화를 사용하는 것이 좋습니다. 저것들. 최신 파일을 컴퓨터에서 가져와 복제하도록 합니다.
컴퓨터가 동일한 네트워크에 있습니다. 인터넷을 통해 공유되는 공유 폴더가 있습니다.
VCS 사용
컴퓨터가 Windows7에 있다고 지정하지 않았습니다. 가장 어려운 것은 파일 시스템에서 파일을 채우는 방법을 이해하는 것입니다. XP에서는 모든 것이 명확했고 모든 것이 있는 하나의 디렉토리가 있었지만 여기에는 모든 것이 흩어져 있습니다.
어디서 실수 안했는지 물어보면 더 쉬울텐데..
모든 것이 작동하려면 디자인이
if ( PositionSelect ( SymbolName (count, true ))) 는 다음으로 대체되어야 합니다.
if ( PositionSelect ( PositionGetSymbol (개수)))
나는 다양한 옵션을 보았고 최종 결과에서 모두 동일하다는 것을 알았습니다. 즉, 이러한 각 옵션은 다음과 같습니다.
... 동일한 결과를 반환합니다.
그리고 제 경우에는 결과에 영향을 미치지 않았습니다.))) 스크립트를 추가했습니다.
이제 모든 것이 올바르게 작동합니다. 위에서 언급한 옵션은 주석 처리되어 있으며 비교할 수 있습니다. 결과는 항상 로그에서 동일합니다.