MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 588 1...581582583584585586587588589590591592593594595...1953 새 코멘트 Ihor Herasko 2018.07.27 07:02 #5871 lil_lil : 나는 연속으로 손실을 계산하는 기능에서 동시에 4개의 위치를 닫습니다. 하나의 위치로 계산하는 방법은 무엇입니까? 닫기, 미끄러짐으로 인해 동일한 가격이 아닐 수 있으며 시간이 다를 수 있습니다. 시도: 브로커가 카운터 클로징을 허용하는 경우 종가를 고정하기 위해 총 마감된 주문 수량과 동일한 볼륨으로 카운터 주문을 열어야 합니다. 그 후 종가가 고정된 것으로 판명되어 반대의 종가에 대한 4개의 거래 조작을 천천히 수행할 수 있습니다. Sergey Likho 2018.07.27 13:03 #5872 마진 계산 방법을 결정하는 방법을 알려주세요. 일부 브로커는 각 포지션에 마진을 부과합니다. 그리고 일부의 경우 구매 및 판매 볼륨의 차이만 있습니다. (즉, 계정에 전체 잠금이 있는 경우 마진은 0입니다) 마진 계산 방법을 프로그래밍 방식으로 결정하는 방법은 무엇입니까? Ghabo 2018.07.30 07:40 #5873 안녕하세요. 도와주세요, 제발. 나는 MA 위의 프랙탈을 찾고 있습니다. 나는 막대를 기억하고, 더 나아가 이 막대에서 프랙탈을 찾고, 그것이 처음 발견된 것보다 작으면 참입니다. 댓글에서 지속적으로 거짓 Comment(f_ma(Symbol(),0,i)); //+----------------------------------------------------------------------------+ bool f_ma( string sy= "0" , int tf= 0 , int nf= 0 ) { if (sy== "" || sy== "0" ) sy= Symbol (); double f= 0 ,MA= 0 ,fr1,fr2; int d= MarketInfo (sy, MODE_DIGITS ),s; if (d== 0 ) if ( StringFind (sy, "JPY" )< 0 ) d= 4 ; else d= 2 ; int i,k= iBars (sy,tf),kf,num_bar; for (i=nf+ 2 ; i<k; i++) { f= iFractals (sy,tf, MODE_UPPER ,i); MA= iMA ( NULL , 0 , 35 , 0 , MODE_EMA , PRICE_CLOSE ,i); if (f!= 0 ) { // kf++; if (f>MA) {num_bar=i; fr1= NormalizeDouble (f, d); continue ;} } } // for (i=nf+ num_bar; i<k; i++) { f= iFractals (sy,tf, MODE_UPPER ,i); if (f!= 0 ) { fr2= NormalizeDouble (f, d); if (fr2<fr1) return ( true ); } } return ( false ); } Alexey Viktorov 2018.07.30 08:12 #5874 Ghabo : 안녕하세요. 도와주세요, 제발. 나는 MA 위의 프랙탈을 찾고 있습니다. 나는 막대를 기억하고, 더 나아가 이 막대에서 프랙탈을 찾고, 그것이 처음 발견된 것보다 작으면 참입니다. 댓글에서 지속적으로 거짓 문제는 이 줄에 있다 if (f>MA) {num_bar=i; fr1= NormalizeDouble (f, d); continue ;} 프랙탈이 발견되고 MA보다 높으면 주기를 중단해야 하며 계속해서는 안 됩니다. 결국, 첫 번째 발견 후, 다른 것과 세 번째가 있을 것입니다. Ghabo 2018.07.30 08:14 #5875 Alexey Viktorov : 문제는 이 줄에 있다 프랙탈이 발견되고 MA보다 높으면 주기를 중단해야 하며 계속해서는 안 됩니다. 결국, 첫 번째 발견 후, 다른 것과 세 번째가 있을 것입니다. 덕분에. break로 대체됨, 이제 항상 true입니다. 그러나 if (fr2<fr1) 조건이 충족되지 않습니다. Alexey Viktorov 2018.07.30 08:50 #5876 Ghabo : 덕분에. break로 대체됨, 이제 항상 true입니다. 그러나 if (fr2<fr1) 조건이 충족되지 않습니다. 함수 결과 출력 전에 이 조건을 추가해야 함을 의미합니다. 이게 뭐가 그렇게 어렵나요??? Ghabo 2018.07.30 15:17 #5877 Alexey Viktorov : 함수 결과 출력 전에 이 조건을 추가해야 함을 의미합니다. 이게 뭐가 그렇게 어렵나요??? 조건이 충족되지 않으면 함수가 false를 반환해야 하지 않습니까? #property strict #property indicator_chart_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit () { //--- indicator buffers mapping //--- return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate ( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- if (rates_total< 100 ) return ( 0 ); int limit=rates_total-prev_calculated; if (limit> 200 )limit= 200 ; for ( int i=limit; i> 0 ; i--) { Comment (f_ma( Symbol (), 0 ,i)); } //--- return value of prev_calculated for next call return (rates_total); } //------------------- bool f_ma( string sy= "0" , int tf= 0 , int nf= 0 ) { if (sy== "" || sy== "0" ) sy= Symbol (); double f= 0 ,MA= 0 ,fr1,fr2; int d= MarketInfo (sy, MODE_DIGITS ),s; if (d== 0 ) if ( StringFind (sy, "JPY" )< 0 ) d= 4 ; else d= 2 ; int i,k= iBars (sy,tf),kf,num_bar; for (i=nf+ 2 ; i<k; i++) { f= iFractals (sy,tf, MODE_UPPER ,i); MA= iMA ( NULL , 0 , 35 , 0 , MODE_EMA , PRICE_CLOSE ,i); if (f!= 0 ) { // kf++; if (f>MA) {num_bar=i; fr1= NormalizeDouble (f, d); break ;} } } // for (i=nf+ num_bar; i<k; i++) { f= iFractals (sy,tf, MODE_UPPER ,i); if (f!= 0 ) { fr2= NormalizeDouble (f, d); if (fr2<fr1) return ( true ); } } return ( false ); } Alexey Viktorov 2018.07.30 15:25 #5878 Ghabo : 조건이 충족되지 않으면 함수가 false를 반환해야 하지 않습니까? iFractals가 0을 반환하거나 비어 있는지 확인합니다. Ghabo 2018.07.30 17:10 #5879 Alexey Viktorov : iFractals가 0을 반환하거나 비어 있는지 확인합니다. 데이터 창 에 값이 비어 있습니다. if (f!= 0 ) 를 if(f!=EMPTY_VALUE)로 교체하면 결과가 변경되지 않습니다. Alexey Viktorov 2018.07.30 18:10 #5880 Ghabo : 데이터 창 에 값이 비어 있습니다. if (f!= 0 ) 를 if(f!=EMPTY_VALUE)로 교체하면 결과가 변경되지 않습니다. 1. 교체가 아니라 확인이라고 했습니다. iFractals는 프랙탈이 없으면 0을 반환합니다. 꾸준하게 사용하지도 않고 자연스럽게 이런 사소한 일로 마르지 않은 기억도 막히지 않는다. 2. 이 기능은 끔찍하게 작성되었지만 여전히 제대로 작동합니다. 3. 마지막 값이 Comment에 표시됩니다. 로 변경 Print ( "************ " , f_ma( Symbol (), 0 , 0 )); 몇 번이나 인쇄되는지 확인하십시오. 2018.07 . 30 21 : 02 : 43.656 00 EURUSD.e,H1: ************ true 1...581582583584585586587588589590591592593594595...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
나는 연속으로 손실을 계산하는 기능에서 동시에 4개의 위치를 닫습니다. 하나의 위치로 계산하는 방법은 무엇입니까?
닫기, 미끄러짐으로 인해 동일한 가격이 아닐 수 있으며 시간이 다를 수 있습니다.
시도:
브로커가 카운터 클로징을 허용하는 경우 종가를 고정하기 위해 총 마감된 주문 수량과 동일한 볼륨으로 카운터 주문을 열어야 합니다. 그 후 종가가 고정된 것으로 판명되어 반대의 종가에 대한 4개의 거래 조작을 천천히 수행할 수 있습니다.
마진 계산 방법을 결정하는 방법을 알려주세요.
일부 브로커는 각 포지션에 마진을 부과합니다. 그리고 일부의 경우 구매 및 판매 볼륨의 차이만 있습니다. (즉, 계정에 전체 잠금이 있는 경우 마진은 0입니다)
마진 계산 방법을 프로그래밍 방식으로 결정하는 방법은 무엇입니까?
안녕하세요. 도와주세요, 제발.
나는 MA 위의 프랙탈을 찾고 있습니다. 나는 막대를 기억하고, 더 나아가 이 막대에서 프랙탈을 찾고, 그것이 처음 발견된 것보다 작으면 참입니다.
댓글에서 지속적으로 거짓
안녕하세요. 도와주세요, 제발.
나는 MA 위의 프랙탈을 찾고 있습니다. 나는 막대를 기억하고, 더 나아가 이 막대에서 프랙탈을 찾고, 그것이 처음 발견된 것보다 작으면 참입니다.
댓글에서 지속적으로 거짓
문제는 이 줄에 있다
프랙탈이 발견되고 MA보다 높으면 주기를 중단해야 하며 계속해서는 안 됩니다. 결국, 첫 번째 발견 후, 다른 것과 세 번째가 있을 것입니다.
문제는 이 줄에 있다
프랙탈이 발견되고 MA보다 높으면 주기를 중단해야 하며 계속해서는 안 됩니다. 결국, 첫 번째 발견 후, 다른 것과 세 번째가 있을 것입니다.
덕분에. break로 대체됨, 이제 항상 true입니다. 그러나 if (fr2<fr1) 조건이 충족되지 않습니다.
함수 결과 출력 전에 이 조건을 추가해야 함을 의미합니다. 이게 뭐가 그렇게 어렵나요???
함수 결과 출력 전에 이 조건을 추가해야 함을 의미합니다. 이게 뭐가 그렇게 어렵나요???
조건이 충족되지 않으면 함수가 false를 반환해야 하지 않습니까?
조건이 충족되지 않으면 함수가 false를 반환해야 하지 않습니까?
iFractals가 0을 반환하거나 비어 있는지 확인합니다.
iFractals가 0을 반환하거나 비어 있는지 확인합니다.
데이터 창 에 값이 비어 있습니다. if (f!= 0 ) 를 if(f!=EMPTY_VALUE)로 교체하면 결과가 변경되지 않습니다.
1. 교체가 아니라 확인이라고 했습니다. iFractals는 프랙탈이 없으면 0을 반환합니다. 꾸준하게 사용하지도 않고 자연스럽게 이런 사소한 일로 마르지 않은 기억도 막히지 않는다.
2. 이 기능은 끔찍하게 작성되었지만 여전히 제대로 작동합니다.
3. 마지막 값이 Comment에 표시됩니다. 로 변경
몇 번이나 인쇄되는지 확인하십시오.