Fragen von einem "Dummy" - Seite 208

 
talliy: Können Sie mir bitte sagen, wie ich eine Variable dazu bringen kann, einen einzigen Wert anzunehmen, wenn eine bestimmte Bedingung eintritt, und nicht über die Dauer der Bedingung?
Können Sie mir weitere Einzelheiten nennen? Die Formulierung "und nicht für die Dauer der Erkrankung" ist unklar.
 
Yedelkin:
Was ist mit den Details? Die Formulierung "nicht für die Dauer der Erkrankung" ist unklar.
Zum Beispiel, wenn Sie eine bestimmte Bar finden. Dieser Balken im Array ist z. B. der dritte Balken. Während dieser Balken der dritte in der variablen Wahrheit ist. Es ist die dritte nach dem Zeitrahmen. Wir müssen einen Eintrag in das Protokoll machen. Mit jedem Tick erhöht sich die Anzahl der Datensätze, bis sie den vierten Balken erreicht. Die Frage ist also, wie man der Variablen einmalig die Wahrheit zuweist und einmalig weitere Bedingungen erfüllt, aber nicht bei jedem Tick, bis die Variable die Wahrheit hat.
 
Guten Morgen, bitte um Rat. Ich habe mich für ein Signal auf Ihrer Website angemeldet. Aber ich bin mir nicht ganz sicher, wie es zustande kommt? Und wie wird sie ausgeführt? Vielleicht sollte ich einige Einstellungen in MT4 machen oder es ist genug, mein Abonnement, meine Kontonummer und Broker-Server, um die Trades zu kopieren? Was ist, wenn mein Computer ausgeschaltet wurde? Das sind die Fragen.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 
talliy:
Zum Beispiel, wenn Sie eine bestimmte Bar finden. Dieser Balken ist der dritte in der Reihe. Solange dieser Balken der dritte in der variablen Wahrheit ist. Es ist die dritte nach dem Zeitrahmen. Wir müssen einen Eintrag in das Protokoll machen. Mit jedem Tick erhöht sich die Anzahl der Datensätze, bis sie den vierten Balken erreicht. Es stellt sich also die Frage, wie man die Zuweisung der Variablenwahrheit und die gleichzeitige Erfüllung der weiteren Bedingungen gleichzeitig durchführen kann, und nicht mit jedem Tick, bis die Variable Wahrheit hat.
Meinen Sie vielleicht, dass Sie die Nummer des Balkens nicht bei jedem Tick ermitteln müssen, sondern nur, wenn ein neuer Balken erscheint? Schauen Sie hier oder suchen Sie im Forum nach der Wortkombination IsNewBar.
 
talliy: Zum Beispiel, wenn ein bestimmter Balken gefunden wird. Dieser Balken im Array ist z. B. der dritte. Solange dieser Balken der dritte ist, ist die Variable wahr. Es ist die dritte nach dem Zeitrahmen. Dies muss in das Journal eingetragen werden. Mit jedem Tick erhöht sich die Anzahl der Datensätze, bis sie den vierten Balken erreicht. Die Frage ist also, wie man einmalig die Variable Wahrheit zuweisen und einmalig weitere Bedingungen erfüllen kann, aber nicht bei jedem Tick, bis die Variable wahr ist.

Alternativ können Sie eine weitere Variable eingeben, der Sie den Wert true zuweisen, wenn die erste Variable zum Drucken gesendet wird.

bool bar_printed=false;
...
if()                     //Проверяете нужное условие
  {
   ...
   if(!bar_printed)
     {
      Print("Нужное условие выполнено");
      bar_printed=true;
     }
  }
 

Hallo, liebe Benutzer und Administratoren, könnten Sie mir bitte bei folgendem Problem helfen. Ich beschloss, kostenlose Handelssignale Service https://www.mql5.com/ru/signals/mt4 testen Ich habe die Parameter wie in den Anweisungen, aber nichts passiert. Ich habe das Protokoll mit den folgenden Fehlern eingegeben:

2012.11.16 11:04:14 '340421': Signal - Synchronisation fehlgeschlagen, Verarbeitung von Handelsaktionen deaktiviert
2012.11.16 11:04:14 '340421': Signal - Synchronisation abgebrochen, kann Position nicht kopieren [#37469421 buy 10.00 USDCHF at 0.9411 sl: 0.9231 tp: 0.0000]
2012.11.16 11:04:14 Symbol: keine Preise für Symbol U‰`¤"B<u}{њWr1zzfußtљUYShchµtuNЏEDT`P}sh197XT¬n "zlss®VYЏ--¶¶ԛl
KЂSh 9ґnhuP©h_Yu6nzj-KSQr-ÏŽS<"MSHr©±ЇР'Ì$eљ*t6&SО
.y*'HushR"±,emkЊG€a!ÇV®jtvЉGLYkҐj>5ґ DP@mii!)'HDњE "јў®ћLF‡...¦aў;srI


Was ist das Problem mit der Anpassung? Mein Makler ist FBS

Торговые сигналы: MetaTrader 4
Торговые сигналы: MetaTrader 4
  • www.mql5.com
Торговые сигналы для MetaTrader 4 с автоматическим исполнением на вашем счете
 
Yedelkin:

Alternativ dazu können Sie eine weitere Variable eingeben, der Sie den Wert true zuweisen, wenn die erste Variable zum Drucken gesendet wird.

In dem von Ihnen vorgeschlagenen Fall ist die Variable bei jedem Tick falsch und wird nach dem Ausdruck im Protokoll wahr. Dann gibt es einen neuen Tick und der Operator onTick() führt sein Programm von oben nach unten aus. Und dort ist die Variable wieder falsch, und in der Bedingung, wenn die Variable falsch ist, dann drucken. Und so ist das Protokoll bei jedem Ticken voller Einträge. Geprüft!!!

Ich habe die FunktionTimeCurrent() verwendet, um die Ausführung des Programms in der Anweisung logisch zu verstehen, hier ist der Code:

Folglich werden nur die Einträge protokolliert, bei denen der Tick eine Zeit von 0 Minuten und 0 Sekunden hat. Mit der Uhr ist es noch komplizierter. Das Einzige, was sich ändert, ist das Stundensignal. Die Eingabe von 0 dient als Filter und führt zu einem Eintrag, wenn der "Hammer" auf 00 Uhr steht, was selten der Fall ist. Gleichzeitig ist die Zahl der Aufzeichnungen zurückgegangen, will aber immer noch besser werden.

  double r=0;
  double x=0;
  double z=0;
  double rr=0;
  double xx=0;
  double zz=0;
  double a=0;
  r = Open[1];
  x = Close[1];
  z = r - x;
  xx=Low[1];
  a=x-xx;
  zz = 2*z;
MqlDateTime secc;
bool logno = false;
  if (Open[3]<Close[3] && Open[2] <Close[2])         
    if (Open[1]==High[1]&&Close[1]<Open[1])
     if (a>=zz){
    /* if (!logno){
     Print ("На графике свечная модель -Молот");
     logno = true;}*/
     TimeCurrent(secc);
     while(secc.sec==0 && secc.min==0 && !IsStopped())
     {
 Print ("На графике свечная модель -Молот");
 break;
     
        }

Dies ist ein schneller Versuch, das "Hammer"-Kerzenmuster auf dem Chart darzustellen und zu finden. Übrigens ist das Beispiel mit der Variablen, die falsch ist, auch hier auskommentiert.

Ein Hammermuster ist: Der untere Schatten ist mindestens 2 und höchstens 3 Mal so groß wie der Körper. Der obere Schatten ist nicht vorhanden oder sehr kurz (nicht mehr als 10 % der Kerzenlänge). Die Farbe des Körpers ist im Langzeitspiel unerheblich; im Kurzzeitspiel ist der weiße Hammer viel stärker als der schwarze.

 

Ich möchte auch klären, wie man verhindern kann, dass sich eine Variable hinter einem Preis bewegt.

Beispiel: Ein einfaches Stopp-Schleppnetz. Wir weisen die Variable an, dem Preis in einem Abstand von 20 Pips zu folgen (zum Beispiel). Mit anderen Worten: Variable = Geldkurs - 20 Pips (unter der Annahme, dass wir gekauft haben). Der Preis steigt und wir folgen ihm erfolgreich. Dann sinkt der Preis, und die Variable muss in ihrem Wert auf demselben Niveau bleiben.

Meine Frage ist also, wie kann man verhindern, dass die Variable zu einem bestimmten Zeitpunkt einen Wert annimmt?

 
paladin800:
Vielleicht wollen Sie die Nummer des gewünschten Balkens nicht bei jedem Tick ermitteln, sondern nur, wenn ein neuer Balken erscheint? Schauen Sie hier oder suchen Sie im Forum nach der Wortkombination IsNewBar.

Ich danke Ihnen!!! Nützlicher Link!!! Das wird sich in Zukunft als nützlich erweisen.

Aber ein bisschen daneben, obwohl.... Sie können sich auch einen Weg überlegen, wie Sie das umgehen können.

 
talliy:

In dem von Ihnen vorgeschlagenen Fall ist die Variable bei jedem Tick falsch und wird nach der Ausführung eines Protokolldrucks wahr. Dann wird ein neues Tick und onTick() Operator führt sein Programm von oben nach unten. Und dort ist die Variable wieder falsch, und in der Bedingung, wenn die Variable falsch ist, dann drucken. Und so ist das Protokoll bei jedem Ticken voller Einträge. Geprüft!!!

Ich habe die FunktionTimeCurrent() verwendet, um die Ausführung des Programms in der Anweisung logisch zu verstehen, hier ist der Code:

Folglich werden nur die Einträge protokolliert, bei denen der Tick eine Zeit von 0 Minuten und 0 Sekunden hat. Mit der Uhr ist es noch komplizierter. Das Einzige, was sich ändert, ist das Stundensignal. Die Eingabe von 0 dient als Filter und führt zu einem Eintrag, wenn der "Hammer" auf 00 Uhr steht, was selten der Fall ist. Gleichzeitig ist die Zahl der Aufzeichnungen zurückgegangen, will aber immer noch besser werden.

Dies ist ein schneller Versuch, das "Hammer"-Kerzenmuster auf dem Chart darzustellen und zu finden. Übrigens ist das Beispiel mit der Variablen, die falsch ist, auch hier auskommentiert.

Ein Hammermuster ist: Der untere Schatten ist mindestens 2 und höchstens 3 Mal so groß wie der Körper. Der obere Schatten ist nicht vorhanden oder sehr kurz (nicht mehr als 10 % der Kerzenlänge). Die Farbe des Körpers ist im Langzeitspiel unerheblich; im Kurzzeitspiel ist der weiße Hammer viel stärker als der schwarze.


static bool logno = false;