Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich habe Ihren letzten Beitrag nicht gesehen
=======================
Lassen Sie uns einen neuen Anfang machen
Wählen Sie Muster =8, wenn wir Dragon,4PointPattern, 5-0,ABCD verwenden
Wählen Sie Muster =7, wenn wir 1,2,3 - oder alle 27 Muster verwenden
Jetzt sollte es klappen
zup_v134rev02.mq4
Ich habe Ihren letzten Beitrag nicht gesehen
=======================
Lassen Sie uns einen neuen Anfang machen
select pattern =8 wenn wir Dragon,4PointPattern, 5-0,ABCD verwenden
select pattern =7 wenn wir 1,2,3 verwenden - oder alle 27 MusterEntschuldigung, ich habe vergessen zu sagen. In dieser geänderten Version können Sie select pattern nicht mehr verwenden. Stattdessen können Sie verwenden
Abschnitt 3 gartley
----------------------
extern bool SearchSharkPatterns = true;
extern bool SearchCypherPatterns = true;
extern bool Search5_0Patterns = true;
extern bool SearchABCDPatterns = true;
Um es benutzerfreundlich zu machen, musste ich die Funktion void _Gartley(string _Depth, int Depth) von Anfang an neu schreiben.
Dies ist die Funktion, die die Mustersuche durchführt.
ok bis morgen
Morgen um 19 Uhr (gmt+2) werde ich zeigen, wie Sie Ihre Muster in den Code einfügen können.
Minsk jetzt 22,43
Hier ein paar Zeilen aus dem ursprünglichen Code (void _Gartley-Funktion)
while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2))
{
aXABCD[X] = aNumBarPeak[k + 4];
aXABCD[A] = aNumBarPeak[k + 3];
aXABCD = aNumBarPeak[k + 2];
aXABCD[C] = aNumBarPeak[k + 1];
aXABCD[D] = aNumBarPeak[k];
vBullBear = "";
vNamePattern = "";
if (CustomPattern<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);
wenn ((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);
sonst retXD = (zz[aXABCD[C]] - zz[aXABCD[D]]) / (zz[aXABCD[C]] - zz[aXABCD[X]] + vDelta0);
Und dies ist mein geänderter Code
while (k < maxPeak-5 && (aXABCD[D] < bartoD+2 || patternInfluence==2))
{
aXABCD[X] = aNumBarPeak[k + 4];
aXABCD[A] = aNumBarPeak[k + 3];
aXABCD = aNumBarPeak[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=(PunktA - PunktC) / (PunktA - PunktX + vDelta0); //Chiffre-Muster
AB=MathAbs(PunktA-PunktB);
CD=MathAbs(PunktC-PunktD);
AC=MathAbs(PunktA-PunktC);
BD=MathAbs(PunktB-PunktD);
if(currentDTime==0) currentDTime=Time[aXABCD[D]];
foundPatternDTTime=Time[aXABCD[D]];
patternDotC=dotC;
searchClassicalPatterns=false;
searchSharkPatterns=false;
searchCypherPatterns=false;
search5_0Patterns=false;
searchABCDPatterns=false;
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 < dotB))search5_0Patterns=true;
else if((dotB dotB && dotC < dotA && dotD dotA && dotC dotA && dotD > dotB))searchABCDPatterns=true;
//SUCHEN SIE NACH KLASSISCHEN GARTLEY-MUSTERN
if(searchClassicalPatterns==true)
{
if(dotA > dotX && dotB > dotX && dotB dotB && dotC < dotA && dotD < dotB)
{
vBullBear="Bullish";
}
if(dotA < dotX && dotB dotA && dotC dotA && dotD > dotB)
{
vBullBear="Bärisch";
}
// Start der Gartley-Suche
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_DeltaGartley)
{
vNamePattern="Gartley";
PreisD_XD=dotA-0.786*(dotA-dotX);
PreisD_BD=dotC-1.618*(dotC-dotB);
if (vBullBear=="Bullish")
{
if(MathMax(KursD_XD,KursD_BD)==KursD_XD)
{
LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX);
LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX);
}
else if(MathMax(KursD_XD,KursD_BD)==KursD_BD)
{
LevelForDmin = PunktC-1,618*min_DeltaGartley*(PunktC-PunktB);
LevelForDmax = PunktC-1,618*max_DeltaGartley*(PunktC-PunktB);
}
}
if (vBullBear=="Bearish")
{
if(MathMin(PreisD_XD,PreisD_BD)==PreisD_XD)
{
LevelForDmin = dotA-0.786*min_DeltaGartley*(dotA-dotX);
LevelForDmax = dotA-0.786*max_DeltaGartley*(dotA-dotX);
}
else if(MathMin(PreisD_XD,PreisD_BD)==PreisD_BD)
{
LevelForDmin = dotC-1.618*min_DeltaGartley*(dotC-dotB);
LevelForDmax = PunktC-1,618*max_DeltaGartley*(PunktC-PunktB);
}
}
}// Gartley-Suche Ende
Minsk jetzt 22.43
21.:47 hier
dotX=zz[aXABCD[X]];
dotA=zz[aXABCD[A]];
dotB=zz[aXABCD];
dotC=zz[aXABCD[C]];
dotD=zz[aXABCD[D]];
sind die Punkte X, A, B, C und 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);
retXB, retAC, retBD, retXD sind Fib-Retracements