[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 9

 
Was in mql4 ist ein schöner Weg, um Verluste zu begrenzen (stoppen die EA), wenn alles schief ging? Ich habe nur erfunden, um den maximalen Wert von AccountEquity() in der ini-Datei von Zeit zu Zeit zurückzusetzen und wenn der aktuelle Wert von AccountEquity() um einige Prozente weniger als gespeichert ist, dann stoppen Sie den Handel. Bitte beraten Sie mich.
 
igrok2008 писал(а) >>
Die obigen Beispiele beschreiben den Kauf- und Verkaufscode für CCI, RSI und WPR. Warum genau werden diese Indikatoren verwendet? Meiner Meinung nach ist es mit ihnen am einfachsten zu lernen, wie man einen Expert Advisor erstellt. Das Kauf- und Verkaufsprinzip ist das gleiche für sie. weniger als -100 (für CCI), -70 (für RSI) und 20 (für WPR), bzw. Verkauf wird sein: +100, -30 und 80. Es scheint mir (mehr als einmal gekreuzt), dass die Fehler in den Handelsbedingungen sind, aber wo ich nicht verstehen..... Es geht um das Prinzip, die Handelsbedingungen richtig zu SCHREIBEN (so denke ich) .............. Das wollte ich Sie fragen........
double CCI = NormalizeDouble(iCCI(NULL, 0,Period,PRICE_CLOSE,1), Digits);

if(CCI[1] > -100)
Moment mal, woher kommt diese SSI[1]?
es stellt sich heraus, dass der Code nicht kompiliert werden kann, also ist keine Kompilierung falsch?
 
MuruFigi писал(а) >>
Was in mql4 ist ein schöner Weg, um Verluste zu begrenzen (stoppen die EA), wenn alles schief ging? Ich habe nur erfunden, um den maximalen Wert von AccountEquity() in der Ini-Datei von Zeit zu Zeit zurückzusetzen, und wenn der aktuelle Wert von AccountEquity() um einen bestimmten Prozentsatz niedriger ist als der gespeicherte, dann stoppt der Handel. Bitte beraten Sie mich.

Achten Sie auf den Eigenkapital- und Gleichgewichtsindikator von Surgeon. Es steht in CodeBase.

 
Korey >> :
Moment mal, wo ist der CCI[1]?
es stellt sich heraus, dass der Code die Kompilierung nicht besteht, d.h. die fehlende Kompilierung ist falsch?

CCI[1]ist der CCI für den ersten Balken.

Was ist eine Kompilierung? Das Kompilieren eines EA (Indikator, Skript) erfolgt im Metaeditor durch Drücken von F5 (Kompilieren) ??????????

Ich denke, weil der erste Balken noch nicht gebildet ist, sollte die Berechnung auf dem ersten Balken erfolgen. Daher die GKI[1]. Was habe ich falsch gemacht??????

 
igrok2008 >> :

>> was ich falsch gemacht habe??????

In allem. Die Berater haben sich bereits zerstreut, da sie wissen, dass man noch ein Lehrbuch lesen muss, um die grundlegenden Konzepte zu verstehen. Andernfalls wird es kein Gespräch geben.

CCI[1] zum Beispiel liest selbst ein "Programmierer" wie ich als Aufruf einer Zelle eines Arrays mit dem Namen CCI und dem Index [1]. Was haben Sie damit gemeint?

 
granit77 >> :

In allem. Die Berater haben sich bereits zerstreut, da sie wissen, dass man noch ein Lehrbuch lesen muss, um die grundlegenden Konzepte zu verstehen. Andernfalls wird das Gespräch nicht funktionieren.

Zum Beispiel liest selbst ein "Programmierer" wie ich CCI[1] als Aufruf einer Array-Zelle mit dem Namen CCI und dem Index [1]. Was meinen Sie damit?

Wie wäre es mit einem Link zu dem Tutorial? Oder ist es das MQL4-Tutorial "MQL4Bookrussian" ??????????????

 
igrok2008 >> :

Das ist in etwa das Gleiche.

Wie wäre es mit einem Link zu einem Lehrbuch? Oder vielleicht ist es das MQL4-Tutorial "MQL4Bookrussian" ???????????????

1. Wenn es dasselbe ist, wo und warum haben Sie dieses Array deklariert (erstellt)? Man kann etwas nennen, das es gibt.

2. Link Tutorial oben auf der Seite. Ich persönlich fand die Artikel von Rosh besser geeignet.

 
granit77 >> :

1. Wenn ja, wo und warum haben Sie dieses Feld deklariert (erstellt)? Sie können alles anrufen, was es gibt.

2. Tutorial-Link oben auf der Seite. Ich persönlich fand die Artikel von Rosh besser geeignet.

1 Eintrag CCI[1]>-100 ist eine Handelsbedingung zum Kauf

2 lesen (allerdings nur oberflächlich) das Tutorial, lesen bis zu 30 Seiten KimIV nützliche Funktionen, lesen Artikel "für Dummies" und finden nirgends die Antwort auf die Frage, WARUM die Token-Bedingung so geschrieben sein SOLLTE, wenn(bullshit know what<*****&& bullshit know how>******). Warum sollte das so sein?

tratat AND trat, nicht nur if(trat<******). Das ist es, was mir nicht klar ist. Natürlich hat vinin mir früher (für MA) klar erklärt, was was ist, ABER WARUM man logisch und ..... unerklärt verwenden muss.................

Ich bin noch nicht zu den Artikeln von Rosha gekommen, danke für den Hinweis.............

 
igrok2008 >> :

1 Eintrag CCI[1]>100 ist eine Kaufbedingung

Warum sollte es tratata UND trututu sein und nicht nur if(tratata<******). Das ist es, was mir nicht klar ist. Natürlich hat mir vinin vorhin (für MA) verständlich erklärt, was was ist, ABER WARUM man das logische UND ..... unerklärt verwenden MUSS........

1. Es geht nicht darum, welche Art von Zustand es ist, sondern darum, was man vergleicht und womit. Sie denken, dass Sie den Wert des CCI-Indikators mit dem Pegel vergleichen, während Sie statt des Indikators den Wert einer Zelle eines nicht existierenden und unnötigen benutzerdefinierten Arrays CCI[] schreiben, das nur dem Namen entspricht, also leer ist. Dies ist ein grober Fehler, den der Compiler nicht kompilieren kann.

2. Wenn Sie ein Signal von einem Pfeilindikator abnehmen, bei dem ein Wert nur erscheint, wenn eine Bedingung eintritt, schreiben Sie:

if(trata>0) enter; Dies liegt daran, dass das Signal diskret ist; wenn es keinen Pfeil gibt, ist der Puffer leer und es gibt nichts weiter zu prüfen

Wenn Sie die Indikatorlinie verfolgen, die einen bestimmten Pegel überschreitet (der Puffer ist voll, das Signal ist analog), dann führt das Schreiben von if(trata>level) zu einem kontinuierlichen Signal am Eingang, solange die Indikatorlinie über dem Pegel liegt. Aber das ist nicht das, was Sie wollen, Sie wollen ein Signal im Moment der Kreuzung erhalten. Und der Moment der Kreuzung wird genau durch die Tratata und Trutata eingefangen.

Das heißt, wir lesen und schreiben in die Variablen die CCI-Werte des Nullbalkens und des ersten Balkens. Wir prüfen, ob der CCI beim ersten (vorherigen) Balken höher war. Wenn der CCI auf dem Null-Balken bereits unter dieses Niveau gefallen ist, hat ein Cross stattgefunden. Kombiniert man diese beiden Bedingungen mit einem logischen UND, erhält man ein einziges Kreuzsignal.

//объявляем переменную cci_0 и присваиваем ей значение индикатора CCI на нулевом (текущем) баре
double cci_0=iCCI(NULL,0, CCIperiod, CCIprice,0);
//объявляем переменную cci_1 и присваиваем ей значение индикатора CCI на первом (предыдущем) баре
double cci_1=iCCI(NULL,0, CCIperiod, CCIprice,1);
//если значение индикатора CCI на нулевом (текущем) баре уже меньше уровня 100
//а предыдущее его значение (на первом баре) было больше уровня 100
//значит произошло пересечение, и мы даем сигнал на продажу
if( cci_0<100 && cci_1>100) SignalSell=true;
 
granit77 >> :

1. Es geht nicht um den Zustand, sondern darum, was man vergleicht und womit. Sie denken, dass Sie mit dem Niveau des CCI-Indikators vergleichen, aber statt des Indikators schreiben Sie den Wert einer Zelle eines nicht existierenden und unnötigen benutzerdefinierten Arrays CCI[], das einfach den gleichen Namen hat, d.h. leeren Raum. Dies ist ein grober Fehler, den der Compiler nicht kompilieren kann.

2. Wenn Sie ein Signal von einem Pfeilindikator abnehmen, bei dem ein Wert nur erscheint, wenn eine Bedingung eintritt, schreiben Sie:

if(tratata>0) enter; Dies liegt daran, dass es sich um ein diskretes Signal handelt; wenn es keinen Pfeil gibt, ist der Puffer leer und es gibt nichts weiter zu prüfen

Wenn Sie verfolgen, wie die Anzeigelinie einen bestimmten Pegel überquert (der Puffer ist voll, das Signal ist analog), dann führt dieser Schriftzug if(trata>level) zu einem kontinuierlichen Eingangssignal, solange die Anzeigelinie über dem Pegel liegt. Aber das ist nicht das, was Sie wollen, Sie wollen ein Signal im Moment der Kreuzung erhalten. Und der Moment der Überquerung wird durch die Tratata und Trutata genau erfasst.

Das heißt, wir lesen die CCI-Werte bei Null und dem ersten Balken und setzen sie in die Variablen ein. Wir prüfen, ob der CCI beim ersten (vorherigen) Balken höher war. Wenn der CCI auf dem Null-Balken bereits unter dieses Niveau gefallen ist, hat ein Cross stattgefunden. Kombiniert man diese beiden Bedingungen mit logischem UND, erhält man ein einziges Kreuzsignal.

wo......Wo.......Wo.............. verstehen.... verstehen.....shaz heute Nachmittag werde ich granit77 mit DANKESCHÖN antworten. Schon auf den ersten Blick sieht man, dass SIE eine Engelsgeduld haben,

nicht wie die Lehrer in der Schule heute.....