[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 189

 

일단 프로그래밍의 기초를 가르쳤습니다(25년 전 - Algol 60 :))) 그런 다음 모든 것이 알고리즘(사각형, 마름모꼴)의 생성으로 시작되었으며 이 알고리즘은 언어로 설명되었습니다. 이제 어디에서도 알고리즘을 볼 수 없고 명령도 모릅니다.

여러분, 현명한 mql4 튜토리얼을 조언해주세요. 가급적이면 알고리즘부터 시작하여 Expert Advisors 작성의 특정 예를 사용합니다.

 
v721965 писал(а) >>

일단 프로그래밍의 기초를 가르쳤습니다(25년 전 - Algol 60 :))) 그런 다음 모든 것이 알고리즘(사각형, 마름모꼴)의 생성으로 시작되었으며 이 알고리즘은 언어로 설명되었습니다. 이제 어디에서도 알고리즘을 볼 수 없고 명령도 모릅니다.

여러분, 현명한 mql4 튜토리얼을 조언해주세요. 알고리즘부터 시작하여 Expert Advisors 작성의 특정 예를 사용하는 것이 좋습니다.

https://book.mql4.com/en/

 
alvish >> :
전문가들은 mql5 언어 도움말에 따라 iHighest 기능이 없다고 말해 주세요. N 기간의 최대 최고치를 계산하는 방법은??? ..함수를 직접 작성해야 합니다. ..copyHigh 및 fmax를 통해 시도했지만 특정 기간 동안만 해당되며 물론 그렇지는 않습니다.

다음은 귀하를 위한 예입니다.

         int shift_Box_Start = iBarShift ( NULL , 0 , TimeBoxStart ) ;
         Box_Start_High       = High [ iHighest ( NULL , 0 , MODE_HIGH , shift_Box_Start - i , i + 1 ) ] ;
         Box_Start_Low       =    Low [ iLowest ( NULL ,    0 , MODE_LOW ,   shift_Box_Start - i , i + 1 ) ] ;

교대 근무를 적절하게 처리하십시오.

 

1. 시각화로 테스트 모드 에서 EA를 실행하려고 합니다. Expert Advisor는 간단합니다. Alert를 통해 메시지를 발행합니다. 경고가 초기화 상태이면 시작 시 메시지가 발행됩니다. 시작으로 설정하면 새 테스트 틱이 도착할 때 EA가 반응하지 않습니다. 무슨 일이야?

2. 동일한 테스트 모드에서 Alert(참고용)를 통해 Time[1], Close[1],... 값을 출력하는 스크립트를 실행합니다. 지정된 값은 차트에 형성된 테스트 눈금과 막대의 도착 시간이 아니라 현재(현재) 시간에 따라 취해진 것임을 알았습니다. 무엇을 할 수 있습니까?

 
Roger писал(а) >>

저에게 EURGBP의 경우 - 0(Alpari)은 짧고 -0.68은 긴 값을 반환하며 이는 정확히 달러 단위입니다.

alpari의 경우 스왑 계산 유형은 0이고 나는 1,

모든 유형의 계산을 알아야 하지만.

오늘 나는 과학적 방법을 사용하여 확인하기로 결정했지만 작동하지 않았습니다. 곱하기, 나누기 또는 전혀 사용하지 않은 모든 조합을 시도했습니다.

다음은 이 모든 것을 계산하고 실제 스왑에 가장 가까운 값을 반환하는 코드입니다.

int a,b,c,d,dd;

dd=1;

double raznica;

for ( j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {

int a_=0,b_=0,c_=0,d_=0;

raznica=1000000;

OrderSelect(j, SELECT_BY_POS, MODE_HISTORY);

if(OrderSwap()!=0){

if(OrderType()==OP_BUY){

for(a=-dd;a<=dd;a++){

for(b=-dd;b<=dd;b++){

for(c=-dd;c<=dd;c++){

for(d=-dd;d<=dd;d++){

double gg=MathPow(MarketInfo(OrderSymbol(),MODE_SWAPLONG),a)*MathPow(OrderLots(),b)*MathPow(MarketInfo(OrderSymbol(),MODE_TICKVALUE),c)*MathPow(MarketInfo(OrderSymbol(),MODE_BID),d);

if(MathAbs(gg-OrderSwap())<raznica){raznica=MathAbs(gg-OrderSwap());a_=a;b_=b;c_=c;}

}}}}

Alert(" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+"РАСЧЕТНЫЙ СВОП = "+gg+"\n a= "+a_+" b = "+b_+" c = "+c_+" d = "+d_);

}//if(OrderType()==OP_BUY){

if(OrderType()==OP_SELL){

for(a=-dd;a<=dd;a++){

for(b=-dd;b<=dd;b++){

for(c=-dd;c<=dd;c++){

for(d=-dd;d<=dd;d++){

gg=MathPow(MarketInfo(OrderSymbol(),MODE_SWAPSHORT),a)*MathPow(OrderLots(),b)*MathPow(MarketInfo(OrderSymbol(),MODE_TICKVALUE),c)*MathPow(MarketInfo(OrderSymbol(),MODE_BID),d);

if(MathAbs(gg-OrderSwap())<raznica){raznica=MathAbs(gg-OrderSwap());a_=a;b_=b;c_=c;}

}}}}

Alert(" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+"РАСЧЕТНЫЙ СВОП = "+gg+"\n a= "+a_+" b = "+b_+" c = "+c_+" d = "+d_);

}//if(OrderType()==OP_SELL){

}//if(OrderSwap()!=0){

}//for ( j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {

Alpari 또는 BROKO에 대한 결과를 받지 못했습니다.

MarketInfo(OrderSymbol(),MODE_SWAPLONG)

OrderLots()

MarketInfo(OrderSymbol(),MODE_TICKVALUE)

MarketInfo(OrderSymbol(),MODE_BID)

스왑을 계산하기에 충분하지 않습니다.

여기에 다른 것이 있을 것입니다. 하지만 무엇입니까?

 
감사합니다 Chief2000, 그러나 표준 iHighest 및 iLowest를 사용하여 작성했으며 mql 5의 문제가 아니라
 
alvish >> :
감사합니다 Chief2000, 그러나 표준 iHighest 및 iLowest를 사용하여 작성했으며 mql 5의 문제가 아니라

이제 나는 질문을 주의 깊게 읽지 않았다는 것을 알았습니다.

정말 정말 5번째 버전에서는 모든 것을 수동으로 설명해야 합니까? 여기에 뭔가 문제가 있습니다. 문서에 문제가 있습니까?

 
바로 그거죠
 
vasya_vasya >> :

alpari의 경우 스왑 계산 유형은 0이고 나는 1,


Vasya_Vasya 글쎄, 왜 급등하는거야 여기에서 'mql4에서 스왑'이라고 간단히 대답했습니다.

필요한 경우 자세히 설명할 수 있습니다.

단 4가지 옵션

각각의 공식이 있습니다

 
kaisa писал(а) >>

Vasya_Vasya 글쎄, 왜 급등하는거야 여기에서 'mql4에서 스왑'이라고 간단히 대답했습니다.

필요한 경우 자세히 설명할 수 있습니다.

단 4가지 옵션

각각의 공식이 있습니다

예, 다른 공식을 가질 수 있습니까?