[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 39

 
hoz:
Um ehrlich zu sein, habe ich keine Ahnung, warum so etwas überhaupt notwendig ist. Daran haben die Entwickler offenbar auch nicht gedacht.
Es ist sehr gut, dass es Dinge gibt, an die die Entwickler nicht gedacht haben. Wenn man solche Dinge zusammenbringt, kann man sie zusammenfügen.
 
Kobalerro:

Danke für den Rat, aber das ist ein bisschen zu kompliziert. Und dann in Ihrer Version, es stellt sich heraus, alle Arbeit, und es dauert 10, um die Bedingung für die Einreise zu überprüfen,

und sie öffnen nur die fünf, die als erste erfolgreich waren, und wenn sich eine von ihnen schließt, öffnet sich die erste, die die Bedingungen erfüllt, erneut,

nicht beschränkt auf EURUSD 1 , GBPUSD 1 , EURGBP 0.

Ich denke, es sollte eine einfachere Lösung geben. Z. B. Zählung der Gesamtzahl der Aufträge mit einer Einschränkungsbedingung durch einen bestimmten Parameter.

Es sollte eine Grenze entweder für ein Symbol oder eine magische Zahl geben, aber nicht mehr als eine.

Obwohl, vielleicht, Ihre Variante wird auch funktionieren, aber wie man es in den Code zu implementieren, kann ich nicht denken.


Ja, ich glaube schon! Ich habe jetzt den Dreh raus, ich kann auf das Schreiben auf die Festplatte gut verzichten!
Ich binde nur die Zügel vom Standardterminal an ein anderes
Ich bin gerade dabei, die Zügel eines Standard-Terminals für ein anderes zu schnüren).

Verzeihen Sie mir, aber wir müssen es trotzdem tun.
denn wie Sir Freddie Mercury sagte.
Die Show muss weitergehen!

Lassen Sie uns also die Spezifikationen klarstellen.
So wie ich es verstehe:

1. Auf einem Konto habe ich eine Unmenge von Fenstern geöffnet (10 Stück) mit einer Reihe von Charts von Währungspaaren

2. Auf jedem Chart sitzt ein Arbeitspferd - ein Expert Advisor, der etwas tut.

(3) Das Konto muss die folgenden Bedingungen erfüllen:

3.1 Die Gesamtzahl der offenen Marktaufträge auf dem Konto darf 5 nicht überschreiten.
Aufträge des Typs Pferd (in der Schwebe) sollten nicht als solche gezählt werden (ich denke schon, aber Sie haben es nicht angegeben)
3.2 Auf der Grundlage einer Reihe von Charts auf dem Konto wird eine bestimmte Liste von Symbolen erstellt,

Und jedes dieser Symbole kann zu einem bestimmten Zeitpunkt höchstens ein Symbol haben.

darf zu einem bestimmten Zeitpunkt nicht mehr als einen offenen Auftrag haben.

---------------------------------------------------------

Etwa so! Prüfen Sie, ob alles richtig ist!
Dann sagen Sie uns bitte, in welcher Sprache dies geschehen soll (z.B. mq4 oder mq5)
und die Liste der Instanzen, für die Sie handeln - ist sie fest oder jedes Mal anders

Ich denke, es sollte eine kurze Einfügung in den Text eines jeden EA sein

(die Sie dann auf Wunsch als Verfahren registrieren können) ermöglicht ihm

über die aktuell bestehenden Berechtigungen für beliebige Aktionen entscheiden ...

Ich möchte mich jetzt verabschieden, da es 5 Uhr morgens ist :))

madzx

 
Kobalerro:

Danke für den Tipp, aber es ist zu rätselhaft. Und dann funktioniert Ihre Version der Funktion für alle, und es dauert 10, um auf eine Eintrittsbedingung zu prüfen,

und sie öffnen nur die fünf, die als erste erfolgreich waren, und wenn sich eine davon schließt, öffnet sich die erste, die die Bedingungen erfüllt, erneut,

nicht beschränkt auf EURUSD 1 , GBPUSD 1 , EURGBP 0.

Ich denke, es sollte eine einfachere Lösung geben. Z. B. Zählung der Gesamtzahl der Aufträge mit einer Einschränkungsbedingung durch einen bestimmten Parameter.

Und die Begrenzung durch das Symbol oder den Magier ist nicht mehr als eine.

Obwohl, vielleicht, Ihre Variante wird auch funktionieren, aber wie man es in den Code zu implementieren, kann ich nicht denken.



Ringen Sie nicht in drei Kiefern. Bifurcation exp Transaktionen unter einzigartigen Magiks (ordnen Sie Ihre Magik, um Ihre exp Aufträge auf die ausgewählten Symbole). Dann verbinden Sie den Filter mit Hilfe des bedingten if - else Operators mit Symbolen und magischen Symbolen, indem Sie diese Funktion von Kim I.V. mit verschiedenen Eingangswerten verwenden:

NumberOfOrders() Funktion.

. Das war's.

 
hoz:


HM. Ich habe nicht verstanden, was du meinst, bis ich das Ganze gelesen habe :) Welche Art von Daten möchten Sie in der Ausgabe haben?

Meiner Meinung nach sieht die Lösung für diese Situation folgendermaßen aus:

1. Konvertierung der Zahlen int 59 und 17 in den Typ String

2. Dann werden die Daten dieser Zeichenketten miteinander verknüpft.

3. wir konvertieren sie zurück in den Typ int

Vielleicht gibt es noch andere Möglichkeiten, aber im Moment fallen mir keine anderen ein.


Tolle Antwort - einfach und unkompliziert - und Sie brauchen keine weiteren Optionen, denn diese ist
sehr gut .... :))
 

Ich werde mein Glück noch einmal versuchen.

Hallo Es gibt einen Indikatorhttps://www.mql5.com/ru/code/7176

Es funktioniert gut in der Geschichte. Im wirklichen Leben ist es sehr zerfleddert usw.

Wenn ich diesen Indikator zum Beispiel als Grundlage für die Neuzeichnung/Neuberechnung jedes Balkens oder jedes Intervalls verwenden möchte?

Wenn Sie zum Beispiel auf m5 handeln und auf ein Signal warten, kann es sein, dass es nicht kommt, Sie warten 15-20 Minuten, dann wechseln Sie zu einem anderen Zeitrahmen und wieder auf m5 und es stellt sich heraus, dass Sie ein Signal haben. Sie wechseln zu einem anderen Zeitrahmen und wieder zu m5 und es stellt sich heraus, dass es vor 10 Minuten da war. Wie kann man sie automatisch neu berechnen, ohne zu einem anderen Zeitrahmen zu wechseln?

 

Eine lustige Frage ist aufgetaucht. Ich beschließe zum Beispiel, einen Kaufauftrag für eine Bedingung zu eröffnen:

1. Die schnelle Welle1 kreuzt die langsame Welle2 von unten nach oben. (Wichtig ist nicht der Zeitpunkt des Übergangs, sondern dass die schnelle Welle1 höher ist als die langsame Welle2).

2. Die Kerze hat die schnelle 1 berührt, also eröffnen wir einen Kaufauftrag.

Ich habe darüber nachgedacht, und so verstehe ich, dass wir Bedingungen schaffen müssen, dass, wenn der Preis der Kerze ist etwa gleich dem Preis der schnellen Welle1 offenbar mit einigen bestimmten Abweichung, richtig?

Grundsätzlich, da die Kerze ist derzeit an der Spitze, sobald die fastmask1 kreuzt die slowmask1 von unten, dann über wir brauchen, um zu vergleichen, die Kerze der niedrig mit dem Preis der fastmask1?

d.h.

if( iMA(fast) > iMA(slow) )
{
  if(low[0] == iMa(fast))
  OrderSend(параметры посыла ордера);
}

Aber in diesem Fall ist der Punkt nicht berücksichtigt, dass die Kerze ist unwahrscheinlich, dass genau auf den Preis der iMA (schnell), weil der Preis kann schnell durch sie zu springen und weiter gehen oder Rebound. Wir müssen also einen Bereich angeben.

Wie wird sie richtig umgesetzt?

 
Twilight:

Ich werde mein Glück noch einmal versuchen.

Hallo Es gibt einen Indikatorhttps://www.mql5.com/ru/code/7176

Es funktioniert gut in der Geschichte. Im wirklichen Leben ist es sehr zerfleddert usw.

Wenn ich diesen Indikator zum Beispiel als Grundlage für die Neuzeichnung/Neuberechnung jedes Balkens oder jedes Intervalls verwenden möchte?

Wenn Sie zum Beispiel auf m5 handeln und auf ein Signal warten, kann es sein, dass es nicht kommt, Sie warten 15-20 Minuten, dann wechseln Sie zu einem anderen Zeitrahmen und wieder auf m5 und es stellt sich heraus, dass Sie ein Signal haben. Sie wechseln zu einem anderen Zeitrahmen und wieder zu m5 und es stellt sich heraus, dass es vor 10 Minuten da war. Wie können Sie das Signal automatisch neu berechnen lassen, ohne den Zeitrahmen zu wechseln?

Haben Sie die Beschreibung des Indikators durch den Autor sorgfältig gelesen (siehe Link)?

Der einzige Haken ist, dass dieser Indikator, sagen wir mal, dynamisch ist. Das heißt, es können mehr als zehn (!) Balken neu gezeichnet werden. Und was Sie als grün sehen, war früher rot. Und er wurde nur grün, weil der Trend nach oben ging.

??? - es ist bereits überzeichnet!!!
 
silatyt:

Haben Sie die Zusammenfassung des Autors zu diesem Indikator (unter dem Link) aufmerksam gelesen?

Der einzige Haken ist, dass dieser Indikator, sagen wir mal, dynamisch ist. Das heißt, es können mehr als zehn (!) Balken neu gezeichnet werden. Und was Sie als grün sehen, war früher rot. Und er wurde nur grün, weil der Trend nach oben ging.

??? - es wird trotzdem neu berechnet!!!


Ich weiß, dass er neu gezeichnet wird, aber ich interessiere mich für die Technik der Neuberechnung eines Indikators bei jedem neuen Balken oder in einem bestimmten Intervall.

Ich interessiere mich für die Technik der Neuberechnung eines beliebigen Indikators.

Die Frage ist, wie man bei jedem Balken einen beliebigen Indikator neu berechnen kann, ohne den Zeitrahmen manuell zu ändern.

 
Twilight:


Ich weiß, dass der Indikator neu gezeichnet wird, aber ich interessiere mich für die Technologie der Neuberechnung eines Indikators bei jedem neuen Balken oder einem bestimmten Zeitrahmen im Allgemeinen.

Auch wenn es später noch etwas anderes gibt.

Die Frage klingt nach einer Neuberechnung eines beliebigen Indikators bei jedem Balken, ohne dass der Zeitrahmen manuell geändert wird.

Haben Sie schon einmal in einen Indikator hineingeschaut? Im Allgemeinen sieht es folgendermaßen aus:

int start()
  {
   int counted_bars=IndicatorCounted();
//----
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--; 
   int limit=Bars-counted_bars;
   for (int i=limit;i>=0;i--)
    {
    //расчёт индикатора
    }
//----
   return(0);
  }

Die Variable, die die Anzahl der neu zu berechnenden Takte definiert, heißt Limit. Sie können ihn als Grundlage für Ihre Berechnungen verwenden.

 
silatyt:

Haben Sie schon einmal in einen Indikator hineingeschaut? Im Allgemeinen sieht es folgendermaßen aus:

Die Variable, die die Anzahl der neu zu berechnenden Takte bestimmt, ist limit. Sie können es von dort aus berechnen.


Sie möchten den Code des Indikators in den Expert Advisor einfügen und ihn dort neu berechnen?

Was ist, wenn es 5 Indikatoren gibt?

Gibt es eine andere Möglichkeit, sie neu zu berechnen?

Ich füge alle Indikatoren zum Expert Advisor durch iCustom

Der Aufruf des Indikators und seines letzten Wertes usw. erfolgt bei jedem neuen Balken, wird aber im Fenster mit den gehandelten Symbolen nicht neu gezeichnet, bis Sie den Zeitrahmen ändern und zurückgehen.

Wenn Sie PCM drücken und dann auf Aktualisieren klicken, wird das Bild nicht neu gezeichnet, sondern nur, wenn Sie den Zeitrahmen ändern.

P.S. Und die Software PCM/Refresh wie genannt?

RefreshRates scheint falsch zu sein.

Grund der Beschwerde: