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
Danke poruchik. Hier ist der Code, der geändert werden muss. Ich werde versuchen, ihn zu ändern.
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
}
sonst
{
for (int iABCD=0;iABCD<_ABCDsize;iABCD++)
{
if (CD>_ABCDtype*AB*min_DeltaGartley && CD<_ABCDtype*AB*max_DeltaGartley)
{
vNamePattern=_ABCDtypetxt+"*AB=CD";
break;
}
}
}
Erledigt! Hier ist der geänderte Code. Jetzt prüft er AC < AB * Fib(1.0) für AB=CD & (x) * AB=CD Muster
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
}
sonst
{
for (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";
break;
}
}
}
Danke Bruder
Ich habe 133 mit deinem Code geändert
Gleicher Fehler?
danke Bruder
Ich modifiziere 133 mit deinem Code
Gleicher Fehler?Gern geschehen, Poruchik,
und für Real AB=CD , sollten die Verhältnisse sein
AB=CD-Muster
[.382/2.240]
[.500/2.000]
[.618/1.618]
[.707/1.414]
[.786/1.270]
[AB=CD]
Geänderter Code zur Prüfung von Real AB=CD
Der neue Code prüft nun die Verhältnisse von retAC und retBD.
Mit dem neuen Code findet der Indikator weniger AB=CD-Muster, aber sie werden sehr genau sein
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);
if(
(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
}
}
sonst
{
for (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";
break;
}
}
}
Geänderter Code zur Überprüfung von Real AB=CD
Der neue Code prüft jetzt die Verhältnisse retAC, retBD
Mit dem neuen Code findet der Indikator weniger AB=CD-Muster, aber sie werden sehr genau sein
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);
if(
(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
}
}
sonst
{
for (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";
break;
}
}
}Einige Überarbeitungen vorgenommen( überflüssige Klammernentfernt ).
Endgültiger Code
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);
if(
(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
}
}
sonst
{
for (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";
break;
}
}
}
poruchik , ich weiß, was "ExtDeltaGartley=0.09" ist. Soweit ich weiß, steuert dieser Parameter die maximale Abweichung von den idealen Fibos.
In zup130 gibt es auch ExtDeltaStrongGartley=0.07.
Was ist der Unterschied zwischen diesem Parameter und ExtDeltaGartley?poruckic, ich weiß, ich habe schon einmal gefragt, aber um das Thema zu klären, möchte ich Sie noch einmal fragen.
Was ich verstanden habe, ist,
ExtDeltaGartley=0.09 ; prüft die Länge der Schenkel.
Ich meine, im Muster AB=CD sollte die Länge des Schenkels AB gleich der Länge des Schenkels CD sein.
Wenn wir prüfen wollen, ob die Längen der Schenkel innerhalb der Grenzen liegen, verwenden wir den Parameter ExtDeltaGartley
ExtDeltaStrongGartley prüft jedoch die Fibonacci-Retracement-Verhältnisse.
Wenn z.B. das AC-Retracement von AB 0,3820 ist, sollte das BD-Retracement von BC 2,240 sein.
ExtDeltaStrongGartley prüft hier die Fib-Verhältnisse innerhalb der Grenzen, nicht ExtDeltaGartley.
Liege ich richtig?
Ich addiere .886-1.13
.382-2.618 (nicht 2.24)
ExtDeltaStrongGartley - für starke Muster (exakte Muster), it=0,07 (7%)
varStrongPatterns - Optionen des Algorithmus für die Suche nach exakten Mustern |
// | = 0 Suche nach exakten Fünf-Punkte-Mustern im Algorithmus, |
// | vorhanden bis einschließlich 122 Versionen. Das Muster wurde als |
// | gefunden, wenn die Wiederholung von XD-XB-AC-BD an die Grenzen | // | gelangt.
// | | Zulassung. |
// | |
// | = 1 bei der Suche nach Mustern in den Grenzen der Zulassung müssen | //
| | | nur XB-AC-BD-Rückgabe erhalten. |
// | nimmt nur für die Berechnung der Grenze der Entwicklung des Punktes des Musters D teil
ExtDeltaStrongGartley - für starke Muster (exakte Muster), es=0,07 (7%)
varStrongPatterns - Optionen des Algorithmus für die Suche nach exakten Mustern |
// | = 0 Suche nach exakten Fünf-Punkte-Mustern im Algorithmus, |
// | vorhanden bis einschließlich 122 Versionen. Das Muster wurde als | //
// | gefunden, wenn die Wiederholung von XD-XB-AC-BD an die Grenzen | // | gelangt.
// | | Zulassung. |
// | |
// | = 1 bei der Suche nach Mustern in den Grenzen der Zulassung müssen | //
| | | nur XB-AC-BD-Rückgabe erhalten. |
| | | Retresment von XD in diesem Fall wird als spravochno, |
| wird nur zur Berechnung der Entwicklungsgrenze eines Punktes des D-Musters herangezogenDann ist ExtDeltaStrongGartley für 5 Punktmuster wie Fledermaus, Gartley, Butterfliege und Krabbe.
und ExtDeltaGartley ist für andere (AB=CD, Alternate AB=CD, etc)
Richtig?