[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 386

 
Integer:

Er wird es nicht verstehen))) Ich habe dieses Problem in etwa in diesem Stil gelöst. Es ist schön, jemanden zu haben, der das Wesentliche der Aufgabe versteht. Nur habe ich noch eine Warteschlange, in welcher Reihenfolge die Aufgaben begonnen haben, abgearbeitet zu werden, und in welcher Reihenfolge sie weiter im Kreis abgearbeitet werden.

Nun, dann, statt der exp exps selbst sind mit einem Index definiert, dann wird die Warteschlange durch die Zeit des ersten Laufs sein.
 
Zhunko:

Der MACD zeigt die Geschwindigkeit in Pips über die Zeit an. Wenn Sie mit Änderungsgeschwindigkeit die Beschleunigung meinen, sollten Sie die Ableitung des MACD nehmen.

Dabei werden interessante Ergebnisse erzielt. Ich schreibe gerade einen Experten zu diesem Thema.


Das ist doch Unsinn! Man muss also die Ableitung nehmen, um die Beschleunigung und nicht die Geschwindigkeit zu kennen, und man muss die Makd nehmen, um die Geschwindigkeit zu kennen, aber warum nicht die Ableitung von etwas?
 
FAQ:

Dann werden statt der Handles die Erweiterungen selbst mit einem Index definiert, und die Warteschlange wird nach dem Zeitpunkt des ersten Laufs geordnet.


Ja. Griffe werden nicht verwendet.
 
Zhunko:

Der MACD zeigt die Geschwindigkeit in Pips über die Zeit an. Wenn Sie mit Änderungsgeschwindigkeit die Beschleunigung meinen, sollten Sie die Ableitung des MACD nehmen.

Dabei kommen recht interessante Ergebnisse heraus. Ich schreibe jetzt einen Experten zu diesem Thema.


Ist das der richtige Weg?

for(int i=0; i<limit; i++) velocity[i]=(Close[i]-Close[i+1])/Point;
for(i=0; i<limit; i++) acceleration[i]=velocity[i]-velocity[i+1];

Ich bin nicht sehr gut darin, also entschuldigen Sie mich bitte, wenn es nicht korrekt ist. Sie zeigt die Geschwindigkeit in Pips pro Minute und die Beschleunigung in Pips pro Minute an. Oder liege ich da falsch?

Oh, ich vergaß zu erklären. Da Δt=1 ist, habe ich nicht durch eins geteilt, ich dachte, das wäre klar.

 

Diese hier...

Ich glaube, Arles hat die Antwort auf die Frage gefunden, denn ich kann den Kern der Lösung noch nicht sofort erfassen. Aber das liegt daran, dass ich ein Anfänger bin und mehr Zeit brauche, um zuerst die Theorie zu lernen und dann die Praxis auszuprobieren. Aber ich werde versuchen, es zu meistern.

Zhunko:

Sergey, welche Fragen haben Sie nicht gelöst? Wenn dies:

Chiripaha:

D.h., um die Frage von Arles zu beantworten: Wenn ein Expert Advisor Aufträge registriert hat und eine Weile "ein Nickerchen" gemacht hat, hat der andere EA in diesem Moment die Grenzen der zugewiesenen Mittel (nehmen wir an, 80 % der Einlage - beide EAs haben diese Größe) nicht überschritten und wird einen Auftrag erteilen (in den Handel auf dem Markt einsteigen). Und wenn der 1. die Arbeit wieder aufnimmt (und das Money-Management-Terminal bereits am Vortag berechnet wurde), wird er/sie auch ein Geschäft eröffnen, das die vom Expert Advisor festgelegten Grenzen überschreitet?

Wenn dieses System (hypothetisch) durch mehrere EAs multipliziert wird, kann es dann eines geben, bei dem das Risikomanagement in einem kritischen System stattfindet?

Verstehe ich dieses Multithreading richtig? - Wenn ja, dann ist das aus finanzieller Sicht sicherlich eine Katastrophe. Da die Wahrscheinlichkeit, dass dies geschieht, bei kleinen Konten jedoch gering ist, ist dies nur hypothetisch. Und bei größeren Konten werden sie wahrscheinlich selbst etwas schreiben. Aber es stellt sich heraus, dass dies doch wahr ist?

Und ich habe eine Frage: Ist dies ein offizieller Standpunkt oder handelt es sich nur um Spekulationen und Experimente wie meine?

Dann gibt es noch den Code auf Seite 378. Hier ist es wieder:

Wenn die Verzögerung "simulierte Arbeit" ist, fügen Sie einen Hinweis auf die Lagerstätte oder eine andere Ressource ein.

Sie können diesen Sync-Block in eine Funktion umwandeln und in eine Bibliothek einfügen. Es wird eine synchrone Funktion für den Zugriff auf das Depot von jedem Expert Advisor aus geben.


Richtig, mit ungelösten Fragen meinte ich genau diese Liste von Fragen.

Die Tatsache, dass Sie eine Lösung gefunden haben, ist sehr gut und ich verstehe Ihren Standpunkt und akzeptiere ihn. Aber - wie ich gleich im nächsten Beitrag nach dem Beitrag mit den Fragen geschrieben habe - haben Sie die folgende Lösung vorgeschlagen, wenn Sie ein Programm erstellen können, in dem diese Fragen vom Autor (Programmierer) des Programms gelöst werden. Und das ist gut so. Aber dies ist der nächste Schritt. Die Tatsache, dass Sie diesen Schritt in der Diskussion detailliert aufgeschlüsselt haben, ist ebenfalls sehr gut für das Verständnis und vor allem für unerfahrene Anfänger wie mich. Und die Tatsache, dass Sie jetzt praktische Beispiele für die Lösung des Problems angeboten haben. - Wunderbar. Sie haben also eine Lösung für dieses Problem angeboten (und damit indirekt dessen Existenz und die Notwendigkeit einer Lösung bestätigt). ABER!

Schließlich meinte Arles mit seiner Frage nicht korrigierte Roboter, die auf diese Weise korrigiert werden können, sondern er meinte, dass er oder Tausende anderer Händler, die EAs einrichten, bei denen diese Probleme nicht reduziert werden, sondern für eine einfache Anwendung auf einem Währungspaar konzipiert sind, nicht berücksichtigen, dass es viele andere EAs (oder sogar denselben Roboter) auf anderen Charts geben wird. In diesem Fall kann dies zu einem Chaos in der Reihenfolge der Aufgabenlösung führen (mit einem riesigen Informationsfluss, z. B. während der Veröffentlichung von Nachrichten, wenn es eine große Anzahl von Geschäften in der ganzen Welt gibt). Da Parallelität und Multithreading die Antipoden der Konsistenz sind, wird genau diese Konsistenz (ohne spezielle Lösung) gebrochen. Aber! Nochmal... Eine Ad-hoc-Lösung ist nichts anderes als eine Rückkehr zur Konsistenz. Denn die Warteschlange, der hier bereits erwähnte Begriff, ist nichts anderes als eine Folge.

Daher die Frage: Ist es notwendig, ein Multithreading zu erstellen, um es dann wieder in die Warteschlange zu stellen? - Aber das ist ein anderes Thema. Auch ich bin bei der Betrachtung des ursprünglichen Problems weiter gegangen. Sie unterscheiden sich von Ihnen in einem Punkt - Sie versuchen bereits, Lösungsvarianten anzubieten, während ich mich nur auf die Formulierung einer Frage beschränken kann, da dies die Einschränkung eines Anfängers ist.

Und ich werde das Schema, das Sie zur Lösung vorgeschlagen haben, kopieren, und ich werde versuchen, es auseinanderzunehmen und im Detail zu beherrschen. Aber ich bin mir nicht sicher, ob ich es schnell schaffen werde. Aber bisher versuche ich, offen gesagt, die Lösungsalgorithmen so weit wie möglich zu vereinfachen. Und komplexe Lösungen nur dort zu verwenden, wo es keine andere Lösung für das Problem gibt (einschließlich eines nicht softwarebasierten Ansatzes - schließlich kann das Problem auch außerhalb des Computerprogramms gelöst werden).

====================================

Das heißt, mit anderen Worten. - Wenn die von Ihnen vorgeschlagene Lösung nicht blockiert wird, kann es bei der Verwendung vieler solcher EAs zu der in Ihrer Frage zum Risikomanagement beschriebenen Situation kommen?

Chiripaha:

... Wenn ein EA Aufträge gezählt hat und eine Zeit lang "ein Nickerchen" gemacht hat, hat ein anderer EA in diesem Moment die Grenzen der zugewiesenen Mittel nicht überschritten (z. B. 80 % der Einlage - in beiden EAs wird diese Größe sein) und gibt einen Auftrag ein (geht ein Geschäft auf dem Markt ein). Und wenn der 1. die Arbeit wieder aufnimmt (und das Money-Management-Terminal bereits am Vortag berechnet wurde), wird er auch in der Lage sein, ein Geschäft zu eröffnen, das die vom Expert Advisor festgelegten Grenzen überschreitet?

Wenn dieses System (hypothetisch) mit mehreren Expert Advisors multipliziert wird, kann es dann einen geben, bei dem das Risiko-Management in einem kritischen System ist?

Lassen Sie mich das ein wenig näher erklären. Ich bin mir nicht sicher, ob die Situation kritisch ist. Ich ziehe es also vorerst in Erwägung, es hepothetisch zu machen. Da die Geschwindigkeit beim Lösen von Problemen hoch ist und die Lösungen im Computer wahrscheinlich durch den breiten Bitratenkanal des Computers "fliegen" werden. - Aber vielleicht täusche ich mich da, denn laut Arles bekommt er nur 2 Aufträge pro Runde. Es gibt also ein Problem.

 
gyfto:

Oh, ich habe vergessen, das klarzustellen. Da Δt=1 ist, habe ich nicht durch eins geteilt, ich dachte, das wäre klar.
Wird dieses Delta immer eins sein oder kann es variabel sein? Wenn es sich nicht um einen konstanten Parameter handelt, ist es besser, ihn (den Parameter) in die Formel aufzunehmen.
 
Integer:

Es handelt sich um eine atomare Zugriffseinheit und keine Synchronisierung. Es macht keinen Sinn, nur die Einlage auf diese Weise zu nennen. Der Aufruf einer der Hinterlegungsparameter-Funktionen ist ohne weitere Anpassungen atomar. Wenn Sie dies atomar tun, wird die gesamte Arbeit des Expert Advisors übernommen. So löst man Probleme - man denkt, man hat etwas getan, aber in Wirklichkeit ist es eine Illusion.

Ich dachte, du würdest endlich verstehen, was ich über Nacht gesagt habe... :-( Leider war das nicht der Fall.

Es gibt zwei Möglichkeiten, diese Aufgabe zu programmieren. Eine komplizierte, wie Ihre, und eine einfache, wie meine. Wenn Sie persönlich Experten mit Ihren Threads in eine Warteschlange stellen müssen, ist es einfacher, alles in einem Experten (Thread) zu erledigen und sie nicht zu synchronisieren.

Die Aufgabe besteht darin, den Zugriff auf eine Ressource zu synchronisieren. Mein Code ist ausreichend. Gleichzeitig arbeiten die Expert Advisors unabhängig und parallel zueinander.

Ganzzahlig:

Das ist doch Unsinn! Man muss also die Ableitung nehmen, um die Beschleunigung statt der Geschwindigkeit zu kennen, und man muss den mcd nehmen, um die Geschwindigkeit zu kennen, aber warum nicht die Ableitung von etwas?
Ich verstehe die Frage nicht.
 
Zhunko:

Ich dachte, du würdest endlich kapieren, was ich über Nacht gesagt habe... :-( Leider war das nicht der Fall.

Es gibt zwei Möglichkeiten, diese Aufgabe zu programmieren. Eine aufwendige, wie Ihre, und eine einfache, wie meine. Wenn Sie persönlich Experten mit Ihren Threads in eine Warteschlange stellen müssen, ist es einfacher, alles in einem Experten (Thread) zu erledigen und sie nicht zu synchronisieren.

Die Aufgabe besteht darin, den Zugriff auf eine Ressource zu synchronisieren. Mein Code ist ausreichend. Dabei arbeiten die Expert Advisors unabhängig und parallel zueinander.

Ich verstehe die Frage nicht.


Junko, du bist d-i-B*&%#o^i=d. Wie kann man nur so dumm sein? Sie haben nicht einmal den Verstand, um das Problem zu verstehen. Es ist sinnlos, mit dir zu reden, du verstehst es überhaupt nicht. Aber die Position, die du einnimmst ... als ob du alles weißt und verstehst, aber du weißt und verstehst nichts, Codierung auf dem Niveau eines nubo-lamer Kindergartenkindes. Und Ihr Verständnis von allem ist auf demselben Niveau. Aber dein Ego...

Junko, sie erklären es dir sogar und du verstehst es auch in diesem Fall nicht, es ist wie eine Gehirnlähmung.

 
Zhunko:

Ich verstehe die Frage nicht.


Das sagt alles!
 
Chiripaha:
Wird dieses Delta immer eins sein oder kann es variabel sein? Wenn es sich nicht um einen konstanten Parameter handelt, ist es besser, ihn (den Parameter) in die Formel einzusetzen.


Ja, es wird immer eine sein, denn
Time[i] - Time[i+1] = const = 1
Es ist eine andere Sache, wenn wir mit Tick statt M1 TF arbeiten, dann ja - von bin zu bin Δt wird variabel sein.
Zhunko:

Ich verstehe die Frage nicht.

Ich glaube, ich verstehe. Der MACD ist ein Delta zweier Durchschnittswerte, der Kurs ist also ein Durchschnittswert, kein echter. Immerhin Man kann diese Aufgabe also als einen Versuch verstehen, das SI-System in die Analyse einzuführen, zu systematisieren und verständlicher zu machen.
Grund der Beschwerde: