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
Hallo,
ich habe den Standardindikator stepMA 9 in diesen Indikator in einem separaten Fenster als Histogramm geändert, aber ich weiß nicht, warum die Kaufsignale nicht mit dem Standardindikator synchronisiert sind (die Verkaufssignale sind es). Mit dem neuen Indikator treten sie einen Takt später auf als mit dem ursprünglichen Indikator. Warum? Ich habe nur den Teil des Codes geändert, der den grafischen Aspekt des Indikators bestimmt.
stepma_9_histo_mtf.mq4
stepma_9.0.mq4
Hallo!
Ich habe den Standardindikator stepMA 9 in diesen Indikator in einem separaten Fenster als Histogramm umgewandelt, aber ich weiß nicht, warum die Kaufsignale nicht mit dem Standardindikator synchronisiert sind (die Verkaufssignale sind es). Mit dem neuen Indikator treten sie einen Takt später auf als mit dem ursprünglichen Indikator. Warum? Ich habe nur den Teil des Codes geändert, der den grafischen Aspekt des Indikators bestimmt.
stepma_9_histo_mtf.mq4
stepma_9.0.mq4
thefxpros
Das liegt daran, wie Linien gezeichnet werden.
Wenn Sie eine Linie zeichnen, müssen Sie damit beginnen, die Linie 1 Balken zurück zu zeichnen, damit sie sichtbar wird (sonst wäre sie ein Punkt und auf dem Chart überhaupt nicht sichtbar). Probieren Sie diese beiden und vergleichen Sie sie jetzt
Hallo,
Ich habe nach einem EA gesucht, der einen Handel in ähnlicher Weise eröffnet, wie ein Trailing-Stop funktionieren würde.
Nehmen wir an, ich warte auf ein Retracement bei einem Instrument. Ich würde meinen Handel so hoch (oder niedrig) auf dem Preis wie möglich eröffnen wollen. Mit einem EA wie diesem könnte ich also meine Handelsparameter festlegen, und dieser EA folgt dem Preis auf ähnliche Weise wie ein Trailing-Stop. Wenn es eine Umkehrung gibt, wird der Handel getroffen und eröffnet.
Haben Sie jemals einen solchen EA gesehen?
Vielen Dank
Hallo zusammen
ich habe versucht, Code gemacht, aber warum kann nicht öffnen Handel
for (int iTS = 0; iTS < 2000; iTS++) {
int varZonStart = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "00:00");
int varZonEnd = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "10:00");
int JamStart=TimeHour(varZonStart);
int JamEnd=TimeHour(varZonEnd);
if (JamStart>JamEnd) {
varCurrentTime = decDateTradeDay(varCurrentTime);
//if (TimeDayOfWeek(varCurTime) < 1) varCurTime = decDateTradeDay(varCurTime);
if (TimeDayOfWeek(varCurrentTime) > 5) varCurrentTime = decDateTradeDay(varCurrentTime);
}
varZonStart = StrToTime(TimeToStr(varCurrentTime, TIME_DATE) + " " + "00:00");
int varShiftStart = iBarShift(NULL, 0, varZonStart - 60 * Period());
int varShiftEnd = iBarShift(NULL, 0, varZonEnd);
varHighest = High;
varLowest = Low;
varCurrentTime = decDateTradeDay(varCurrentTime); //set 1 hari kebelakang
if (TimeDayOfWeek(varCurrentTime) < 1) varCurrentTime = decDateTradeDay(varCurrentTime); //jika minggu mundur lagi
if (TimeDayOfWeek(varCurrentTime) > 5) varCurrentTime = decDateTradeDay(varCurrentTime); //jika sabtu mundur lagi
}
for (int iTSh = 0; iTSh < 2000; iTSh++) {
for (int iTSl = 0; iTSl < 2000; iTSl++) {
if(((varHighest-varLowest)/Pip)<=5) varHL=(varHighest+varLowest)/2;
}
}
double isg10a = iOpen(Symbol(),PERIOD_M15,1);
double isg10b = iClose(Symbol(),PERIOD_M15,1);
int static isg10c = -1;
for (iTS = 0; iTS < 2000; iTS++) {
if(isg10avarHL)isg10c =0;
if(isg10a>varHL&&isg10b<varHL)isg10c =1;
}
if (isg10c==0) To code Buy
else if (isg10c==1) To code Sel
else no trade
Jim Anstatt das ganze neu zu schreiben, habe ich ein Limit für die Berechnung der Balken hinzugefügt und dann werden alle diese Balken neu berechnet. Das sollte das Aktualisierungsproblem lösen (einfach den BarsTocalculate auf einem vernünftigen - nicht zu großen und nicht zu kleinen - Wert halten. Ich habe 1000 als Standardwert verwendet, und das scheint in Ordnung zu sein). Probieren Sie es aus
Liebe mladen,
vielen herzlichen Dank für Ihre Mühe und Ihre sehr schnelle Hilfe.
Ich werde es ausprobieren.
Viele Grüße aus München
Bitte helfen Sie mir, dieses Volumen-Indikator zu aktualisieren, um auf meinem mt4 anhängen
Hallo Gurus bitte helfen Sie mir bitte beheben Sie die Fehler in diesem Volumen-Indikator. Ich habe gerade bemerkt, dass es nicht in der Lage, auf meine mt4 Chart vor kurzem angehängt. Ich habe alles Mögliche getan, um die Fehler in der Datei zu beheben, aber ohne Erfolg. Ich vermute, es ist wegen der großen mt4 Upgrade. Alle anderen Indikatoren in meinem mt4-Ordner, sowohl die älteren als auch die neueren Versionen, funktionieren alle einwandfrei. Es war vor einem Jahr arbeiten ich es zuletzt verwendet. ich bin kein Programmierer noch.
Bitte finden Sie die angehängte Datei
Hallo MLaden und Mrtools,
ich hoffe es geht euch gut
Ich brauche eine Bestätigung von euch bezüglich des RSX
Ich sehe, dass Sie eine einfachere Formel zur Berechnung des RSX verwenden:
__________________________
double Kg = (3.0)/(2.0+Länge);
double Hg = 1.0-Kg;
if (slope[limit]==-1) CleanPoint(limit,rsxDa,rsxDb);
if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars);
for(i=Limit, r=Balken-i-1; i>=0; i--, r++)
{
wrkBuffer[r][12] = iMA(NULL,0,1,0,MODE_SMA,Preis,i);
if (i==(Bars-1)) { for (int c=0; c<12; c++) wrkBuffer[r][c] = 0; continue; }
//
//
//
//
//
double mom = wrkPuffer[r][12]-wrkPuffer[r-1][12];
double moa = MathAbs(mom);
for (int k=0; k<3; k++)
{
int kk = k*2;
wrkPuffer[r][kk+0] = Kg*mom + Hg*wrkPuffer[r-1][kk+0];
wrkPuffer[r][kk+1] = Kg*wrkPuffer[r][kk+0] + Hg*wrkPuffer[r-1][kk+1]; mom = 1,5*wrkPuffer[r][kk+0] - 0,5 * wrkPuffer[r][kk+1];
wrkPuffer[r][kk+6] = Kg*moa + Hg*wrkPuffer[r-1][kk+6];
wrkPuffer[r][kk+7] = Kg*wrkPuffer[r][kk+6] + Hg*wrkPuffer[r-1][kk+7]; moa = 1,5*wrkPuffer[r][kk+6] - 0,5 * wrkPuffer[r][kk+7];
}
if (moa != 0)
rsx = MathMax(MathMin((mom/moa+1.0)*50.0,100.00),0.00);
sonst rsx = 50;
____________________________________
Nur um sicher zu gehen, dass Sie verstehen, wie RSX mit dieser Formel berechnet wird
Zuerst mit der Zeile:
mom = wrkPuffer[r][12]-wrkPuffer[r-1][12];
In der Tat ist wrkBuffer[r][12] der einfache gleitende Durchschnitt des Kurses, beachten Sie den Preis wie bei einem normalen RSI ?
Richtig? Aber ich verstehe nicht, was die Periode dieses SMA ist (wahrscheinlich nicht die Länge)?
Und danach, wenn ich gut mit den Linien verstanden habe:
for (int k=0; k<3; k++)
{
int kk = k*2;
wrkPuffer[r][kk+0] = Kg*mom + Hg*wrkPuffer[r-1][kk+0];
wrkPuffer[r][kk+1] = Kg*wrkPuffer[r][kk+0] + Hg*wrkPuffer[r-1][kk+1];
mom = 1,5*wrkPuffer[r][kk+0] - 0,5 * wrkPuffer[r][kk+1];
In der Tat berechnet es dreimal die Mom (eine nach der anderen), mit der ersten Mom oben (mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];)
Ist das richtig?
Und danach ist "klassisch" mit RSX=((mom/moa)+1)*50
Vielen Dank für Ihre nächste Antwort, als Programmierer (auf einer anderen Plattform), Sie wissen, ich mag zu verstehen, wie die Codes funktionieren
Einen schönen Tag noch
Zilliq
Hallo MLaden und Mrtools,
Ich hoffe, es geht Ihnen gut
Ich brauche eine Bestätigung von Ihnen über den RSX
Ich sehe, dass Sie eine einfachere Formel zur Berechnung des RSX verwenden:
__________________________
double Kg = (3.0)/(2.0+Länge);
double Hg = 1.0-Kg;
if (slope[limit]==-1) CleanPoint(limit,rsxDa,rsxDb);
if (ArrayRange(wrkBuffer,0) != Bars) ArrayResize(wrkBuffer,Bars);
for(i=Limit, r=Balken-i-1; i>=0; i--, r++)
{
wrkBuffer[r][12] = iMA(NULL,0,1,0,MODE_SMA,Preis,i);
if (i==(Bars-1)) { for (int c=0; c<12; c++) wrkBuffer[r][c] = 0; continue; }
//
//
//
//
//
double mom = wrkPuffer[r][12]-wrkPuffer[r-1][12];
double moa = MathAbs(mom);
for (int k=0; k<3; k++)
{
int kk = k*2;
wrkPuffer[r][kk+0] = Kg*mom + Hg*wrkPuffer[r-1][kk+0];
wrkPuffer[r][kk+1] = Kg*wrkPuffer[r][kk+0] + Hg*wrkPuffer[r-1][kk+1]; mom = 1,5*wrkPuffer[r][kk+0] - 0,5 * wrkPuffer[r][kk+1];
wrkPuffer[r][kk+6] = Kg*moa + Hg*wrkPuffer[r-1][kk+6];
wrkPuffer[r][kk+7] = Kg*wrkPuffer[r][kk+6] + Hg*wrkPuffer[r-1][kk+7]; moa = 1,5*wrkPuffer[r][kk+6] - 0,5 * wrkPuffer[r][kk+7];
}
if (moa != 0)
rsx = MathMax(MathMin((mom/moa+1.0)*50.0,100.00),0.00);
sonst rsx = 50;
____________________________________
Nur um sicher zu gehen, dass Sie verstehen, wie RSX mit dieser Formel berechnet wird
Zuerst mit der Zeile:
mom = wrkPuffer[r][12]-wrkPuffer[r-1][12];
In der Tat ist wrkBuffer[r][12] der einfache gleitende Durchschnitt des Kurses, beachten Sie den Preis wie bei einem normalen RSI ?
Richtig? Aber ich verstehe nicht, was die Periode dieses SMA ist (wahrscheinlich nicht die Länge)?
Und danach, wenn ich gut mit den Linien verstanden habe:
for (int k=0; k<3; k++)
{
int kk = k*2;
wrkPuffer[r][kk+0] = Kg*mom + Hg*wrkPuffer[r-1][kk+0];
wrkPuffer[r][kk+1] = Kg*wrkPuffer[r][kk+0] + Hg*wrkPuffer[r-1][kk+1];
mom = 1,5*wrkPuffer[r][kk+0] - 0,5 * wrkPuffer[r][kk+1];
In der Tat berechnet es dreimal die Mom (eine nach der anderen), mit der ersten Mom oben (mom = wrkBuffer[r][12]-wrkBuffer[r-1][12];)
Ist das richtig?
Und danach ist "klassisch" mit RSX=((mom/moa)+1)*50
Vielen Dank für Ihre nächste Antwort, als Programmierer (auf einer anderen Plattform), Sie wissen, ich mag zu verstehen, wie die Codes funktionieren
Einen schönen Tag noch
Zilliq"In der Tat ist wrkBuffer[r][12] der einfache gleitende Durchschnitt des Preises, beachten Sie den Preis wie bei einem gewöhnlichen RSI ?"
Nein. Die Berechnungsperiode für diesen Durchschnitt ist 1, was bedeutet, dass er gleich dem Preis des verwendeten "Durchschnitts" ist. In Metatader ist das der schnellste Weg, um den gewünschten Preis zu erhalten (wenn Sie versuchen, die "Case"-Struktur zu schreiben, die dasselbe tut, werden Sie sehen, dass es viel langsamer ist als der Weg, der im rsx-Code verwendet wird)
"In der Tat berechnet es dreimal die Mutter (eine nach der anderen), wobei die erste Mutter oben steht.
Nein. Sehen Sie sich an, welche Werte in jeder neuen Iteration verwendet werden. mom und moa werden während der Schleife ständig geändert und wiederverwendet (in dieser geänderten Form)
Vielen Dank, Mladen,
Es ist sehr seltsam, wenn ich richtig verstanden habe, dass wrkBuffer[r][12] gleich dem Preis ist, aber Sie verwenden einen gleitenden Durchschnitt mit einer Periode von 1, um die Berechnung zu beschleunigen. Das ist sehr merkwürdig...
Für die zweite Sache, ich denke/vermutlich ist es das, was ich zu sagen versuche
er berechnet den Mom als Momentum des Preises
Und es berechnet eine andere Mutter mit Kg und Hg. Es gibt eine neue Mutter, die verwendet wird, um eine neue Mutter erstellt, und so weiter, 3 mal
Etwas "einfacheres" (um das Verständnis zu erleichtern) wie dieses
mutter
mom1=kg*mom
mama2=kg*mama1
mama3=kg*mama2
Und am Ende verwendet es mom3 und moa3
Liege ich richtig?
Vielen Dank, Mladen,
Es ist sehr seltsam, wenn ich richtig verstanden habe, dass wrkBuffer[r][12] gleich dem Preis ist, aber Sie verwenden einen gleitenden Durchschnitt mit einer Periode von 1, um die Berechnung zu beschleunigen. Das ist sehr merkwürdig...
Für die zweite Sache, ich denke/vermutlich ist es das, was ich zu sagen versuche
er berechnet den Mom als Momentum des Preises
Und es berechnet eine andere Mutter mit Kg und Hg. Es gibt eine neue Mutter, die verwendet wird, um eine neue Mutter erstellt, und so weiter, 3 mal
Etwas "einfacheres" (um das Verständnis zu erleichtern) wie dieses
mutter
mom1=kg*mom
mama2=kg*mama1
mama3=kg*mama2
Und am Ende verwendet es mom3 und moa3
Habe ich Recht?Zilliq,
ja, so wird es gemacht