Ermitteln der Anzahl der Dezimalstellen beliebiger Zahlen (nicht nur Anführungszeichen) unter Umgehung von Digits() in MQL4 und MQL5 - Seite 19

 
Danke, ich werde es morgen ausprobieren.
 
Great, in mql5 sie entfernt Sortierrichtung von ArraySort Funktion, in dem Artikel über die Migration von mql4 sie raten, ArraySetAsSeries stattdessen verwenden... Es funktioniert nicht mit mehrdimensionalen Arrays =))) Gestern habe ich ArraySort aus dem Nichts modelliert)))
 
Dmitry Fedoseev:

Ich wähle die Option Konvertierung in String.

Ihre Option wurde leicht geändert

int ds(double v){
   string s=(string)v;
   int l=StringLen(s);
   int p=StringFind(s,".",0);
   return((p>0)?l-p-1:0);
}
 
Igor Makanu:

Danke, ich habe sie, ich werde sie morgen testen.

Ich habe eine wichtige Klarstellung vergessen :)

#define    test(M,S,EX)        {uint mss=GetTickCount();int nn=(int)pow(10,M);for(int tst=0;tst<nn&&!_StopFlag;tst++){EX;} \
                                printf("%s: loops=%i ms=%u",S,nn,GetTickCount()-mss);}

Andernfalls können Sie lange Zeit hängen, wenn Sie scheitern)

Taras Slobodyanik:

Ich habe Ihre Version ein wenig optimiert.

Ausgezeichnete Option, aber sie funktioniert 10 Mal langsamer als die bereits vorgeschlagenen Optionen

 
fxsaber:

Kann ich Brainstorming auf eine schnelle Implementierung der Übersetzung eines Arrays von Strukturen (Länge Vielfache von sizeof(int)) zu und von einem int[] Array?

Praktische Anwendung ist der schnelle Datenaustausch über Ressourcen. Meine Variante ist zu universell, so dass sie sich verlangsamt.


Diese Funktionen wurden in MT5 eingeführt

Diese gibt es in MT4 nicht und wird es wahrscheinlich auch nicht geben. Daher müssen wir das Problem mit und ohne diese Funktionen lösen (falls sie nützlich sind).

Das Ergebnis wird für eine große Zahl von Forumsnutzern hier nützlich sein.


Ich habe eine sehr einfache Vorlage für ein Brainstorming mit meiner Lösung für dieses Problem geschrieben.


Ergebnis

Die Struktur ist eine Zeichenkette. Seine Länge kann nicht ein Vielfaches von int oder nicht int sein.

 
Ilya Malev:
Es ist toll, mql5 hat Sortierrichtung von ArraySort Funktion entfernt. Es scheint, dass in dem Artikel über die Migration von mql4 sie empfehlen, ArraySetAsSeries stattdessen verwenden... Aber es funktioniert nicht mit mehrdimensionalen Arrays =))) Gestern habe ich ArraySort aus dem Nichts modelliert)))

Artikel

Sortiermethoden und ihre Visualisierung mit MQL5

Dmitrii Troshin, 2017.05.26 09:44

Für die Arbeit mit Grafiken in MQL5 wurde eine spezielle Bibliothek Graphic.mqh erstellt. Der Artikel beschreibt ein Beispiel für seine praktische Anwendung und erläutert das Wesen des Rangierens. Für jede Sortierung gibt es mindestens einen eigenen Artikel, und zu einigen von ihnen wurden ganze Studien veröffentlicht, so dass hier nur die allgemeine Idee beschrieben wird.

 
Andrey Khatimlianskii:

Gibt es einen Vergleich der Sortiergeschwindigkeit mit dem üblichen eingebauten ArraySort auf zufällige Stichproben? Gibt es eine Methode, die zufällige Daten im Durchschnitt schneller sortiert?

Oder nicht schneller, aber zumindest gleich schnell. Oder nicht so schnell, aber zumindest nicht länger als doppelt so lange. Ohne Dll und andere Dinge wie Multithreading
 
Алексей Тарабанов:

Die Struktur ist eine Zeichenkette. Seine Länge kann nicht ein Vielfaches von int oder nicht int sein.

Die Multiplizität ist die Bedingung des Problems.

 
Ich kann nicht darüber hinwegkommen.
Ich werde mich auf jeden Fall beteiligen, wenn ich an den Computer komme.
Nach einem kurzen Blick habe ich bereits Ideen, wie ich das Ergebnis um 10-20% verbessern kann.

 
Nikolai Semko:
Ich kann nicht darüber hinwegkommen.
Ich werde mich auf jeden Fall beteiligen, wenn ich an den Computer komme.
Ich habe bereits einige Ideen, wie man das Ergebnis um 10-20% verbessern kann.

Das Ergebnis von was?

Grund der Beschwerde: