MetaTrader 4 Build 529 beta mit neuem Compiler veröffentlicht - Seite 43

 
stringo:
Es wurde repariert. Danke


Leider wurde das Problem zwar behoben, aber nicht alles.

iVolume zeigt das.


Der Typ des Rückgabewerts muss noch in der Dokumentation festgelegt werden.

Experimentell stellte sich heraus, dass sie lang war,

nicht datetime, wie geschrieben, und nicht double, wie zuvor.

Ich danke Ihnen für Ihre Aufmerksamkeit.

 
Liegt es nur an mir, oder läuft die Beta-Version wirklich schneller (ich habe Win XP)?
 

An die Entwickler

Funktioniert derStrategietester überhaupt oder was?

Ich teste den Standard-MACD auf EURUSD. Das Handelskonto ist dasselbe, die Parameter sind dieselben, das Symbol ist dasselbe.

Bei 509 werden die Geschäfte ausgeführt, bei 538 jedoch nicht.

Wenn ich es brauche, werde ich Ihnen die Details schicken.

 
thecore:

Experimentell hat sich herausgestellt, dass sie lang ist,

nicht datetime wie geschrieben und nicht double wie vorher.

Übrigens ist dieser Datentyp nicht auf der Website (in der Dokumentation) beschrieben :)

Und es ist meiner Meinung nach logischer, ulong zurückzugeben.

 

Zeitgenau auf ms im Log - cool!

Aber die Spielstandshistorie zeigt nicht einmal Sekunden an)

 
Doppelklick aus den Favoriten führt zur Codebearbeitung
 
"Datei - Remote öffnen" öffnet eine linke Vorlage (Standard, aber nicht Standard).
 

Wenn Sie eine Zeile aus einer Datei lesen und dann die gleiche Zeile schreiben, wird ein zusätzlicher Zeilenumbruch eingefügt:

        string file_name = "test.txt";
        int handle  = FileOpen( file_name, FILE_TXT | FILE_READ | FILE_WRITE | FILE_ANSI | FILE_SHARE_READ ), _GetLastError = 0;
        if ( handle < 0 )
        {
                _GetLastError = GetLastError();
                if ( _GetLastError != 4103 ) Print( "FileOpen() - Error #", _GetLastError );
                return(false);
        }

        string temp_command;
        FileSeek( handle, 0, SEEK_SET );

        while ( !FileIsEnding( handle ) )
        {
                ulong command_start = FileTell( handle );
                temp_command = FileReadString( handle );
                if ( temp_command == "" ) continue;

                FileSeek( handle, command_start, SEEK_SET );
                FileWrite( handle, temp_command );
                break;
        }

        FileClose( handle );

Erscheint ab Zeile 2 (die erste Zeile ist OK). Im Jahr 509 war das in Ordnung.

Ich vermute, dass dies das Problem ist:

FileWriteString

Schreibt den Wert eines Parameters vom Typ String ab der aktuellen Position des Dateizeigers in eine Datei vom Typ BIN, CSV oder TXT. Wenn beim Schreiben in eine CSV- oder TXT-Datei ein "\n"-Zeichen (LF) ohne ein vorangehendes "\r"-Zeichen (CR) in der Zeichenfolge vorhanden ist, wird das fehlende "\r"-Zeichen vor dem "\n"-Zeichen angefügt.

Ich bin mir aber nicht sicher, ob dies auch für FileWrite gilt. Ich weiß immer noch nicht, was ich damit anfangen soll.

Soll ich es in den Service-Desk schreiben?

 
komposter:

Wenn Sie eine Zeile aus einer Datei lesen und dann die gleiche Zeile schreiben, wird ein zusätzlicher Zeilenumbruch eingefügt:

Erscheint ab Zeile 2 (die erste Zeile ist OK). Im Jahr 509 war das in Ordnung.

Ich vermute, dass dies das Problem ist:

Ich bin mir aber nicht sicher, ob dies auch für FileWrite gilt. Ich weiß immer noch nicht, was ich tun soll.

Soll ich mich an den Servicedesk wenden?

Bitte geben Sie alle Einzelheiten an. Damit wir uns nicht verirren.
 
komposter:

Wenn Sie eine Zeile aus einer Datei lesen und dann die gleiche Zeile schreiben, wird ein zusätzlicher Zeilenumbruch eingefügt:

int handle  = FileOpen( file_name, FILE_TXT | FILE_READ | FILE_WRITE | FILE_ANSI | FILE_SHARE_READ )   ,   _GetLastError = 0;
;?
Grund der Beschwerde: