Gerede über den MT5-Strategie-Tester - Seite 9

 
Andrey Dik:

Entschuldigung, was ist das? Überteuerte Preise?
Ich arbeite mit spezialisierten Hosting, die VPS hosten kann, wo ist bequem für den Client, NY4, LD4, so teuer, aber schnell (ping 0-1ms).

Ein überhöhter Preis ist ein überhöhter Preis.

Spielen Sie mit unserem VPS-Visualisierer herum: Es gibt ein weltweites Netzwerk und genaue Zeitangaben mit der Server-Topologie aller MetaTrader-Broker

Es kostet 10 $ und alle physischen Kerne sind verfügbar. Eine wichtige Klarstellung ist, dass wir die Nettozeit im Serverprotokoll angeben, nicht den Netzwerk-Ping, der fast immer niedriger ist als der tatsächliche Ping.

 
Yuriy Zaytsev:

Sie sprechen davon, die Historie aus einem Bereich zu lesen - aus einem Ordner für eine Gruppe von Terminals, die Historie ändert sich nicht, sie wird nur ohne Probleme gelöst. Über anpassbare Zuordnungen ist schon lange bekannt.

Das ist es nicht, Sie haben den Verlauf von einem Terminal heruntergeladen und dann von anderen Terminals darauf verwiesen - keine große Sache... Das ist nicht das Problem.

Warum machen Sie einen Rückzieher? :)))

Oder haben Sie ihn nicht sorgfältig gelesen? Die einzige Möglichkeit, ein Argument zu bekommen, ohne Geld zu wetten? Juri, du bist wie ein Kind, ehrlich.

 
Andrey Dik:

Siehst du, Jurij, es gibt Lösungen! Und das alles kann man in MT aus der Schachtel holen!

Es ist nur die Ideologie von MT, es impliziert nicht mehrere Kopien von laufenden Terminals, also gibt es keine Aufgabe, Zugang zu einer einzigen Datenbank zu haben.

Sie schreiben 100 Ticks von 100 Terminals in eine Datei... zu einem bestimmten Zeitpunkt.

Vasiliy Sokolov:


Das habe ich einmal gemacht:https://www.mql5.com/ru/articles/1316#c4_1

Es ist klar, dass ohne DB die einzige Möglichkeit für einen angemessenen Austausch zwischen Terminals ohne dll darin besteht, eine Datei zu sperren und um den Zugang zu ihr zu konkurrieren, wie diese Dose:

Es gibt Handwerker, die die Synchronisation der Handelsumgebung über WebRequest und Zwischenserver organisieren (siehe Deal Copiers in Market).

Es ist klar, dass all dies langsam ist und Löcher in die Festplatten der Nutzer reißt, aber was können wir tun, wenn uns die Datenbank nicht zur Verfügung gestellt wurde (und auch nicht zur Verfügung gestellt werden wird).

Es ist alles klar!

Wir reden hier von einem Standard-Terminal - das Ticks an einem Punkt sammelt ... und wenn 100 Terminals anfangen, denselben Tick in eine Datei zu schreiben, was passiert dann?

Es ist kein Problem, den allgemeinen Verlauf aus einer zugeordneten Ressource (Ordner) zu lesen. (und diese Geschichte sollte aus einem Terminal gebildet werden, nicht aus 100 auf einmal)

Andrey, vielleicht verwechselst du das Lesen aus einem gemeinsamen HISTOR - und das Schreiben in eine Datei?

 
Renat Fatkhullin:

Ein überhöhter Preis ist ein unnötig hoher Preis.

Spielen Sie mit unserem VPS-Visualisierer herum: Es gibt ein weltweites Netzwerk und genaue Zeitangaben mit der Server-Topologie aller MetaTrader-Broker

Es kostet 10 $ und alle physischen Kerne sind verfügbar. Eine wichtige Klarstellung ist, dass wir die Nettozeit im Serverprotokoll angeben, nicht den Netzwerk-Ping, der fast immer niedriger ist als der tatsächliche Ping.

Ihr Hosting ist eine großartige spezifische Lösung, wenn Sie einen EA einrichten, ihn an das Hosting senden und ihn dann vergessen wollen. Die beste Lösung für solche Aufgaben.

Aber leider ist es nicht geeignet, wenn mehrere Terminals aufeinander zugreifen müssen. Das liegt zum Teil daran, dass das MT-Terminal nicht in der Lage ist, sich mit mehreren Konten gleichzeitig zu verbinden. Es gibt andere Aufgaben, die nicht mit Ihrem VPS kompatibel sind.

Übrigens, Ihr VPS-Visualisierer wird aktiv genutzt, tolle Sache.

 
Andrey Dik:

Warum machen Sie einen Rückzieher? :)))

Oder haben Sie ihn nicht sorgfältig gelesen? Nur um zu streiten und kein Geld auf einen Streit zu setzen? Yuri, du bist wirklich wie ein Kind.

Sie geben eine vernünftige Antwort!

WIE SCHREIBEN SIE DEN TICK von einem Gerät in die Datenbank, der in der Datenbank in einem einzigen Datensatz mit einer ID gespeichert werden sollte?

Sie haben 100 Terminals, die INSERT ...

 
Yuriy Zaytsev:

Sie zeichnen 100 Ticks von 100 Terminals in einer Datei auf... zu einem bestimmten Zeitpunkt.

Das ist genau das, wovon wir sprechen!

Wir reden hier von einem Standard-Terminal, das Ticks an einem Punkt sammelt... und wenn 100 Terminals anfangen, denselben Tick in eine Datei zu schreiben, was passiert dann?

es ist wirklich kein Problem, den Verlauf aus einer zugeordneten Ressource (Ordner) zu lesen. (außerdem sollte diese Geschichte von einem Terminal und nicht von 100 auf einmal gebildet werden)

Andrew und vielleicht verwechselst du das Lesen aus dem gemeinsamen HISTOR - und das Schreiben in die Datei?

Lass uns nicht den Dummen spielen, okay? Er ist nicht bärtig, sondern bereits kahl. Ich habe mich klar ausgedrückt: Es wurde ein gemeinsamer Ordner mit historischen Daten erstellt, und die Terminals arbeiten über einen Link problemlos damit, es gibt keine Probleme beim Zugriff. Es spart wirklich Festplattenplatz, der sehr begrenzt ist.
 
Yuriy Zaytsev:

Sie geben eine vernünftige Antwort!

WIE SCHREIBEN SIE DEN TICK von einem Werkzeug in die BASIS! die in der Datenbank durch EINEN Eintrag mit einer ID gespeichert werden muss!

Sie haben 100 Terminals, die INSERT ...

Sie wollen sich nicht streiten! Warum sollte ich ein und dieselbe Sache immer wieder buchstabieren müssen, und das auch noch kostenlos?!

Eine Mahnung und Warnung - Sie nehmen eine falsche und schädliche Position für die Entwicklung von MT ein.

 
Andrey Dik:
Wir wollen uns doch nicht lächerlich machen, oder? Es passt nicht zu bärtigen, aber bereits kahlen Männern. Ich habe mich klar ausgedrückt: Es wurde ein gemeinsamer Ordner mit historischen Daten erstellt, und die Terminals arbeiten über einen Link problemlos damit, es gibt keinerlei Zugriffsprobleme. Es spart wirklich Festplattenplatz, der sehr begrenzt ist.

Haben Sie 100 Terminals, die gleichzeitig Geschichte schreiben?

--

Bitte machen Sie sich nicht lächerlich - ich möchte nur eine Antwort.

WIE SIE DEN TICK von einem Gerät in eine DATENBANK SCHREIBEN - er muss in der Datenbank als EIN Eintrag und mit EINER ID gespeichert werden.

Sie haben 100 Terminals, die gleichzeitig INSERT in dieselbe Tabelle schreiben, für dieses Tool ...

p.s.

Ich habe eine Lösung - Ihre ist interessant

 
Yuriy Zaytsev:

Haben Sie 100 Terminals, die gleichzeitig Geschichte schreiben?

--

Bitte machen Sie sich nicht lächerlich - wir wollen nur eine Antwort!

WIE SCHREIBEN SIE EINEN TICK aus einem Werkzeug in eine DATENBANK - er sollte in der Datenbank als EIN Datensatz mit einer ID gespeichert werden

Sie haben 100 Terminals, die gleichzeitig INSERT in dieselbe Tabelle schreiben ...

Ich werde für Andrej antworten. Wenn wir mit Dateien arbeiten, kommt ein gleichzeitiges INSERT nicht in Frage. Ein INSERT wird nur von dem Thread ausgeführt, der zuerst Zugriff auf die Datei erhält. Die anderen erhalten INVALID_HANDLE und können nicht schreiben. Der Thread, der das Handle erhält, kann prüfen, ob sein Datensatz bereits in der Datei existiert oder nicht (vorausgesetzt, wir wissen, wie wir die Eindeutigkeit jedes Datensatzes bestimmen können). Wenn es keinen Eintrag gibt, schreiben wir ihn, wenn der Eintrag bereits von jemandem gemacht wurde, schließen wir das Handle.

Eine andere Frage ist, dass es zumindest nicht vernünftig ist, 100 Autoren und 100 Leser auf einmal zu machen, was zu Problemen führen kann. Wenn möglich, sollte es nur einen Verfasser geben. Es ist auch durchaus möglich, aus 100 Themen herauszufinden, wer als Autor eingesetzt werden soll.

p.s. Wir werden die Frage des wettbewerbsorientierten Zugangs zu DBMS nicht mehr als ein Dutzend Seiten lang diskutieren. In Anbetracht der Tatsache, dass es in MQL keinen DB gibt, werden wir auch nicht über dieses Thema diskutieren.

 
Vasiliy Sokolov:

Ich werde für Andrej antworten. Wenn wir mit Dateien arbeiten, sprechen wir nicht von gleichzeitigem INSERT. INSERT wird nur von dem Thread ausgeführt, der zuerst Zugriff auf die Datei erhält. Die anderen erhalten INVALID_HANDLE und können nicht schreiben. Der Thread, der das Handle erhält, kann prüfen, ob sein Datensatz bereits in der Datei existiert oder nicht (vorausgesetzt, wir wissen, wie wir die Eindeutigkeit jedes Datensatzes bestimmen können). Wenn es keinen Eintrag gibt, schreiben wir ihn, wenn der Eintrag bereits von jemandem gemacht wurde, schließen wir das Handle.

Eine andere Frage ist, dass es zumindest nicht vernünftig ist, 100 Autoren und 100 Leser auf einmal zu machen, was zu Problemen führen kann. Wenn möglich, sollte es nur einen Verfasser geben. Es ist auch durchaus möglich, aus 100 Themen herauszufinden, wer als Autor eingesetzt werden soll.

Das ist mein Punkt! und das

Vasily, es ist verständlich, dass es möglich ist, um die Datei von 100 Terminals zu konkurrieren.

die Tatsache, dass man mit dem Kopierer Geschäfte von einem Terminal zum anderen kopieren kann, ist eine andere Sache


Die Frage ist, dass das Terminal selbst (wenn es MT4 ist) schreibt Ticks in der Datei ticks.raw ...

aber wenn er versucht, 100 Terminals auf einmal in die Datei {TERMIN}\history\{broke}\tisks.raw zu schreiben - wird ein Fehler auftreten

Ich glaube, das ist es, was Andrei nicht begreift.


Ich höre wieder das Knarren der theoretischen Couch unter Andrei.

p.s.

Andrej, hast du Sofaschmiere geholt?

Grund der Beschwerde: