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

 
Artyom Trishkin:

Es ist nicht klar, was wir am Ende brauchen - einige seltsame Gedanken.


Dies sind zwei Fragen in einem Beitrag, die das gleiche Problem lösen :-)

1. Wie man einen Fehler bei der Objekterzeugung aus einer Funktion zurückgibt, die Daten zurückgeben sollte

2. Gibt es eine Möglichkeit, eine Schleife durch die Positionen für ein bestimmtes Symbol, ohne PositionsTotal jedes Mal zu verwenden?

 
psyman:


Das sind zwei Fragen in einem Beitrag, die das gleiche Problem lösen :-)

1. Wie man einen Fehler bei der Objekterzeugung aus einer Funktion zurückgibt, die Daten zurückgeben sollte

2. Gibt es eine Möglichkeit, eine Schleife durch die Positionen für ein bestimmtes Symbol, ohne PositionsTotal jedes Mal zu verwenden?

1. Warum sollte eine Objekterstellungsfunktion, die nur ein Objekt erstellen und bei Erfolg true oder bei Fehler false zurückgeben soll, etwas anderes zurückgeben? Das sollte es nicht. Die Funktion muss eine Sache tun und das Ergebnis ihrer Arbeit zurückgeben. Oder, wenn Sie ein Ungeheuer schaffen wollen, geben Sie Daten über Variablen per Referenz zurück.

2. Das hängt davon ab, welche Art von Konto Sie haben.

3. Öffnen Sie endlich die Hilfe - es gibt viele "Wunder" zu entdecken

 
Artyom Trishkin:

1. Warum sollte eine Objekterstellungsfunktion, die lediglich ein Objekt erstellen und bei Erfolg true oder bei Misserfolg false zurückgeben soll, etwas anderes zurückgeben? Das sollte es nicht. Eine Funktion sollte eine Sache tun und das Ergebnis ihrer Arbeit zurückgeben. Oder, wenn Sie ein Ungeheuer schaffen wollen, geben Sie Daten über Variablen per Referenz zurück.

2. Das hängt davon ab, welche Art von Konto Sie haben.

3. Öffnen Sie endlich die Hilfe - dort gibt es eine Menge "seltsamer Entdeckungen".


Ich verstehe, was Sie meinen. Danke, ich werde den Code vereinfachen.

Der Kontotyp ist Hedge.

Vielleicht scheinen die Fragen einfach zu sein, aber sie tauchen erst auf, nachdem ich die Hilfe gelesen habe, nicht alle Details sind dort beschrieben, ich muss nach Details in Artikeln oder hier suchen.

 
Roman Shiredchenko:

Genossinnen und Genossen - achten Sie auf den Indikator für Korrektheit. Es gibt eine Formel Wert = (Open[0]-SMA(P,n))/SMA(P,n))*100%.

Ich habe es in das Diagramm eingefügt - es berechnet und stellt alles dar. Ich fange an, den Wert auf einem Balken mit dem Taschenrechner zu überprüfen - er stimmt nicht mit dem überein, den ich gezeichnet habe...

Hier ein Beispiel, ich berechne Open 1,0178, MA(13) 1,0182 mit der Formel ((1,0178-1,0182)/1,0182) * 100% - das Ergebnis auf dem Taschenrechner ist -0,0393. Und der MT4-Chart zeigt -0,0929. Ist es ein Fehler im Code oder berechnet der Rechner dort einige Werte nicht korrekt? Bitte um Hilfe. Ich füge den Indikator bei.

Sie haben es in der Formel Open[0], so sollte es auch gemacht werden.

 
Alekseu Fedotov:

Sie haben Open[0] in Ihrer Formel, also ist sie so konzipiert.

Nun, ja. So sehe ich die Eröffnungspreise... Es gibt einen Aufmacher und einen Lückentext... verwirrt...
 
Seric29:
Wie füllt man ein 4-dimensionales Array des Formats int Mas[1][2][2][2] mit Werten, wie weist man jeder Zelle des Arrays einen Wert zu, in diesem Fall gibt es ein 2-dimensionales Array int Arr[1][2]={3,4}; wie füllt man ein 4-dimensionales?

Verwenden Sie ein Array von Strukturen, es ist um ein Vielfaches einfacher, klarer und produktiver in Bezug auf die Programmausführung

struct My_St
{
   datetime tm; 
   int      mg;    
   double   tp;     
   double   sl;     
};
My_St st[];
 

Ich habe mehrere Werkzeuge, die analytisch gekennzeichnet sind.

Ich möchte das Farbschema der Bilder ändern.

Ich will das nicht von Hand machen, sondern auf eine clevere Art und Weise.

Ich habe zum Beispiel nur schwarzen Text, möchte aber weißen.

Dankeschön

 
Roman Shiredchenko:
Nun, ja. So sehe ich die Eröffnungspreise.... Es gibt da einen Öffner und eine Klausel, wie es scheint... verwirrt...

Ich weiß es nicht, das ist die Idee.


Was war die Idee dahinter?

wenn wir den Wert eines beliebigen Balkens nehmen (von History =5000; // die Anzahl der Balken im berechneten Verlauf)

dann die Eröffnung desselben Balkens, aber nicht Null,

Ihre Formel(Open[0]-SMA(P,n))/SMA(P,n))*100%


Roman, viel Glück

 
Igor Makanu:

Mehrdimensionale Arrays werden in der Regel in Schleifen mit den richtigen Werten gefüllt - es ist schwieriger, einen Fehler zu machen, für ein vierdimensionales Array sollte es etwa so aussehen, aber ich könnte mich irren:

Nein, Sie haben nicht Unrecht. Mein Fehler war, es so zu schreiben.

A[1][2][4][2] = {{{1,2}, {0,2}, {1,2}, {1,2}},{{1,2}, {1,2}, {1,2}, {1,2}}}, 

Ich hätte es so schreiben sollen.

A[1][2][4][2] = {{{{1,2}, {0,2}, {1,2}, {1,2}},{{1,2}, {1,2}, {1,2}, {1,2}}}}, 

Es gibt 4 Klammern an den Rändern und ich habe 3. Das liest sich wie folgt.

A[1] - означает 1ну строку, один ярус
A[1][2] 2ка в следующих скобочках говорит о том что мы имеем дело с 2мя 3ёх-мерными массивами, другими словами, это как 2 параллельных мира
A[1][2][4][2] - последующие [4][2] описываю 3ёхмерный массив, т.е. каждый из массивов имеет 4 столбца, и в каждом по 2 значения вот пример
{{1,2}, {0,2}, {1,2}, {1,2}} 4 столбца в каждом по значения

Im Allgemeinen danke ich Ihnen, wenn ich lange genug lebe, werde ich damit arbeiten.

 
Seric29:

Wenn Sie eine Struktur an eine Funktion übergeben, müssen Sie für jede Struktur eine eigene Funktion schreiben, so dass die Funktion zu statisch und wenig flexibel ist. Aber Strukturen haben eine positive Seite, man kann Arrays verschiedener Typen in Strukturen kombinieren und sie als ein ganzesmehrdimensionales Array lesen, aber leider habe ich den Link zu dieser Seite verloren, auf der gezeigt wurde, wie man das macht. Um die Wahrheit zu sagen, ich bin nicht sehr gut mit Strukturen, viel weniger Text, wenn die globale Variable Erklärung als ein Punkt, um die Felder der Struktur zugreifen, auch ich nicht verstehen, die Klassen, las ich das Material viele Male in den letzten wenig mehr verstehen, aber erklärt sehr kompliziert und umständlich, zu wissenschaftlichen Phrasen in der Erklärung verwendet, so dass ich im Grunde nicht verstehen, viel von dem Material, und was genau dynamische Objekte können mir auch getan werden.

Grund der Beschwerde: