Fehler, Irrtümer, Fragen - Seite 419

 
Im_hungry:

Gute Nacht, ich habe mich gefragt, ob in diesem Code

nach der Überprüfung von B>spred, das "FALSE" ist, werden die übrigen Werte überprüft

Dadurch erhöht sich die Testlaufzeit, so dass ich den Code wie folgt ändern muss

Und die zeitaufwändigste in Bezug auf die Berechnungen ( proverka() - Kopieren von Pufferwerten eines Indikators)

Ich habe es als Letztes eingegeben, aber es wird nicht überprüft, ob es das Letzte ist. Das frage ich mich.

Warum?

Oder es wird das letzte nicht überprüft:

Versuchen Sie es auf diese Weise

if((B >= spred) && (IND && proverka()))
{
//Processing...
}
 
Interesting:

Versuchen Sie dies

Sory - ich habe es zu wenig geprüft, es funktioniert auf alle möglichen Arten,
 

Jetzt frage ich mich, warum in der EA, der Indikator frisst alle RAM und mehr,

und getrennt vom Expert Advisor arbeiten, ist dies nicht der Fall.

es kann sein, dass der Indikator nicht gelöscht wird oder etwas anderes, aber er wird bei jedem neuen Takt aufgerufen,

und wir bekommen mit jedem Takt immer weniger RAM (

 bytes not available

). Und warum? Ja, gute Nacht!

 
Renat:
Bitte geben Sie mir den Code.
Renat, wenn die Frage für mich ist, habe ich gerade eine leere EA erstellt und lief es. es muss UAC bezogen werden, da ich alle Dateien hier gespeichert haben C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\88B20A762CA848D878978288235C7B072A6 und der Visualizer versucht, Daten aus dem direkten Verzeichnis zu erhalten.
 
Im_hungry:

Jetzt frage ich mich, warum in der EA, der Indikator frisst alle RAM und mehr,

und getrennt vom Expert Advisor arbeiten, ist dies nicht der Fall.

es kann sein, dass der Indikator nicht gelöscht wird oder etwas anderes, aber er wird bei jedem neuen Takt aufgerufen,

und immer weniger RAM mit jedem Takt (

). Und warum? Ja, gute Nacht!


Das Beispiel im Atelier bitte (zumindest als Ideenskizze), oder an Entwickler aber alles in einem Stück. Was bedeutet übrigens "wird bei jedem Ticken aufgerufen"?

Die Idee ist, dass es einmal aufgerufen werden muss, im Initialisierungsblock. Im Falle eines Versuchs, einen Initialisierungsfehler zu umgehen, kann er immer noch in einem Timer oder bei einem neuen Tick aufgerufen werden(aber nur, wenn der Handle deaktiviert ist).

An allen anderen Stellen ist es nur sinnvoll, einen bestimmten Teil der Daten zu erhalten (natürlich unter Kontrolle des Handicaps).

 
sergey1294:
Renat, wenn die Frage für mich ist, habe ich gerade eine leere EA erstellt und lief es. wahrscheinlich ist dies im Zusammenhang mit UAC, da ich alle Dateien hier C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\88B20A762CA848D878978288235C7B072A6 gespeichert haben und der Renderer versucht, Daten aus dem direkten Verzeichnis zu ziehen.
Lassen Sie uns also die UAC aus den Vazooms mit Portabilität ausschließen... :)
 
Interesting:
Lassen Sie uns also UAC aus den Vazooms mit Portabilität ausschließen... :)
Wenn ich das Terminal jetzt mit diesem Schalter starte, wird es dann immer damit starten oder muss ich das Terminal jedes Mal von der Kommandozeile aus starten?
 
Interesting:

Studiobeispiel bitte (zumindest als Ideenskizze), oder an die Entwickler, sondern das Ganze. Was bedeutet übrigens "wird bei jedem Ticken aufgerufen"?

Die Idee ist, dass es einmal aufgerufen werden muss, im Initialisierungsblock. Im Falle eines Versuchs, einen Initialisierungsfehler zu umgehen, kann er immer noch in einem Timer oder bei einem neuen Tick sein(aber nur, wenn der Handle deaktiviert ist).

An allen anderen Stellen ist es sinnvoll, nur einen bestimmten Teil der Daten zu erhalten (natürlich mit Handicap-Kontrolle ).

Hiermit wird geprüft, ob die Puffer kopiert wurden (erfolgreich oder nicht)

bool proverka()
{
  ArraySetAsSeries(Buf,true);
  handle=iCustom(NULL,0,"V",Symbol_1,Symbol_2,Depth,ExpKoef,DateStart);
  ResetLastError();
  int copied=CopyBuffer(handle,0,1,1,Buf);
  if(copied<=0)
   {
    Sleep(50);
................

mit diesem rufen wir den Indikator bei einem neuen Takt auf

handle=iCustom(NULL,0,"V",Symbol_1,Symbol_2,Depth,ExpKoef,DateStart);
Und ohne sie erhalten wir nur Nullwerte!!!

Und der Speicher wird mit jedem Takt kleiner und kleiner...

Und warum?

 
sergey1294:
Wenn ich das Terminal jetzt mit dieser Taste starte, wird es dann immer mit dieser Taste laufen, oder muss ich das Terminal jedes Mal über die Befehlszeile starten?

Wenn Sie eine Stapeldatei erstellen und oder die entsprechende Verknüpfung korrigieren, dann geht das die ganze Zeit. Wenn ich es einfach von der Kommandozeile aus ausführe, ist es eine einmalige Sache.

Meiner Meinung nach ist es einfacher, eine Kopie der Verknüpfung mit dem entsprechenden Namen und der Befehlszeile zu erstellen.

 
Interesting:

Wenn Sie eine Stapeldatei erstellen und oder die entsprechende Verknüpfung korrigieren, ist das kein Problem. Wenn auch nur von der Kommandozeile ausgeführt, dann einmal.

Meiner Meinung nach ist es einfacher, eine Kopie der Verknüpfung mit dem entsprechenden Namen und der Befehlszeile zu erstellen.

wie man es richtig macht