고조파 거래 - 페이지 308 1...301302303304305306307308309310311312313314315...599 새 코멘트 ozan 2013.02.28 19:10 #3071 poruchik님, 감사합니다. 다음은 수정해야 할 코드입니다. 수정해보도록 하겠습니다. if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2) { vBullBear = ""; vNamePattern = ""; AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]); CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]); if (CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley) { vNamePattern=vABCD; // AB-CD } 또 다른 { (int iABCD=0;iABCD<_ABCDsize;iABCD++) { if (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley) { vNamePattern=_ABCDtypetxt+"*AB=CD"; 부서지다; } } } ozan 2013.02.28 19:38 #3072 완료 ! 다음은 수정된 코드입니다. 이제 AB=CD & (x) * AB=CD 패턴에 대해 AC < AB * Fib(1.0)를 확인 합니다. if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2) { vBullBear = ""; vNamePattern = ""; AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]); CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]); if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD]) ) { vNamePattern=vABCD; // AB-CD } 또 다른 { (int iABCD=0;iABCD<_ABCDsize;iABCD++) { if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD]) ) { vNamePattern=_ABCDtypetxt+"*AB=CD"; 부서지다; } } } Harmonic Trading Indicators: Harmonic Pattern Finder CFD Possible Patterns poruchik 2013.02.28 21:17 #3073 고마워 형 나는 당신의 코드로 133을 수정합니다 같은 버그? 파일: zup_v133.rar 93 kb eurusdh4.png 51 kb zup_v133_real_abcd.mq4 657 kb ozan 2013.03.01 02:00 #3074 poruchik: 고마워 형 나는 당신의 코드로 133을 수정합니다. 같은 버그? 잘가세요 뽀루치크, 실수 AB=CD의 경우 비율은 다음과 같아야 합니다. AB=CD 패턴 [.382/2.240] [.500/2.000] [.618/1.618] [.707/1.414] [.786/1.270] [AB=CD] 파일: image038.jpg 45 kb ozan 2013.03.01 02:33 #3075 Real AB=CD 확인 을 위한 수정 코드 새 코드는 이제 retAC , retBD 비율을 확인합니다. 새 코드를 사용하면 표시기가 AB=CD 패턴을 덜 찾지만 매우 정확합니다. if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2) { vBullBear = ""; vNamePattern = ""; AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]); CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]); retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0); retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0); 만약( (retAC>=0.382*min_DeltaGartley) && (retAC=2.240*min_DeltaGartley) && (retBD<=2.240*max_DeltaGartley) || (retAC>=0.500*min_DeltaGartley) && (retAC=2.000*min_DeltaGartley) && (retBD<=2.000*max_DeltaGartley) || (retAC>=0.618*min_DeltaGartley) && (retAC=1.618*min_DeltaGartley) && (retBD<=1.618*max_DeltaGartley) || (retAC>=0.707*min_DeltaGartley) && (retAC=1.414*min_DeltaGartley) && (retBD<=1.414*max_DeltaGartley) || (retAC>=0.786*min_DeltaGartley) && (retAC=1.270*min_DeltaGartley) && (retBD<=1.270*max_DeltaGartley) ) { if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD]) ) { vNamePattern=vABCD; // AB-CD } } 또 다른 { (int iABCD=0;iABCD<_ABCDsize;iABCD++) { if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD]) ) { vNamePattern=_ABCDtypetxt+"*AB=CD"; 부서지다; } } } Harmonic Trading 묻다! MQL4 마스터에 대한 질문입니다. ozan 2013.03.01 03:19 #3076 grandaevus: Real AB=CD 확인을 위한 수정 코드 새 코드는 이제 retAC , retBD 비율을 확인합니다. 새 코드를 사용하면 표시기가 AB=CD 패턴을 덜 찾지만 매우 정확합니다. if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2) { vBullBear = ""; vNamePattern = ""; AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]); CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]); retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0); retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0); 만약( (retAC>=0.382*min_DeltaGartley) && (retAC=2.240*min_DeltaGartley) && (retBD<=2.240*max_DeltaGartley) || (retAC>=0.500*min_DeltaGartley) && (retAC=2.000*min_DeltaGartley) && (retBD<=2.000*max_DeltaGartley) || (retAC>=0.618*min_DeltaGartley) && (retAC=1.618*min_DeltaGartley) && (retBD<=1.618*max_DeltaGartley) || (retAC>=0.707*min_DeltaGartley) && (retAC=1.414*min_DeltaGartley) && (retBD<=1.414*max_DeltaGartley) || (retAC>=0.786*min_DeltaGartley) && (retAC=1.270*min_DeltaGartley) && (retBD<=1.270*max_DeltaGartley) ) { if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD]) ) { vNamePattern=vABCD; // AB-CD } } 또 다른 { (int iABCD=0;iABCD<_ABCDsize;iABCD++) { if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD]) ) { vNamePattern=_ABCDtypetxt+"*AB=CD"; 부서지다; } } } 일부 수정(불필요한 괄호 제거 ). 최종 코드 if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2) { vBullBear = ""; vNamePattern = ""; AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]); CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]); retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0); retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0); 만약( (retAC>=0.382*min_DeltaGartley && retAC=2.240*min_DeltaGartley && retBD<=2.240*max_DeltaGartley) || (retAC>=0.500*min_DeltaGartley && retAC=2.000*min_DeltaGartley && retBD<=2.000*max_DeltaGartley) || (retAC>=0.618*min_DeltaGartley && retAC=1.618*min_DeltaGartley && retBD<=1.618*max_DeltaGartley) || (retAC>=0.707*min_DeltaGartley && retAC=1.414*min_DeltaGartley && retBD<=1.414*max_DeltaGartley) || (retAC>=0.786*min_DeltaGartley && retAC=1.270*min_DeltaGartley && retBD<=1.270*max_DeltaGartley) ) { if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD]) ) { vNamePattern=vABCD; // AB-CD } } 또 다른 { (int iABCD=0;iABCD<_ABCDsize;iABCD++) { if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD]) || (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD]) ) { vNamePattern=_ABCDtypetxt+"*AB=CD"; 부서지다; } } } Harmonic Trading Indicators: Harmonic Pattern Finder Press review ozan 2013.03.01 06:18 #3077 grandaevus: poruchik , "ExtDeltaGartley=0.09"가 무엇인지 압니다. 내가 아는 한, 이 매개변수는 이상적인 fibo로부터의 최대 편차를 제어합니다. zup130에는 ExtDeltaStrongGartley=0.07도 있습니다. 이 매개변수와 ExtDeltaGartley의 차이점은 무엇입니까? poruckic, 나는 알고 있지만, 주제를 명확히 하기 위해 다시 한 번 묻겠습니다. 내가 이해한 것은, ExtDeltaGartley=0.09 ; 다리 길이를 확인합니다. AB=CD 패턴에서 AB 다리의 길이는 CD 다리의 길이와 같아야 함을 의미합니다. 다리 길이가 제한 내에 있는지 확인하려면 ExtDeltaGartley 매개변수 를 사용합니다. 그러나 ExtDeltaStrongGartley는 되돌림 피보나치 비율을 확인합니다. 마찬가지로 AB의 AC 되돌림이 0.3820이면 BC의 fib BD 되돌림은 2.240이어야 합니다. ExtDeltaStrongGartley는 ExtDeltaGartley가 아닌 한계 내에서 fib 비율을 확인합니다. 내 말이 맞아? Harmonic Trading 2개의 EMA 교차 EA를 가격 패턴(가틀리, 나비, 박쥐,...) poruchik 2013.03.01 07:18 #3078 .886-1.13을 추가합니다 .382-2.618(2.24 아님) 파일: eurusddaily.png 69 kb zup_v133_real_abcd_grandaevus.mq4 658 kb poruchik 2013.03.01 08:39 #3079 ExtDeltaStrongGartley - 강한 패턴(정확한 패턴)의 경우 = 0.07(7%) varStrongPatterns - 정확한 패턴 검색 알고리즘 옵션 | // | = 0 알고리즘에서 정확한 5개 점 패턴 검색, | // | 기존 122개 버전 포함. 패턴이 고려되었습니다 | // | XD-XB-AC-BD의 retresment가 경계에 도달하면 발견됨 | // | 가입. | // | | // | = 1 패턴 검색으로 입학 제한 | // | XB-AC-BD retresment만 가져옵니다. | // | 이 경우 XD의 retresment는 spravochno로 간주됩니다. | // | D 패턴의 포인트 전개 경계 계산에만 참여 Harmonic Trading NN에 대한 입력 값을 신호 지표 기반 거래 ozan 2013.03.01 08:50 #3080 poruchik: ExtDeltaStrongGartley - 강한 패턴(정확한 패턴)의 경우 = 0.07(7%) varStrongPatterns - 정확한 패턴 검색 알고리즘 옵션 | // | = 0 알고리즘에서 정확한 5개 점 패턴 검색, | // | 기존 122 버전 포함. 패턴이 고려되었습니다 | // | XD-XB-AC-BD의 retresment가 경계에 도달하면 발견됨 | // | 가입. | // | | // | = 1 패턴 검색으로 입학 제한 | // | XB-AC-BD retresment만 가져옵니다. | // | 이 경우 XD의 retresment는 spravochno로 간주됩니다. | // | D 패턴의 포인트 전개 경계 계산에만 참여 그런 다음 ExtDeltaStrongGartley는 Bat, Gartley, ButterFly & Crab과 같은 5개의 도트 패턴에 대한 것입니다. 그리고 ExtDeltaGartley는 다른 사람들을 위한 것입니다.(AB=CD , Alternate AB=CD 등) 권리? 1...301302303304305306307308309310311312313314315...599 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
poruchik님, 감사합니다. 다음은 수정해야 할 코드입니다. 수정해보도록 하겠습니다.
if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)
{
vBullBear = "";
vNamePattern = "";
AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]);
CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]);
if (CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley)
{
vNamePattern=vABCD; // AB-CD
}
또 다른
{
(int iABCD=0;iABCD<_ABCDsize;iABCD++)
{
if (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley)
{
vNamePattern=_ABCDtypetxt+"*AB=CD";
부서지다;
}
}
}
완료 ! 다음은 수정된 코드입니다. 이제 AB=CD & (x) * AB=CD 패턴에 대해 AC < AB * Fib(1.0)를 확인 합니다.
if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)
{
vBullBear = "";
vNamePattern = "";
AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]);
CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]);
if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD])
)
{
vNamePattern=vABCD; // AB-CD
}
또 다른
{
(int iABCD=0;iABCD<_ABCDsize;iABCD++)
{
if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD])
)
{
vNamePattern=_ABCDtypetxt+"*AB=CD";
부서지다;
}
}
}
고마워 형
나는 당신의 코드로 133을 수정합니다
같은 버그?
고마워 형
나는 당신의 코드로 133을 수정합니다.
같은 버그?잘가세요 뽀루치크,
실수 AB=CD의 경우 비율은 다음과 같아야 합니다.
AB=CD 패턴
[.382/2.240]
[.500/2.000]
[.618/1.618]
[.707/1.414]
[.786/1.270]
[AB=CD]
Real AB=CD 확인 을 위한 수정 코드
새 코드는 이제 retAC , retBD 비율을 확인합니다.
새 코드를 사용하면 표시기가 AB=CD 패턴을 덜 찾지만 매우 정확합니다.![](https://c.mql5.com/forextsd/smiles/smile.png)
if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)
{
vBullBear = "";
vNamePattern = "";
AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]);
CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]);
retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0);
retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0);
만약(
(retAC>=0.382*min_DeltaGartley) && (retAC=2.240*min_DeltaGartley) && (retBD<=2.240*max_DeltaGartley)
||
(retAC>=0.500*min_DeltaGartley) && (retAC=2.000*min_DeltaGartley) && (retBD<=2.000*max_DeltaGartley)
||
(retAC>=0.618*min_DeltaGartley) && (retAC=1.618*min_DeltaGartley) && (retBD<=1.618*max_DeltaGartley)
||
(retAC>=0.707*min_DeltaGartley) && (retAC=1.414*min_DeltaGartley) && (retBD<=1.414*max_DeltaGartley)
||
(retAC>=0.786*min_DeltaGartley) && (retAC=1.270*min_DeltaGartley) && (retBD<=1.270*max_DeltaGartley)
)
{
if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD])
)
{
vNamePattern=vABCD; // AB-CD
}
}
또 다른
{
(int iABCD=0;iABCD<_ABCDsize;iABCD++)
{
if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD])
)
{
vNamePattern=_ABCDtypetxt+"*AB=CD";
부서지다;
}
}
}
Real AB=CD 확인을 위한 수정 코드
새 코드는 이제 retAC , retBD 비율을 확인합니다.
새 코드를 사용하면 표시기가 AB=CD 패턴을 덜 찾지만 매우 정확합니다.![](https://c.mql5.com/forextsd/smiles/smile.png)
if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)
{
vBullBear = "";
vNamePattern = "";
AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]);
CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]);
retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0);
retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0);
만약(
(retAC>=0.382*min_DeltaGartley) && (retAC=2.240*min_DeltaGartley) && (retBD<=2.240*max_DeltaGartley)
||
(retAC>=0.500*min_DeltaGartley) && (retAC=2.000*min_DeltaGartley) && (retBD<=2.000*max_DeltaGartley)
||
(retAC>=0.618*min_DeltaGartley) && (retAC=1.618*min_DeltaGartley) && (retBD<=1.618*max_DeltaGartley)
||
(retAC>=0.707*min_DeltaGartley) && (retAC=1.414*min_DeltaGartley) && (retBD<=1.414*max_DeltaGartley)
||
(retAC>=0.786*min_DeltaGartley) && (retAC=1.270*min_DeltaGartley) && (retBD<=1.270*max_DeltaGartley)
)
{
if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD])
)
{
vNamePattern=vABCD; // AB-CD
}
}
또 다른
{
(int iABCD=0;iABCD<_ABCDsize;iABCD++)
{
if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD])
)
{
vNamePattern=_ABCDtypetxt+"*AB=CD";
부서지다;
}
}
}일부 수정(불필요한 괄호 제거 ).
최종 코드
if (ABCD && StringLen(vNamePattern)==0 && PotencialsLevels_retXD<2)
{
vBullBear = "";
vNamePattern = "";
AB=MathAbs(zz[aXABCD] - zz[aXABCD[A]]);
CD=MathAbs(zz[aXABCD[D]] - zz[aXABCD[C]]);
retAC = (zz[aXABCD[C]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD] + vDelta0);
retBD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD] + vDelta0);
만약(
(retAC>=0.382*min_DeltaGartley && retAC=2.240*min_DeltaGartley && retBD<=2.240*max_DeltaGartley)
||
(retAC>=0.500*min_DeltaGartley && retAC=2.000*min_DeltaGartley && retBD<=2.000*max_DeltaGartley)
||
(retAC>=0.618*min_DeltaGartley && retAC=1.618*min_DeltaGartley && retBD<=1.618*max_DeltaGartley)
||
(retAC>=0.707*min_DeltaGartley && retAC=1.414*min_DeltaGartley && retBD<=1.414*max_DeltaGartley)
||
(retAC>=0.786*min_DeltaGartley && retAC=1.270*min_DeltaGartley && retBD<=1.270*max_DeltaGartley)
)
{
if ( (CD>AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>AB*min_DeltaGartley && CD<AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[C]] < zz[aXABCD])
)
{
vNamePattern=vABCD; // AB-CD
}
}
또 다른
{
(int iABCD=0;iABCD<_ABCDsize;iABCD++)
{
if ( (CD>_ABCDtype*AB*min_DeltaGartley && CD zz[aXABCD] && zz[aXABCD[A]] > zz[aXABCD[C]] && zz[aXABCD[C]] > zz[aXABCD])
||
(CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley && zz[aXABCD[A]] < zz[aXABCD] && zz[aXABCD[A]] < zz[aXABCD[C]] && zz[aXABCD[ C]] < zz[aXABCD])
)
{
vNamePattern=_ABCDtypetxt+"*AB=CD";
부서지다;
}
}
}
poruchik , "ExtDeltaGartley=0.09"가 무엇인지 압니다. 내가 아는 한, 이 매개변수는 이상적인 fibo로부터의 최대 편차를 제어합니다.
zup130에는 ExtDeltaStrongGartley=0.07도 있습니다.
이 매개변수와 ExtDeltaGartley의 차이점은 무엇입니까?poruckic, 나는 알고 있지만, 주제를 명확히 하기 위해 다시 한 번 묻겠습니다.
내가 이해한 것은,
ExtDeltaGartley=0.09 ; 다리 길이를 확인합니다.
AB=CD 패턴에서 AB 다리의 길이는 CD 다리의 길이와 같아야 함을 의미합니다.
다리 길이가 제한 내에 있는지 확인하려면 ExtDeltaGartley 매개변수 를 사용합니다.
그러나 ExtDeltaStrongGartley는 되돌림 피보나치 비율을 확인합니다.
마찬가지로 AB의 AC 되돌림이 0.3820이면 BC의 fib BD 되돌림은 2.240이어야 합니다.
ExtDeltaStrongGartley는 ExtDeltaGartley가 아닌 한계 내에서 fib 비율을 확인합니다.
내 말이 맞아?
.886-1.13을 추가합니다
.382-2.618(2.24 아님)
ExtDeltaStrongGartley - 강한 패턴(정확한 패턴)의 경우 = 0.07(7%)
varStrongPatterns - 정확한 패턴 검색 알고리즘 옵션 |
// | = 0 알고리즘에서 정확한 5개 점 패턴 검색, |
// | 기존 122개 버전 포함. 패턴이 고려되었습니다 |
// | XD-XB-AC-BD의 retresment가 경계에 도달하면 발견됨 |
// | 가입. |
// | |
// | = 1 패턴 검색으로 입학 제한 |
// | XB-AC-BD retresment만 가져옵니다. |
// | 이 경우 XD의 retresment는 spravochno로 간주됩니다. |
// | D 패턴의 포인트 전개 경계 계산에만 참여
ExtDeltaStrongGartley - 강한 패턴(정확한 패턴)의 경우 = 0.07(7%)
varStrongPatterns - 정확한 패턴 검색 알고리즘 옵션 |
// | = 0 알고리즘에서 정확한 5개 점 패턴 검색, |
// | 기존 122 버전 포함. 패턴이 고려되었습니다 |
// | XD-XB-AC-BD의 retresment가 경계에 도달하면 발견됨 |
// | 가입. |
// | |
// | = 1 패턴 검색으로 입학 제한 |
// | XB-AC-BD retresment만 가져옵니다. |
// | 이 경우 XD의 retresment는 spravochno로 간주됩니다. |
// | D 패턴의 포인트 전개 경계 계산에만 참여그런 다음 ExtDeltaStrongGartley는 Bat, Gartley, ButterFly & Crab과 같은 5개의 도트 패턴에 대한 것입니다.
그리고 ExtDeltaGartley는 다른 사람들을 위한 것입니다.(AB=CD , Alternate AB=CD 등)
권리?