Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1428

 
ANDREY:

Ich habe den Grundgedanken verstanden... soweit es mich betrifft. Danke für den Hinweis. Wenn es Ihnen nichts ausmacht, könnten Sie mir sagen, was das Dollarzeichen vor dem Array-Namen $ array[] und vor dem Wert $var bedeutet

Ich habe das Gefühl, dass es aus irgendeinem Grund nicht von mql4 stammt.

ja, es ist nicht vonmql, aber die Bedeutung ist diesel be

 
Aleksei Stepanenko:
In Ihrem Fall ist die Antwort auf die Hauptfrage interessant: Warum müssen Sie jede Minute eine Sortierung vornehmen? Wie kann Ihre Idee wirtschaftlicher umgesetzt werden?

Der von mir gepostete Code ist nur ein Beispiel für das Problem, das ich nicht lösen konnte. Im echten Code muss die Sortierung bei jedem Tick in einer Spalte mit 20 bis 30 Elementen erfolgen. Ich habe einen Quad-Core-Prozessor und deshalb spüre ich beim Testen keine Verzögerungen. Außerdem ist der eigentliche Code auch nicht sehr groß. Aber ich habe meine Idee noch nicht vollständig in Form von Code dargestellt. Wenn ich es vollständig kodiert habe, werde ich darüber nachdenken, wie ich es vom Standpunkt der Leistung aus verbessern kann.

Und habe ich es richtig verstanden, dass die Suche nach 1000 Werten in mql weniger Zeit benötigt als das Sortieren von 1000 Array-Elementen oder andere Operationen mit Arrays? Übrigens, könnten Sie mir..... bitte sagen, welche Operationen in mql4 besonders viel Zeit in Anspruch nehmen?

Danke für die Hilfe

 
Vitaly Muzichenko:

ja, es ist nicht vonmql, aber die Bedeutung ist diesel be

Und um welche Sprache handelt es sich, und gehe ich recht in der Annahme, dass einige Konstruktionen dieser Sprache in mql verwendet werden können? Ich denke, dass diese Informationen in Zukunft nützlich für mich sein werden
Danke für Ihre Hilfe.

 
ANDREY:

Um welche Sprache handelt es sich und verstehe ich richtig, dass einige Konstruktionen dieser Sprache in mql verwendet werden können? Ich denke, dass diese Informationen in Zukunft nützlich für mich sein werden
Danke für Ihre Hilfe.

Es ist php, aber ich glaube nicht, dass Sie sich damit befassen müssen,es gibt auch genug Antworten aufmql in diesem Forum.

 
Vitaly Muzichenko:

Es ist php, aber ich glaube nicht, dass Sie sich damit beschäftigen müssen,es gibt auch genug Antworten aufmql in diesem Forum.

Ich hab's. Danke.

 
ANDREY:

Ich hab's. Ich danke Ihnen.

Sie müssen die Logik dessen, was Sie ausgeben wollen, genau durchdenken und dann mit dem Schreiben beginnen. Es gibt viele Dinge, mit denen man nicht jeden Tag rechnen muss, sondern nur, wenn sich die Situation ändert.

Sie brauchen nur die Veränderung der Situation zu überwachen und die schweren Berechnungen danach durchzuführen, anstatt sie unnötigerweise bei jedem Tick durchzuführen.

 
Vitaly Muzichenko:

Sie müssen die Logik dessen, was Sie ausgeben wollen, genau durchdenken und dann mit dem Schreiben beginnen. Es gibt viele Dinge, die nicht bei jedem Tick berechnet werden müssen, sondern nur, wenn sich die Situation ändert.

Dazu müssen Sie nur die Veränderung der Situation beobachten und dann umfangreiche Berechnungen anstellen, anstatt sie bei jedem Tick ohne Notwendigkeit durchzuführen.

Ich habe die Logik bereits durchdacht und weiß genau, was ich am Ende erreichen möchte. Ich verstehe Mql4 (und ein wenig Mql5) so weit, dass ich vieles (aber nicht alles) von dem verstehe, was ich von den Manuskripten brauche. Und was am wichtigsten ist: Ich verstehe fast alles, was mir in diesem Forum erklärt wird. Ich versuche nun, mein Konzept zu programmieren, aber nicht irgendwie, sondern der Code sollte schnell ausgeführt werden, da ich ihn auf vielen Instrumenten und auf langen Zeitrahmen testen muss. Und überhaupt .... Das heißt, im Moment versuche ich mein Bestes, mein Konzept durch Versuch und Irrtum zu programmieren (ich habe sehr wenig Programmiererfahrung) und gleichzeitig etwas Neues und Nützliches für zukünftige Versuche zu lernen.

 
ANDREY:

Aber nicht willkürlich, sondern so, dass die Codeausführung möglichst wenig Zeit in Anspruch nimmt.

Sagen Sie uns also, wofür die Sortierung benötigt wird, vielleicht können wir eine Idee für eine andere Implementierung finden.

 
Aleksei Stepanenko:

Sagen Sie mir also, wozu die Sortierung dienen soll, vielleicht können wir eine Idee für eine andere Umsetzung finden.

Vielen Dank für Ihre Hilfe. Sie haben mich fasziniert ..... Ich denke, dass ich in 1-2 Tagen einen Teil des echten Codes mit Sortierung fertigstellen werde und ihn dann hier posten werde, um Ihre professionelle Meinung zu erfahren.

Und ich habe noch eine Frage zu den Informationen, die mir Maxim Kuznetsov in diesem Beitrag gegeben hat. Er ist seltener hier als Sie, daher wäre ich dankbar, wenn Sie mir etwas über seinen Code erklären könnten

void Convert_7x2_2x7 (const double &src[7][2],double &dst[2][7]) {

for(int i=0;i<7;i++)

for(int j=0;j<2;j++) {

dst[j][i]=src[i][j];

}

}

Ich habe es lange und sorgfältig studiert, und das ist es, was mir in den Sinn gekommen ist...

1. dies ist eine benutzerdefinierte Funktion

2. im obigen Code ist kein Hinweis darauf zu finden. Sie ist im Hauptcode innerhalb von void OnTick() impliziert

3. in diesem Code werden nur die Array-Indizes geändert. Was mit den Werten der Array-Elemente geschieht, kann ich nur vermuten.

Was ich nicht verstehe, ist Folgendes.

Wenn die endgültige Ausführung dieser Funktion dazu führt, dass dst[j][i] neue Werte von dst[7][2] erhält , was war dann der Sinn der Schleifen? Könnte dst[j][i] diese Indexwerte nicht sofort und explizit zugewiesen werden?

2. habe ich es richtig verstanden, dass, wenn ich die Werte der Indizes in diesem Code ändere, die notwendigen Werte der Array-Elemente automatisch in die neuen Zellen von selbst ändern werden?

3. ich wäre Ihnen dankbar, wenn Sie schreiben könnten, wie diese benutzerdefinierte Funktion aufgerufen wird.

Das Thema Arrays ist für mich ziemlich neu, und obwohl diese Informationen nichts mit meinem aktuellen Code zu tun haben, bin ich sicher, dass sie mir in Zukunft nützlich sein werden. Und ich möchte von Natur aus Rücklagen für die Zukunft bilden. :-)
Vielen Dank für Ihre Hilfe.

 

Nein, das ist weit weg von professionell.

double LoY[31][2], Mirror[2][31];

//вызывается так:
ConvertArray(LoY,Mirror);

//все значения строк из массива LoY запишутся в столбцы Mirror,
//условно сказать, массив повернётся
void ConvertArray(const double &src[31][2],double &dst[2][31])
   {
   for(int i=0; i<31; i++) for(int j=0; j<2; j++) dst[j][i]=src[i][j];
   }

Grund der Beschwerde: