Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 32

 

Und ja, es ist schließlich nicht UB in C++.

Aber auf jeden Fall ist es ein schlechter Programmierstil, abhängige Funktionen in Parametern zu kombinieren.

 

Es gibt einen EA, der auf einem Desktop-Computer handelt. Frage: Wie kann ich, ohne Zugang zu einem Computer, die Arbeit des EA stoppen?

P.s. Ich habe nur eine Möglichkeit gefunden - dem EA einen Block hinzuzufügen, der auf das Vorhandensein einer Limit-Order für ein exotisches Paar prüft... wenn er eine findet, löscht er sie und stoppt den EA. Und der Limitauftrag kann im Notfall auch telefonisch erteilt werden... Aber vielleicht gibt es auch andere Möglichkeiten?

 

mit einem Grenzwertblatt eine zuverlässige Option ist, nutzen Sie sie.

Manchmal fügen sie dem Preis oder dem Kommentar zum Limit zusätzliche Informationen für den Experten hinzu.

[Gelöscht]  

Beenden Sie den EA einfach durch eine interne Bedingung?
Habe gerade diesen Thread verlassen, könnte passen... ))

https://www.mql5.com/ru/forum/112689

 
sergeev:

Manchmal werden dem Preis oder dem Kommentar zum Limit für den Prüfer zusätzliche Informationen hinzugefügt.

Ja, Magie + Kommentar.
 
TheXpert:
Jep, Magie + Kommentar.

Andrey, ich sage dir die Wahrheit: Ich hatte vor langer Zeit einen Auftrag, bei dem mich eine Person bat, drei Grenzwerte festzulegen.

- eine zum Ein- und Ausschalten eines EA
- in der zweiten enthielten die letzten 4 Kurse die vom EA angegebene aktuelle Zeit, d.h. es wurde geprüft, ob der EA arbeitet oder nicht
- in der dritten waren in jeder Kurszahl 5 Parameter enthalten, nach denen der EA arbeiten sollte.

Die Magik wurde wie üblich für das Zubehör zu ihren Aufträgen verwendet.

 
sergeev:

Magie diente wie üblich der Zugehörigkeit zu ihren Orden.

Ich würde die Magie nutzen, um die Aufgabe zu bestimmen, und zusätzliche Informationen in den Kommentar schreiben.
 

Das Problem der Größenänderung der offenen Dateizuordnung nach oben wurde bereits irgendwo angesprochen, möglicherweise hier.

Die Größe wird geändert, indem CreateFileMapping() erneut mit demselben Namen und einer neuen Größe aufgerufen wird, die jedoch nicht mehr als 8196 Byte betragen darf! Experimentell gewonnen.

D.h. es ist nicht möglich, die Größe eines größeren Mappings zu ändern. Aber von 0 bis 8196 funktioniert es.

Vielleicht weiß jemand, wie man die Größe ändern kann, ohne die Dateizuordnung neu zu öffnen?

 

http://www.delphisources.ru/pages/faq/base/filemapping.html


function CreateFileMapping(hFile: THandle; lpFileMappingAttributes: PSecurityAttributes; flProtect, dwMaximumSizeHigh, dwMaximumSizeLow: DWORD; lpName: PChar): THandle;

dwMaximumSizeHigh - der höchste 64-Bit-Wert der Größe des zugewiesenen Speichers für den gemeinsamen Zugriff (mehr als 4 Gbt) - wir brauchen nicht so viel :) - Weisen wir diesem Argument den Wert 0 zu.

dwMaximumSizeLow - Danke an die netten Bewohner des Königreichs, die auf den Fehler in der Beschreibung dieses Arguments hingewiesen haben! Besonders Herr Uno, der es sehr gut erklärt hat! (siehe Kommentar zum Artikel) - der untere 64-Bit-Wert der Größe des gemeinsamen Speichers - wenn dwMaximumSizeHigh gleich 0 ist, muss die Größe dieses Arguments mindestens SIZE OF DATA sein, um in der Auslagerungsdatei abgelegt zu werden. Beachten Sie, dass die Größe der Intel-"Seite" 4 KBt beträgt, d.h. wenn Sie 1 Byte angeben, erhalten Sie eine "Tasche zum Teilen" :) 4 KBt, wenn Sie 4001 angeben, können Sie bis zu 8Kbt Daten in das File Mapping-Objekt packen usw.

 

Im Allgemeinen ist die Seite 64 kb groß. Warum es 8 sind, ist unklar. nicht deljon.

http://wm-help.net/books-online/book/59464/59464-10.html