Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 325
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
Komm und hilf mir.
Die Aufgabe besteht darin , das kleinste Element in array[] zu finden.
Das Problem ist, es zu lösen, aber das Minimum bringt mich um. Alles versucht, Eingabefelder sind gefüllt - Debugging durchgesehen, was ist zu tun?
Vielleicht gibt es einige Nuancen?
erklärt über
Komm und hilf mir.
Die Aufgabe besteht darin , das kleinste Element in array[] zu finden.
Das Problem ist, es zu lösen, aber das Minimum bringt mich um. Alles versucht, Eingabefelder sind gefüllt - Debugging durchgesehen, was ist zu tun?
Vielleicht gibt es einige Nuancen?
erklärt über
Versuchen Sie ArraySort und überprüfen Sie die Ausgabe auf dem ersten Index.
Soviel zur Noosphäre, sobald ich die Frage aufgegeben hatte, begann ich mit einer Vermutung: Ich habe 0 im Array, also gibt es min = 0. Aber es gibt immer noch Abschnitte mit Nicht-Null-Werten, und das min ist immer noch 0, nun, Gott hilf mir, die Frage ist aus)) Danke an diejenigen, die gerade die Frage gelesen haben, die Noosphäre gab Ihnen
Achtung Frage))
Wie stelle ich den Balken im Indikator ein, ab dem die Verarbeitung beginnen soll?
if(prev_calculated>rates_total-Bmax)
{ ... то что нужно обрабатывать начиная с бара[rates_total-Bmax]
}
Das Ergebnis ist, dass der Indikator überhaupt keine Bewegung macht.
Hallo noch einmal, könnten Sie mir bitte sagen, ob ich den Index eines Array-Elements kenne und welche Funktion verwendet wird, um seinen Wert herauszufinden?
int Totall=AuftragsSumme();
double Price; // Preis der ausgewählten Bestellung
double Mas[]; //Array zum Ordnen aller Aufträge
for(int i=0; i<OrdersTotal(); i++) //Bestellschleife
{
if(OrderSelect(i,SELECT_BY_POS)) // If(OrderSelect(i,SELECT_BY_POS)) // Wenn es einen nächsten
{Price=OrderOpenPrice(); //Füllung des Arrays mit Preisen
Mas[i] = Preis;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Jetzt werden die Eröffnungskurse in absteigender Reihenfolge sortiert
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) // Der Index des Elements, das dem aktuellen Preis am nächsten kommt, wird ermittelt
Wie ich schon beim Studium der Kurse festgestellt habe, gibt es auch hier Nuancen, die in den Artikeln nicht beschrieben werden oder so versteckt sind, dass man sie mit einer Suchmaschine nicht finden kann. Einen ganzen Tag lang haben wir vergeblich nach Erklärungen gesucht. Zum Beispiel, was dieses Symbol bedeutet und wie es sich auswirkt, wenn nicht. Wie im folgenden Beispiel für Statik zu sehen ist, ist es erst da und dann nicht mehr: &
Auch bei diesem Symbol ist nicht klar, was es bedeutet: ~
*
Die Funktionen mql4, mql5 übergeben ein Array immer nur per Referenz (& == kaufmännisches Und)
Erstens gibt es in den formalen Parametern einer Funktion ein kaufmännisches Und-Zeichen, das anzeigt, dass nicht das Array selbst an die Funktion übergeben wird, sondern ein Link darauf. Und dann - innerhalb der Funktion - arbeiten Sie bereits mit der Referenz, was bedeutet, dass Sie sie nicht noch einmal angeben müssen.
Die Tilde (~) steht vor dem Namen des Klassendestruktors - der Konstruktor und der Destruktor haben denselben Namen wie die Klasse selbst, aber der Destruktor hat ~.
Lesen Sie diesen Artikel darüber, wann Sie Referenzen und wann Sie Zeiger verwenden sollten.
Allerdings müssen Sie trotzdem die Grundlagen lesen.
Hallo noch einmal, könnten Sie mir bitte sagen, ob ich den Index eines Array-Elements kenne und welche Funktion verwendet wird, um seinen Wert herauszufinden?
int Totall=AuftragsSumme();
double Price; // Preis der ausgewählten Bestellung
double Mas[]; //Array zum Ordnen aller Aufträge
for(int i=0; i<OrdersTotal(); i++) //Bestellschleife
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{Preis=BestellungÖffnenPreis(); //Fülle Array mit Preisen
Mas[i] = Preis;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Jetzt werden die Eröffnungskurse in absteigender Reihenfolge sortiert
int Blizko2=ArrayBsearch(Mas,Ask,WHOLE_ARRAY,0,MODE_DESCEND) // Der Index des Elements, das dem aktuellen Preis am nächsten kommt, wird ermittelt
Wert_Element_Array = Array[index];
Bitte beraten Sie, ich habe ein EA und ich habe es bei der Arbeit auf einem normalen Computer, Windows hp getestet. Alles funktioniert einwandfrei und so weiter.
Ich komme nach Hause, zu Hause Laptops macbook, und absolut mit den gleichen Parametern auf dem gleichen Tool mit dem gleichen Zeitrahmen zeigt ein völlig anderes Ergebnis in den Tester, irgendwelche Vorschläge oder Ideen, warum so?
Array_element_wert = Array[index];
Danke, jetzt gibt es ein neues Problem. Beim Schreiben der folgenden Bedingung tritt ein Fehler 'PriceBlizko1' - nicht deklarierter Bezeichner auf. Bitte erklären Sie, warum?
doppelter Preis; // Preis für die ausgewählte Bestellung
double Mas[]; //Array zur Anordnung aller Aufträge
for(int i=0; i<OrdersTotal(); i++) // Auftragsschleife
{
if(OrderSelect(i,SELECT_BY_POS)) // if(OrderSelect(i,SELECT_BY_POS))
{
Preis=OrderOpenPrice(); //Fülle Array mit Preisen
Mas[i] = Preis;
}
}
ArraySort (Mas,WHOLE_ARRAY,0,MODE_ASCEND); // Jetzt sind die Eröffnungskurse in absteigender Reihenfolge geordnet
int Blizko1=ArrayBsearch(Mas,Bid,WHOLE_ARRAY,0,MODE_ASCEND); //Der Index des Elements, dessen Wert dem aktuellen Kurs am nächsten liegt, wird ermittelt
double PriceBlizko1=Mas[Blizko1];
}
if (PriceBlizko1-Bid>=30*Point) //wenn die untere Order weiter als 30 Punkte ist !!!!!! IN THIS STREET!!!!!
OrderSend(Symbol(),OP_SELL,LtsS,Bid,2,0,Bid+30*Point); //Verkaufsorder eröffnen
Alert (GetLastError()); //Fehlermeldung.
Verwenden Sie die Schaltfläche zum Einfügen des Codes!