Fehler, Irrtümer, Fragen - Seite 1591

 
Sergey Kruglov:
Das Problem ist, dass, wenn ich eine Testversion von einigen EA auf mt4 herunterladen, eine nicht funktionierende Terminal öffnet, und dann habe ich es gelöscht und jetzt kein Terminal öffnet überhaupt, obwohl ich drei weitere von ihnen installiert haben. Gibt es eine Möglichkeit festzulegen, dass Programme auf ein bestimmtes Terminal heruntergeladen werden?
Suchen Sie direkt vom gewünschten Terminal aus - es gibt ein Suchfeld in der oberen rechten Ecke des MetaTrader 5.
 

Frage für Kenner.

Ich muss herausfinden, wie viel Speicher ich für die CopyTicks-Abfrage verwenden kann, damit mir nicht der Speicher ausgeht.

Leider kann ich über das Terminal nicht herausfinden, wie viel Arbeitsspeicher ich derzeit zur Verfügung habe.

Ich verwende ein einfaches Skript, um die Informationen zu erhalten:

void OnStart()
  {
   int memory_physical=TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL);
   printf("Physical memory in the system: %d MB",memory_physical);

   int memory_total=TerminalInfoInteger(TERMINAL_MEMORY_TOTAL);
   printf("Memory available to the process of the terminal (agent): %d MB",memory_total);

   int memory_available=TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE);
   printf("Free memory of the terminal (agent) process: %d MB",memory_available);

   int memory_used=TerminalInfoInteger(TERMINAL_MEMORY_USED);
   printf("Memory used by the terminal (agent): %d MB",memory_used);
  }

2016.05.29 09:50:50.642    MemoryTest (EURUSD,H1)    Memory used by the terminal (agent): 319 MB
2016.05.29 09:50:50.632    MemoryTest (EURUSD,H1)    Free memory of the terminal (agent) process: 23963 MB
2016.05.29 09:50:50.621    MemoryTest (EURUSD,H1)    Memory available to the process of the terminal (agent): 24282 MB
2016.05.29 09:50:50.611    MemoryTest (EURUSD,H1)    Physical memory in the system: 12141 MB

Aus irgendeinem Grund ist der verfügbare Speicher doppelt so groß wie der physische Speicher. Es ist nicht der Swap, sondern eine kleine Datei (400 MB). Ich hatte erwartet, dass der Wert wie im Task-Manager ist, verfügbarer Speicher ist etwa 7000 MB.

Wer kann mir sagen, was diese seltsamen Zahlen bedeuten?

 

Guten Abend, bitte geben Sie mir einen Rat, wie ich den Fehler 4059 im Testgerät beseitigen kann. Ich möchte wirklich Preise für ein anderes Instrument, z.B. LTCUSD, von einem Expert Advisor erhalten, der mit einem Instrument, z.B. LTCBTC, arbeitet.

void OnTick()
  {
//---
   {if(One)
   { 
      ResetLastError();
      Print("1. LTCBTC >>",MarketInfo("LTCBTC",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("2. LTCUSD >>",MarketInfo("LTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      ResetLastError();
      Print("3. BTCUSD >>",MarketInfo("BTCUSD",MODE_BID));
      Print(" Error=",GetLastError());
      One=false;
   }}

  }
 
Natalja Romancheva:

Guten Abend, bitte geben Sie mir einen Rat, wie ich den Fehler 4059 im Testgerät beseitigen kann. Ich möchte wirklich Preise für ein anderes Instrument, z.B. LTCUSD, von einem Expert Advisor erhalten, der mit einem Instrument, z.B. LTCBTC, arbeitet.

Nicht auf MT4.
 
Andrey Voytenko:

Frage für Kenner.

Ich muss herausfinden, wie viel Speicher ich für die CopyTicks-Abfrage verwenden kann, damit mir nicht der Speicher ausgeht.

Leider kann ich über das Terminal nicht herausfinden, wie viel Arbeitsspeicher ich derzeit zur Verfügung habe.

Ich verwende ein einfaches Skript, um die Informationen zu erhalten:


Aus irgendeinem Grund ist der verfügbare Speicher doppelt so groß wie der physische Speicher. Es ist nicht der Swap, sondern eine kleine Datei (400 MB). Ich hatte erwartet, dass der Wert wie im Task-Manager ist, verfügbarer Speicher ist etwa 7000 MB.

Wer kann mir sagen, was diese seltsamen Zahlen bedeuten?

Es ist virtueller Speicher. Windows kann die Größe der Auslagerungsdatei bei Bedarf erhöhen.
 
admoon:
Meiner Meinung nach sollte if()nur einmal funktionieren, wenn die Bedingung in Klammern wahr ist. Tatsächlich wird er aber bei jeder Prüfung ausgelöst, und alle Ausdrücke in {} werden bei jedem Schritt ausgeführt und fressen Maschinenzeit. Was hat das mit der Globalität von W zu tun? Es ist einfach einfacher, den Schritt vom Terminal aus zu ändern als vom Editor aus.

Es sieht so aus, als hätten Sie einen Druckfehler in Ihrem Code und wollten ihn so schreiben:

int i;
//---
   int co=0;
   for(i=0;i<=w;i++)
     {
      if(i==10)
        {
         co++; 
         Alert(co);
        }
     }
//--- return value of prev_calculated for next call
   return(rates_total);
 
Natalja Romancheva:

iClose + iBarShift. Der Tester in MT4 überwacht die Korrektheit des aktuellen Kurses des getesteten Instruments, die Korrektheit der Daten anderer Instrumente müssen Sie selbst sicherstellen

Und es ist unwahrscheinlich, dass Sie in MT4 effektiv Arbitrage betreiben können.

 
Evgeniy Ilin:
Gibt es hier Moderatoren? Ich habe eine Anfrage an den Verkäufer geschickt, sie hängt seit 3-4 Tagen. Wie lange muss ich warten?
Und? Ich habe eine Antwort erhalten. Meiner hängt auch, allerdings für eine kürzere Zeit.
 
Alexey Navoykov:

Es hätte so sein sollen:

Kann eine Vorlagenklasse in eine Deklaration und eine Implementierung unterteilt werden? MetaQuotes hat bei der Einführung von Vorlagenklassen diese Einschränkung erläutert.
 

Variabler Fehler

Build 1340 MT5.

Wenn Sie Variablen einfügen:

input bool test=false;

extern bool test=false;

dann gibt der Compiler keine Fehlermeldung aus, aber in den EA-Parametern im Diagramm verschwinden diese Parameter.


Es handelt sich also um zwei verschiedene Variablen, obwohl sie dieselben sind.