Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 633

 
hoz:


Nein. Ich habe bereits meine Terminal-Verzeichnisordner durchsucht:

Es gibt nirgendwo einen Dateinamen:

So sollte es laut meinem Code sein.

es bedeutet, dass die Zeichen des vollständigen Pfades + Dateinamen gezählt werden müssen. wenn mehr als 255 - hallo - nichts passiert.... kein Fehler - leider ist es dafür bekannt, dass es auf der Benutzerseite zu Verwirrung führt...

Kürzen Sie den Dateinamen auf "1" oder etwas anderes Eindeutiges und durchsuchen Sie den Datenträger mit den integrierten Windows-Tools...

Sie können auch von Hand eine Datei in dem gewünschten Verzeichnis erstellen. Wenn sie sich öffnet, bedeutet das, dass wir nach einem Fehler im Code suchen werden.

 
barabashkakvn:
Um Probleme mit MetaTrader4/MetaEditor4 zu vermeiden, stellen Sie in den Terminal- und Editor-Einstellungen "Als Administrator ausführen" ein. Danach werden die MQL4.Cloud und die Vorlagen im Terminal korrekt funktionieren.


Ich danke Ihnen. Irgendwie habe ich daran zuerst nicht gedacht :) Ich werde versuchen, es zu tun. Aber ich habe bereits festgestellt, dass das "Programmverzeichnis" jetzt in einen normalen Pfad verschoben wurde:

C:\Program Files (x86)\Имя терминала\

Wie bisher. Der "Gemeinsame Datenordner" ist allerdings noch da:

C:\Users\hoz\AppData\Roaming\MetaQuotes\Terminal\Common
 
hoz:


Danke. Irgendwie habe ich nicht sofort daran gedacht :) Ich werde es versuchen. Aber an dieser Stelle werde ich bereits feststellen, dass das "Programmverzeichnis" direkt in den normalen Pfad verschoben wurde:

Wie bisher. Der "Gemeinsame Datenordner" ist aber immer noch da:

um,von admin.... Muss das sein? Die Leute wissen nicht, wie man eine Firewall aufbaut....

Ich habe mich gefragt, wie man die Berechtigungen einschränken kann...

grundsätzlich verstanden - installieren Sie es als "Nicht-Administrator"

Danke !!!! )))

 
_new-rena:

hmm, von admin.... Muss das sein? Die Leute wissen nicht, wie man sich defaerwall....

Ich habe mich gefragt, wie man das macht, um die Rechte des Meta-Benutzers einzuschränken...

grundsätzlich verstanden - installieren Sie es als "Nicht-Administrator"

Danke !!!! )))


Sobald ich auf Windows 8.1 umgestiegen bin, musste ich diesen Weg erfinden :)
 

Letztendlich gab und gibt es keine Datei. Hier ist der aktuelle Code der Klasse:

// 1.1 Пишим Log-файл. ====================================================================================================================
CLogging::fWriteLog( string  fs_Txt,                           // Данные, которые требуется записать в log-файл
                      bool   fb_PrintPermission = true,        // Флаг печати комментариев
                      bool   fb_CommentPermission = true )     // Флаг показа комментариев на графике
{
   static datetime ldt_NewDayOpen = 0;
   static string   ls_FileName = "";
   datetime        ldt_CurrDayOpen = iTime( Symbol(), NULL, PERIOD_D1 );
   //---- Имя лог файла определяем один раз в сутки
   if ( ldt_NewDayOpen != ldt_CurrDayOpen )
   {
      // ls_FileName = StringConcatenate( WindowExpertName(), "_", Symbol(), "_", Period(), "-", Month(), "-", Day(), ".log" );
      ls_FileName = StringConcatenate( "T" );
      ldt_NewDayOpen = ldt_CurrDayOpen;
   }
   int handle = FileOpen( ls_FileName, FILE_READ|FILE_WRITE|FILE_CSV, "/t" );
   
   FileSeek( handle, 0, SEEK_END );
   FileWrite( handle, StringConcatenate(TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS), ": ", fs_Txt) );
   FileClose( handle );
   
//   fPrint( fs_Txt, fb_PrintPermission, fb_CommentPermission );
}

Aufrufen aus dem Expert Advisor. Der Kurs funktioniert. Die FunktionfPrint, die unten arbeitet (gibt auf dem Bildschirm aus, was man braucht), habe ich auskommentiert, weil ich genau das Erstellen und Schreiben in die Datei teste. Ich habe den langen Dateinamen auf ein "T" beschränkt.

Es gibt keine Datei. Hier ist das Ergebnis der Suche:


 
hoz:

Letztendlich gab und gibt es keine Datei. Hier ist der aktuelle Code der Klasse:

Aufrufen aus dem Expert Advisor. Der Kurs funktioniert. Die FunktionfPrint, die unten arbeitet (gibt auf dem Bildschirm aus, was man braucht), habe ich auskommentiert, weil ich genau das Erstellen und Schreiben in die Datei teste. Ich habe den langen Dateinamen auf ein "T" beschränkt.

Es gibt keine Datei. Hier ist eine Suche, die zu Ergebnissen führte:

                  

int handle=FileOpen(Symbol()+".csv",FILE_READ|FILE_WRITE|FILE_CSV);
if(handle>0)
{                  
FileSeek(handle,0,SEEK_END);
double BID=MarketInfo(Symbol(),MODE_BID);
FileWrite(handle,DoubleToString(BID,4));
}
FileClose(handle);

versuchen Sie dies (ich mag es nicht, den Code anderer Leute zu verstehen)

Und noch etwas, der Markt steht, die Ticks kommen nicht, start() funktioniert nicht. Fügen Sie den Code in init() ein und kompilieren Sie ... und Sie werden zufrieden sein ))) !

//Vergessen Sie nicht, es an start() oder wie auch immer es jetzt heißt, zu übertragen...

 

Wie verwendet man den Return-Operator, um STRUCTURES zurückzugeben?

Kann die Benutzerfunktion Strukturen zurückgeben, oder wird sie anderweitig verwendet?

Kann eine Struktur Operatoren enthalten, oder ist sie nur ein Satz von Variablen?

Und wie werden sie im Allgemeinen gehandhabt? (nur auf Russisch und ohne kilometerlange Verweise auf die Programme von jemandem, können Sie einfachere Beispiele verwenden, wie c=a+b).

 
Tara, ich habe es gelesen. Dreimal:-)) Ich frage nach dem Rückgabeoperator. Es scheint, dass ich dort etwas "auslagern" wollte, um nicht fünfmal das Gleiche zu schreiben. Oder ist es möglich, dort etwas für öffentlich/geschützt zu erklären und mich nicht zu stören?
 

Hier

https://docs.mql4.com/ru/basis/operators/return

heißt es:

"Sie können einfache Typen, einfache Strukturen und Zeiger auf Objekte zurückgeben. Arrays, Klassenobjekte oder Variablen mit komplexen Strukturtypen können nicht mit dem Return-Operator zurückgegeben werden.

"