[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 28

 
여기서 "잘못된 매개변수 수" 오류는 어디에 있습니까?
MA1 = iMA ( NULL , 0 , MA_Period1, MODE_SMA , PRICE_CLOSE , 0 );
 
Сvovan-gogan :
여기서 "잘못된 매개변수 수" 오류는 어디에 있습니까?


안녕하세요! 질문해주셔서 감사합니다 선생님. 봉사하게 된 것을 기쁘게 생각합니다.

우리는 깊이 숙이고 열심히 대답합니다.

iMA에서 분명히 하나의 매개변수가 누락되었습니다.

이중 iMA ( string symbol, int timeframe, int period, int ma_shift , int ma_method, int apply_price, int shift)
이동 평균 계산.
옵션:
기호 - 지표가 계산될 데이터가 있는 기호의 기호 이름입니다. NULL은 현재 문자를 의미합니다.
시간대 - 기간. 차트 기간 중 하나일 수 있습니다. 0은 현재 차트의 기간을 의미합니다.
기간 - 이동 평균을 계산하는 평균 기간입니다.
ma_shift - 가격 차트에 대한 지표 이동.
ma_method - 평균화 방법. 이동 평균 방법 의 값 중 하나일 수 있습니다.
적용 가격 - 중고가격. 가격 상수 중 하나일 수 있습니다.
옮기다 - 표시기 버퍼에서 받은 값의 인덱스(현재 막대를 기준으로 지정된 기간 전에 지정된 수만큼 이동).
--------------------------

매개변수가 누락되었을 가능성이 큽니다.

ma_shift - 가격 차트에 대한 표시기의 이동.

귀하의 추가 질문을 기다리겠습니다!

 
매우 감사합니다)
 

당신의 도움이 필요합니다.

이 표현은 번역이 필요합니다

 OrderOpenPrice ()- OrderClosePrice ()
포인트 수에 넣고 로트에 따라 각 위치에 대한 이익 또는 중지를 계산합니다. 그리고 마지막으로 이익의 %로 총 금액을 인출하거나 중지합니다.
 
Vodya :

당신의 도움이 필요합니다.

이 표현은 번역이 필요합니다

포인트 수에 ......


먼저 원하는 위치를 선택합니다.

( OrderOpenPrice() - OrderClosePrice() ) /Point - 이것은 포인트 단위로 선택된 포지션의 손익입니다.

---------------

그러나 일반적으로 계산을 위해서는 I. Kim의 적절한 기능을 사용하는 것이 좋습니다. 그리고 작업은 여러 번 단순화됩니다.

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

https://www.mql5.com/ru/forum/131859/page3#434225

 
leonid553 :


먼저 원하는 위치를 선택합니다.

( OrderOpenPrice() - OrderClosePrice() ) * 포인트 - 이것은 포인트로 선택된 포지션의 손익입니다.

---------------

그러나 일반적으로 계산을 위해서는 I. Kim의 적절한 기능을 사용하는 것이 좋습니다. 그리고 작업은 여러 번 단순화됩니다.

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

https://www.mql5.com/ru/forum/131859/page3#434225


고맙습니다. 그러나 그 기능에서 나는 내가 필요한 것을 찾지 못했습니다. 그리고 이 경우에는 ( OrderOpenPrice() - OrderClosePrice() ) * Point 저는 이렇게 합니다. ( OrderOpenPrice() - OrderClosePrice() ) / Point

00000000000000을 곱하면 나옵니다.

 

네, 물론입니다. 제가 설명했습니다. 포인트로 나누어야 하지만 전혀 곱 하지 않아야 합니다!

기능별.

아주 간단합니다. 예를 들어. 당신은 미결 거래 예금의 통화로 현재 이익(또는 손실)을 찾아야 합니다(우리는 가정합니다) - 유로달러의 매수 포지션과 파운드 /달러의 매도 포지션.

기능을 사용 https://www.mql5.com/ru/forum/131859/page3#434223

코드의 맨 끝에 복사하십시오(START 함수 외부).

그러면 포지션의 예금 통화의 현재 이익은 다음과 같습니다(START 기능 내에서 설정됨).

이중 PROFIT_EURODOLLAR = GetProfitOpenPosInCurrency( EURUSD , OP_BUY , -1) ;

이중 PROFIT_GBDUSD = GetProfitOpenPosInCurrency( GBPUSD , OP_SELL , -1) ;

이 위치를 열 때 마술을 지정한 경우 "-1" 대신 마술을 지정하십시오.

현재 기호에 대한 포지션 이익을 찾아야 하는 경우, 즉 EA가 설치되어 실행 중인 차트에서 다음을 수행합니다.

이중 PROFIT_NULL = GetProfitOpenPosInCurrency( NULL , OP_SELL , -1) ;

 
leonid553 :

네, 물론입니다. 제가 설명했습니다. 포인트로 나누어야 하지만 전혀 곱 하지 않아야 합니다!

기능별.

아주 간단합니다. 예를 들어. 당신은 미결 거래 예금의 통화로 현재 이익(또는 손실)을 찾아야 합니다(우리는 가정합니다) - 유로달러의 매수 포지션과 파운드 /달러의 매도 포지션.

기능을 사용 https://www.mql5.com/ru/forum/131859/page3#434223

코드의 맨 끝에 복사하십시오(START 함수 외부).

그러면 포지션의 예금 통화의 현재 이익은 다음과 같습니다(START 기능 내에서 설정됨).

이중 PROFIT_EURODOLLAR = GetProfitOpenPosInCurrency( EURUSD , OP_BUY , -1) ;

이중 PROFIT_GBDUSD = GetProfitOpenPosInCurrency( GBPUSD , OP_SELL , -1) ;

이 위치를 열 때 마술을 지정한 경우 "-1" 대신 마술을 지정하십시오.

현재 기호에 대한 포지션 이익을 찾아야 하는 경우, 즉 EA가 설치되어 실행 중인 차트에서 다음을 수행합니다.

이중 PROFIT_NULL = GetProfitOpenPosInCurrency( NULL , OP_SELL , -1) ;


조언 해주셔서 감사합니다.

하지만 초기입금의 퍼센트로 이익과 입금액에서 손실이 계산되도록 만들고 싶습니다. 계산은 가능하지만 각 트랜잭션에 대해서만 전체적으로는 작동하지 않습니다.

 
Vodya :


조언 해주셔서 감사합니다.

하지만 초기입금의 퍼센트로 이익과 입금액에서 손실이 계산되도록 만들고 싶습니다. 계산은 가능하지만 각 거래에 대해서만 전체적으로는 작동하지 않습니다.

다음은 손익 계산을 위한 함수입니다.

손익의 크기/값이 있으면 이것이 보증금의 백분율로 얼마인지 계산할 수 있습니다.

 double Profit(){
   double profit= 0 ; 
   for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--){
     if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) continue ; 
     if ( OrderSymbol ()!= Symbol ()) continue ;
     if ( OrderMagicNumber ()!=Magic) continue ;
     if ( OrderType ()> 1 ) continue ;
     if ( OrderProfit ()> 0 )profit+= OrderProfit ();
    }        
 return (profit);} 

 double Loss(){
   double loss= 0 ; 
   for ( int i= OrdersHistoryTotal ()- 1 ; i>= 0 ; i--){
     if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) continue ; 
     if ( OrderSymbol ()!= Symbol ()) continue ;
     if ( OrderMagicNumber ()!=Magic) continue ;
     if ( OrderType ()> 1 ) continue ;
     if ( OrderProfit ()< 0 )loss+= OrderProfit ();
    }        
 return (loss);} 
 
charter :

다음은 손익 계산을 위한 함수입니다.

손익의 크기/값이 있으면 이것이 보증금의 백분율로 얼마인지 계산할 수 있습니다.


감사해요.

그러나 이 행에서 컴파일할 때

 double Profit(){

'(' - 예기치 않은 함수 정의

그리고 이것은 '}'입니다 - 마지막 return(0)

이것은 어디에 삽입해야 합니까? 내가 잘못된 위치에 넣은 것일 수도 있습니다.

사유: