![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
son mesajını görmedim
=======================
yeni bir başlangıç yapalım
deseni seçin =8 Dragon,4PointPattern, 5-0,ABCD kullanırsak
1,2,3 - veya 27 desenin tümünü kullanırsak desen =7 seçin
Şimdi Tamam olmalı
zup_v134rev02.mq4
son mesajını görmedim
=======================
yeni bir başlangıç yapalım
deseni seçin =8 Dragon,4PointPattern, 5-0,ABCD kullanırsak
1,2,3 - veya 27 desenin tümünü kullanırsak desen =7 seçinÜzgünüm, söylemeyi unuttum. Artık bu değiştirilmiş sürümde seçili deseni kullanamazsınız. Bunun yerine kullanabilirsiniz
bölüm 3 garnitür
----------------------
extern bool SearchSharkPatterns = true;
extern bool SearchCypherPatterns = true;
extern bool Search5_0Patterns = true;
extern bool SearchABCDPatterns = true;
Kullanıcı dostu hale getirmek için void _Gartley(string _Depth, int Depth) işlevini baştan yeniden yazmak zorunda kaldım.
Bu, desen araması yapan işlevdir.
tamam yarın görüşürüz
Yarın saat 19.00'da (gmt+2 ) kalıplarınızı koda nasıl ekleyeceğinizi göstereceğim.
Minsk şimdi 22.43
Bu, orijinal koddan birkaç satırdır (void _Gartley işlevi )
while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2))
{
aXABCD[X] = aNumBarPeak[k + 4];
aXABCD[A] = aNumBarPeak[k + 3];
aXABCD = birNumBarPeak[k + 2];
aXABCD[C] = aNumBarPeak[k + 1];
aXABCD[D] = aNumBarPeak[k];
vBullBear = "";
vNamePattern = "";
if (Özel Desen<2)
{
tangensXB=(zz[aXABCD]-zz[aXABCD[X]])/(aXABCD[X]-aXABCD);
if (zz[aXABCD[C]]>zz[aXABCD[D]] && (zz[aXABCD]+(aXABCD-aXABCD[D])*tangensXB)>zz[aXABCD[D]])
{
vBullBear = vBull;
}
else if (zz[aXABCD[C]]<zz[aXABCD[D]] && (zz[aXABCD]+(aXABCD-aXABCD[D])*tangensXB)<zz[aXABCD[D]])
{
vBullBear = vBear;
}
if (StringLen(vBullBear)>0)
{
// îïðåäåëÿåì ðåòðåñìåíòû
retXB = (zz[aXABCD[A]] - zz[aXABCD]) / (zz[aXABCD[A]] - zz[aXABCD[X]] + vDelta0);
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);
if ((zz[aXABCD[A]]>zz[aXABCD[C]] && vBullBear == vBull) || (zz[aXABCD[A]]<zz[aXABCD[C]] && vBullBear == vBear)) retXD = (zz[aXABCD[A]] - zz[aXABCD[D]]) / (zz[aXABCD[A]] - zz[aXABCD[X]] + vDelta0);
else retXD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD[X]] + vDelta0);
Ve bu benim değiştirilmiş kodum
while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2))
{
aXABCD[X] = aNumBarPeak[k + 4];
aXABCD[A] = aNumBarPeak[k + 3];
aXABCD = birNumBarPeak[k + 2];
aXABCD[C] = aNumBarPeak[k + 1];
aXABCD[D] = aNumBarPeak[k];
vBullBear = "";
vNamePattern = "";
dotX=zz[aXABCD[X]];
dotA=zz[aXABCD[A]];
dotB=zz[aXABCD];
dotC=zz[aXABCD[C]];
dotD=zz[aXABCD[D]];
retXB=(dotA - dotB) / (dotA - dotX + vDelta0);
retAC=(dotC - dotB) / (dotA - dotB + vDelta0);
retBD=(dotC - dotD) / (dotC - dotB + vDelta0);
retXD=(dotA - dotD) / (dotA - dotX + vDelta0);
retXC=(dotA - dotC) / (dotA - dotX + vDelta0); //Şifre Kalıpları
AB=MathAbs(dotA-dotB);
CD=MathAbs(dotC-dotD);
AC=MathAbs(dotA-dotC);
BD=MathAbs(dotB-dotD);
if(currentDTime==0) currentDTime=Zaman[aXABCD[D]];
bulunanPatternDTime=Zaman[aXABCD[D]];
desenDotC=noktaC;
searchClassicalPatterns=false;
searchSharkPatterns=yanlış;
searchCypherPatterns=yanlış;
search5_0Patterns=yanlış;
araABCDDesenler=yanlış;
if((dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB)|| (dotA < dotX && dotB dotA && dotC dotA && dotD > dotB))searchClassicalPatterns=true;
else if((dotA > dotX && dotB > dotX && dotB dotB && dotC > dotA && dotD < dotB)|| (dotA < dotX && dotB dotA && dotC < dotB && dotC dotB)){searchSharkPatterns=true; searchCypherPatterns=true;}
else if((dotA > dotX && dotB < dotX && dotB dotB && dotC > dotA && dotD > dotB)|| (dotA dotX && dotB > dotA && dotC < dotB && dotC < dotA && dotD < dot0)search5_
else if((dotB dotB && dotC < dotA && dotD dotA && dotC dotA && dotD > dotB))searchABCDPatterns=true;
//KLASİK GARTLEY DESENLERİ ARAYIN
if(searchClassicalPatterns==true)
{
if(dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB)
{
vBullBear="Boğa";
}
if(dotA < dotX && dotB dotA && dotC dotA && dotD > dotB)
{
vBullBear="Ayı";
}
// Gartley Arama Başlat
if (retAC >= 0.382*min_DeltaGartley && retAC <= 0.886*max_DeltaGartley && retXD < 1.000 && retXD = 1.270*min_DeltaGartley && retBD =0.618*min_DeltaGartley && retXB <= 0.618*max_Del)
{
vNamePattern="Gartley";
PriceD_XD=dotA-0.786*(dotA-dotX);
FiyatD_BD=noktaC-1.618*(noktaC-noktaB);
if (vBullBear=="Boğa")
{
if(MathMax(FiyatD_XD,FiyatD_BD)==FiyatD_XD)
{
LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX);
LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX);
}
else if(MathMax(FiyatD_XD,FiyatD_BD)==FiyatD_BD)
{
LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB);
LevelForDmax = dotC-1.618*max_DeltaGartley*(dotC-dotB);
}
}
if (vBullBear=="Ayı")
{
if(MathMin(FiyatD_XD,FiyatD_BD)==FiyatD_XD)
{
LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX);
LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX);
}
else if(MathMin(FiyatD_XD,FiyatD_BD)==FiyatD_BD)
{
LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB);
LevelForDmax = dotC-1.618*max_DeltaGartley*(dotC-dotB);
}
}
}// Gartley Arama Sonu
Minsk şimdi 22.43
21.:47 burada
dotX=zz[aXABCD[X]];
dotA=zz[aXABCD[A]];
dotB=zz[aXABCD];
dotC=zz[aXABCD[C]];
dotD=zz[aXABCD[D]];
X, A, B, C & D noktalarıdır
retXB=(dotA - dotB) / (dotA - dotX + vDelta0);
retAC=(dotC - dotB) / (dotA - dotB + vDelta0);
retBD=(dotC - dotD) / (dotC - dotB + vDelta0);
retXD=(dotA - dotD) / (dotA - dotX + vDelta0);
retXB, retAC, retBD, retXD fib düzeltmeleridir