Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 814

 
evillive:
Mein Fehler, ich werde es wiedergutmachen.
Das ist okay, das kommt vor! Aber ohne Fehler kann man sein Glück nicht sehen! ;)
 
CJIeCaPb:

Ahh, ich habe es falsch ausgedrückt, ja).

Separat nachgeprüft. Nur der Verkaufsschein war falsch. Ich habe auch den Rest überprüft: Aufträge, Vergleiche, Änderungen. Aber ich habe immer noch einen Stupor nach der Auftragserteilung. Alles funktionierte von selbst.

*Bedingungen für die Eingabe von if(MA=MA1), ist das falsch? Da = kein Bedingungszeichen ist, lautet das richtige Zeichen "==", aber wenn ich es so schreibe, tut der Expert Advisor überhaupt nichts. Die anderen Varianten: ">=", "<=", "<", ">" und "=" führen zur Auftragserteilung und zu weiterer Verblödung.

Es ist sicherlich nicht wahr, obwohl der Compiler es korrigieren wird, aber wer weiß, ob er es korrigieren wird oder nicht? Vielleicht wird es == oder != ersetzen, oder es wird es überhaupt nicht korrigieren, sondern einfach die Prüfung ignorieren und es immer auf true setzen.

Kompilieren Sie den Code mit #property strict, es gibt noch viel mehr zu korrigieren.

Das Kriterium muss in etwa lauten: "Wenn MA1(2)<MA(2) und MA1(1)>MA(1) - dann hat der zweite MA den ersten an der vorangegangenen Kerze nach oben gekreuzt". Und die Gleichstellung kann ein Jahr lang warten.

Und was denken Sie, was while(true) ist?

Weiter:

 //+------------------------------------------------------------------06-----------------------------------------------

//Buy

while(OrderType()==1)//Buy (а вот нифига, бай = 0)

и чуть ниже
//--------------------------------------------------------------------------
//Sell
while(OrderType()==2) //опять же, селл = 1
 

Wie organisiert man ein Arrayvom Typ int mit 1 Milliarde Werten und sortiert es dann? Bitte geben Sie mir ein Beispiel.

Bislang kann ich mit den Standardmitteln von MQL4 ein Array von int-Zahlen mit nur 2 Millionen Werten anordnen.

 
solandr:

Wie organisiert man ein Array vom Typ int mit 1 Milliarde Werten und sortiert es dann? Bitte geben Sie mir ein Beispiel.

Bislang kann ich mit den Standardmitteln von MQL4 ein Array von int-Zahlen mit nur 2 Millionen Werten anordnen.

Das ist eine gute Idee. Bitte berechnen Sie die erforderliche Speichergröße
 
Vinin:
Ein guter Wunsch. Bitte berechnen Sie den benötigten Speicherplatz
Das Problem ist klar. Aber wie löst man das Problem? Gibt es andere Möglichkeiten als die direkte Erstellung eines Arrays? Das heißt, wie sortiert man 1 Milliarde Werte aus? Oder ist es unmöglich, eine Lösung in MQL4 zu finden?
 
evillive:

Natürlich ist sie nicht korrekt, obwohl der Compiler sie korrigieren wird, aber wer weiß schon, ob sie korrekt ist oder nicht? Oder es kann == durch != ersetzen oder es überhaupt nicht korrigieren, sondern einfach die Prüfung ignorieren und immer auf true setzen.

Kompilieren Sie Code mit #property strict, es gibt eine Menge Dinge zu beheben.

Wenn Sie das Überkreuzen von 2 MAs prüfen müssen, wird dies nicht durch Gleichheit geprüft, sondern das Kriterium muss in etwa lauten "wenn MA1(2)<MA(2) und MA1(1)>MA(1) - dann hat der zweite MA den ersten auf der vorangegangenen Kerze nach oben gekreuzt". Und die Gleichstellung kann ein Jahr lang warten.

Und was denken Sie, was while(true) ist?

Weiter:


while(true) - eine Schleife, in der ich den Trend aufgreife:

-Wenn ein Auftrag einen Stop durchbricht (Zeit>0), setze ich ihn an die gleiche Stelle, an der er war;

- Wenn er ein bestimmtes Niveau erreicht (NormalizeDouble(OrderOpenPrice()+TP*Point,Digits)<=NormalizeDouble(Ask,Digits)), dann geht er in eine weitere Schleife über (wobei die Bedingung die Auftragsart ist), in der der Gewinn in Punkten berechnet und entsprechend geändert wird.

Bezüglich der Bedingung "Wenn MA1(2)<MA(2) und MA1(1)>MA(1) - hat der zweite MA den ersten auf der vorherigen Kerze nach oben gekreuzt"". , bedeuten die Zahlen in Klammern Kerzen? Hier ist meine Variante MA>Open[0] || MA<Open[0], wird sie funktionieren?

#Eigenschaft streng vorgeschrieben, Fehler korrigiert.

Ich habe die Art und Weise geändert, um den Gewinn in Punkten zu erhalten: die erhaltene Differenz zwischen dem aktuellen Preis und dem Eröffnungskurs wird durch Punkt geteilt (Zeile 217 und 271).

Ich habe Schriftumwandlungen in Zeilen vorgenommen: 218, 272, 369. Ist das richtig?

Es sind zwei Fehler aufgetreten:

mögliche Verwendung einer nicht initialisierten Variablen 'Prof' Test3.mq4 222 15

mögliche Verwendung der nicht initialisierten Variablen 'Prof' Test3.mq4 275 15

Dateien:
test3_6.mq4  15 kb
 

liebe experten....kürzlich begonnen, mql4 grundlagen zu lernen....ich habe eine frage an euch....sagen wir, ich habe einen hauptindikator und filter....wenn eine bedingung auf dem hauptindikator erfüllt ist, dann sollten bestimmte bedingungen von filtern mit ihm übereinstimmen, aber wenn eine andere bedingung auf dem hauptindikator erfüllt ist, dann sollten filter andere bedingungen haben.......Ich brauche das, um einen Handel zu eröffnen...Kann ich in dieser Situation das || Zeichen benutzen oder geht das nicht...irgendeine Antwort bitte in einer verständlichen Weise erklären, da ich immer noch ein Narr bin...Respektvoll!

 
kempo102938:

liebe experten....kürzlich begonnen, mql4 grundlagen zu lernen....ich habe eine frage an euch....sagen wir, ich habe einen hauptindikator und filter....wenn eine bedingung auf dem hauptindikator erfüllt ist, dann sollten bestimmte bedingungen von filtern mit ihm übereinstimmen, aber wenn eine andere bedingung auf dem hauptindikator erfüllt ist, dann sollten filter andere bedingungen haben.......Ich brauche das, um einen Handel zu eröffnen...Kann ich in dieser Situation das || Zeichen benutzen oder kann ich das nicht...irgendeine Antwort bitte in einer verständlichen Weise erklären, da ich immer noch ein Narr bin...Respektvoll!

Entscheiden Sie sich. Wollen Sie ein "UND" oder ein "ODER".
 
Taak.... zeigt der Hauptindikator die Balken des Charts in 5 verschiedenen Farben an (grün, blau, rot, orange, grau). Verkaufen: Das Hauptindi zeigt einen grauen Balken an-->die Filter zeigen ihre Signale an-->der Handel wird eröffnet. Wenn die Hauptanzeige einen orangefarbenen Balken zeigt-->Filter zeigen andere Signale.... usw. Wie schreibe ich im Code richtig vor, damit sich die Trades nicht wiederholen, denn mit jeder Kerze kann die Farbe des Hauptindi "hin und her" springen...hoffe, ich habe das Problem gut erklärt...Hochachtungsvoll!
 
CJIeCaPb:

while(true) - eine Schleife, in der ich den Trend aufgreife:

Und wann sollte dieser Kreislauf Ihrer Meinung nach geschlossen werden?

if(R==0)
{
 while(true)
 {
  Sleep(30000);
  Alert("Ошибка!");
 }
}

?

CJIeCaPb:

Über die Bedingung "Wenn MA1(2)<MA(2) und MA1(1)>MA(1) - hat der zweite MA den ersten MA auf der vorherigen Kerze nach oben gekreuzt"". , bedeuten die Zahlen in Klammern Kerzen? Hier ist meine Variante MA>Open[0] || MA<Open[0], geht das?

Ja, die Kerzennummer in Klammern ist die Kerze, für die der MA-Wert genommen wird. Ja, mit dem Eröffnungspreis wird es reichen.

CJIeCaPb:

Ich habe die Methode geändert, um den Gewinn in Punkten zu erhalten: die erhaltene Differenz zwischen dem aktuellen Preis und dem Eröffnungskurs wird durch Punkt geteilt (Zeile 217 und 271).

Ich habe Schriftumwandlungen in Zeilen vorgenommen: 218, 272, 369. Ist das richtig?

Die Variable Profit (als Integer zu deklarieren) reicht völlig aus, um den Gewinn in Pips zu berechnen, die anderen beiden sind überflüssig:

 if(NormalizeDouble(Ask,Digits) <= NormalizeDouble(OrderOpenPrice(),Digits))
 {
  Profit = (int)((NormalizeDouble(OrderOpenPrice(),Digits)-NormalizeDouble(Ask,Digits))/Point);

  Profo = Profit/Point;
   Prof= (int)Profo;
 }
   
 if(OldProfit>Prof  Profit )
  continue;
 else
  OldProfit=Prof  Profit ; //ну и так далее, где профит считается

Und es gibt eine Menge Schleppnetze in kodobase, warum sollte ich ein Lissapet mit rechteckigen Rädern erfinden?