Diskussion zum Artikel "Verwendung von selbstorganisierenden Karten (Kohonenkarten) in MetaTrader 5" - Seite 3

 

Ich heruntergeladen fand diese Müll-Zeichen ("?,"?,...) am Ende der Definition und stieß auf Kompilierungsfehler mit cintbmp.h:

string CA[]={"!","\"","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","file://%22,%22]%22,%22%5e%22,%22_%22,%22%60%22,%22a%22,%22b%22,%22c%22,%22d%22,%22e%22,%22f%22,%22g%22,%22h%22,%22i%22,%22j%22,%22k%22,%22l%22,%22m%22,%22n%22,%22o%22,%22p%22,%22q%22,%22r%22,%22s%22,%22t%22,%22u%22,%22v%22,%22w%22,%22x%22,%22y%22,%22z/

"j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~","","€","?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,"?,""};
 

aber wenn ich mit dem MT4-Editor öffne, kann ich die Zeichen sehen. Irgendeine Idee, wie man das beheben kann?

 
Versuchen Sie diese Version (als Unicode gespeichert).
Dateien:
cIntBMP.mqh  79 kb
 

Wenn das erste Element max oder min ist, wird es nie in die Bereichsberechnung einbezogen, was zu einer falschen Klassifizierung führt:

void CSOM::Train(bool bShowProgress) // Ausbildungsmethode
  {
    ...

   for(int j=0; j<m_dimension; j++)
     {
      double maxv=m_set[m_dimension+j]; // sollte dies sein double maxv=m_set[m_dimension*j];
      double minv=m_set[m_dimension+j]; // sollte dies sein double minv=m_set[m_dimension*j];
 
Klären Sie mich auf, warum es notwendig ist, die Daten mit einem Skript in eine Datei zu entladen und dann vom Expert Advisor zu lesen? Warum kann der Expert Advisor die Daten nicht selbst aus dem Terminal übernehmen?
 
Graff:
Klären Sie mich auf, warum es notwendig ist, die Daten mit Hilfe eines Skripts in eine Datei zu entladen und dann vom Expert Advisor zu lesen? Warum kann der Expert Advisor die Daten nicht selbständig aus dem Terminal übernehmen?

Niemand verbietet es, und es wird sogar empfohlen, es auf die beste Weise zu tun :)

 
sergeev:

niemand verbietet, und sogar ermutigt, zu tun, was am besten ist :)

Das ist verständlich. Was nicht klar ist, ist die Logik einer solchen Implementierung.

Warum war es notwendig, die Funktion ParseString(s,";",stringsarr);? zu schreiben, wenn es ein Standard-ushort sep[]; StringToShortArray(";",sep,0,-1); StringSplit(s,sep[0],stringsarr) gibt;

 
Graff:

Das ist verständlich. Was ich nicht verstehe, ist die Logik hinter dieser Implementierung.

Was hat das mit Skripten zu tun?
 
Graff:
Klären Sie mich auf, warum es notwendig ist, die Daten mit Hilfe eines Skripts in eine Datei zu entladen und sie dann vom Expert Advisor zu lesen? Warum kann der Expert Advisor die Daten nicht selbst vom Terminal übernehmen?
IMHO ist dies eine universellere Lösung. Stellen Sie sich vor, dass die Daten nicht vom Terminal generiert werden.
 
sergeev:
Was hat das mit Skripten zu tun?

Ich verstehe nicht, wozu sie da sind. Immerhin kann man Informationen direkt aus dem Terminal abrufen.

Dima_S:
IMHO ist dies eine universellere Lösung. Stellen Sie sich vor, dass die Daten nicht durch das Terminal gebildet werden.

Es ist sogar beängstigend, sich vorzustellen, womit genau, wahrscheinlich hat sie jemand manuell gezählt.

SZY: kann jemand einen Mod für EA posten, um Informationen direkt aus dem Terminal zu ziehen, ohne ein Skript?

 

Graff:

SZY: kann jemand einen Mod posten, so dass der Expert Advisor Informationen direkt aus dem Terminal ziehen kann, ohne ein Skript?

Welche Informationen benötigen Sie?