[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 212

 

MA_1_t=iCustom(Symbol(),0,"AMA_optimized",1,1); // ??_1
MA_2_t=iCustom(Symbol(),0,"AMA_optimized",2,1); // ??_2
MA_3_t=iCustom(Symbol(),0,"AMA_optimized",1,2); // ??_2
MA_4_t=iCustom(Symbol(),0,"AMA_optimized",2,2); // ??_4
//---------------------------------------------------------------- 5.1 ???? ?????
static datetime New_Time;
bool New_Bar;
bool wayUP, wayDOWN;

if(New_Time!=Time[0])
{
New_Time=Time[0];
New_Bar=true;
} else { New_Bar=false;
}
//---------------------------------------------------------------- 5.1

if (MA_1_t!=0 && wayDOWN==true) // && MA_3_t==0
{
if (New_Bar==true)
{
Opn_B=true;
New_Bar=false;
}
//Cls_S=true;
}

if (MA_2_t!=0 && wayUP==true) // && MA_4_t==0
{
if (New_Bar==true)
{
Opn_S=true;
New_Bar=false;
}
//Cls_B=true;
}

if (New_Bar==true) {
if (MA_3_t!=0 && MA_4_t==0) {wayUP=true;}
if (MA_4_t!=0 && MA_3_t==0) {wayDOWN=true;}
}

//--------------------------------------------------------------- 6 --

PEOPLE, müssen wir irgendwie zu erinnern, bis zu 2 Bars, was die Richtung war und dann vergleichen Sie es, wenn die Richtung ist nicht das gleiche wie 1 bar, dann öffnen Sie auf 0 bar...

Oder sie werden nicht helfen!

Может я не правельные вопросы задаю, черт побери?! мысли в члух

 
Hallo zusammen. Ich habe einen nicht standardmäßigen M10-Zeitrahmen in MT4 erstellt, aber er funktioniert aus irgendeinem Grund nicht in Echtzeit. D.h. die Historie wird für den gewünschten M10-Zeitraum korrekt angezeigt, aber nur bis zu dem Zeitpunkt, an dem ich sie erstellt habe. Wo liegt das Problem? Ich weiß nicht, ob es so sein sollte oder ob ich etwas falsch gemacht habe. Ich habe es so gemacht, dass ich keine Möglichkeit habe, in Echtzeit zu einer anderen Zeit als der Standardzeit zu handeln, ich muss nur die Geschichte durchsehen ((
 
Kopieren Sie die Datei Period_Converter_Opt.mq4 in den Ordner experts\indicators auf Ihrem Terminal. Wenn das Terminal geöffnet wurde, laden Sie es neu.

Schritt 2.1. Fügen Sie den Indikator Period_Converter_Opt zu dem Diagramm hinzu, von dem Sie einen nicht standardisierten Zeitrahmen erhalten möchten. Ein Fenster wird geöffnet. Aktivieren Sie das Kontrollkästchen "DLL-Import zulassen" auf der Registerkarte "Allgemein".

Schritt 2.2. Auf der Registerkarte "Eingabeparameter" können Sie mehrere Variablen einstellen. Die Variable PeriodMultiplier ist der Multiplikator für das ursprüngliche Diagramm. Wenn Sie zum Beispiel das H1-Diagramm als H6-Diagramm erhalten möchten, sollten Sie den Wert 6 einstellen.

Die Variable UpdateInterval ist für die Häufigkeit der Diagrammaktualisierungen verantwortlich. Die Standardeinstellung ist Null - das Diagramm wird in Echtzeit aktualisiert. Wenn Sie die Ressourcen Ihres Computers entlasten wollen, erhöhen Sie diesen Wert.


Die Abstände zwischen den regulären MetaTrade-Zeitrahmen sind recht groß - Stunden-, Vier-Stunden- und Tages-Charts. Daher können die Diagramme M10, H2, H3, H6, H8 und H12 nützlich sein.
Der Rest ist wie üblich - öffnen Sie ein Diagramm offline, suchen Sie die erstellte TF und führen Sie sie aus.
Dateien:
 

Irgendwo, irgendwann vor einiger Zeit bin ich auf einen Operator oder eine Funktion gestoßen, die dem EA befahl, NUR mit Aufträgen des Instruments zu arbeiten, auf dem er saß, und Aufträge anderer Paare zu ignorieren. Ich habe versucht, sie jetzt zu finden, konnte es aber nicht. Vielleicht kann mir jemand einen kurzen Tipp geben?

 
vendim писал(а) >>

Irgendwo habe ich einen Operator oder eine Funktion gesehen, die den EA anweist, NUR mit Aufträgen des Instruments zu arbeiten, auf dem er sitzt, und Aufträge anderer Paare zu ignorieren. Ich habe versucht, sie jetzt zu finden, konnte es aber nicht. Kann mir jemand einen kurzen Tipp geben?

Bei der Eröffnung einer Bestellung ist dafür der magische Parameter zuständig.

Negative Magie".

 
DDFedor писал(а) >>

Verantwortlich dafür ist der magische Parameter bei der Auftragseröffnung, dessen Eindeutigkeit bei der Auftragsanalyse zu beachten ist.

Ich meinte die Standardfunktionen der Sprache. Vielleicht habe ich mich geirrt, vielleicht stand es irgendwo separat und ich habe es nicht bemerkt. Der gesamte Code enthält eine Reihe von Prüfungen der folgenden Art

&& (BestellSymbol() == Symbol())

Im Code des Expert Advisors stand die erforderliche Zeile (sogar mit einem Kommentar) am Anfang, und der Autor hat sich danach nicht mehr um Aufträge für andere Währungspaare gekümmert. Vielleicht wurden die Bestellungen aus der Bibliothek entnommen ...

Kurz gesagt, die Standard-Operator/Funktion in MQL4, gibt es sie?

 

Nochmals: Kann mir jemand beim Löschen von Objekten helfen?

#property copyright ""
#property link      ""

#include <WinUser32.mqh>

int start() {
   for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
      if (StringFind(ObjectName( li_0), "стрелка") == 0) {
         ObjectDelete(ObjectName( li_0));
         li_0--;
      }
   }
   int li_4 = WindowHandle(Symbol(), Period());
   if ( li_4 != 0) PostMessageA( li_4, WM_COMMAND, 33324, 0);
   return (0);
}

Wie kann ich dieses Skript dazu bringen, Objekte nicht nach Namen, sondern nach Stil zu löschen, zum Beispiel





(OBJPROP_ARROWCODE,158)

Helfen Sie mir, bitte

 
NEKSUS_ >> :

Nochmals: Kann mir jemand beim Löschen von Objekten helfen?


Wie kann ich dieses Skript dazu bringen, Objekte nicht nach Namen, sondern nach Stil zu löschen, zum Beispiel





hilf mir hier


Ich persönlich würde wie folgt vorgehen:

for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
if (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0))
}
}

Die Schleife darf nur dekrementiert werden, da man sonst die Reihenfolge der Objekte nicht mehr herausfinden kann, wenn man sie nacheinander löscht.

 
splxgf >> :

Ich persönlich würde wie folgt vorgehen:

for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
if (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0))
}
}

Eine Schleife nur mit Dekrementen - sonst kann man die Reihenfolge der Objekte nicht herausfinden, wenn man sie nacheinander löscht.

Nun, ich kenne mich mit mql überhaupt nicht aus, und das Skript funktioniert, aber es muss 7 Mal ausgeführt werden, und es bleiben immer noch ein paar Objekte auf dem Diagramm

 
NEKSUS_ >> :

Ich kenne mich mit mql überhaupt nicht aus, aber das Skript funktioniert, aber es muss 7 Mal ausgeführt werden und einige Objekte bleiben trotzdem im Diagramm

Das mag sein:

for(int k=0; k<ObjectsTotal(); k++)
{
   if (ObjectGet(ObjectName( k), OBJPROP_ARROWCODE)==158) 
   {
      ObjectDelete(ObjectName( k));
      k--;
   }
}

Dies ist die Entfernung von Pfeilen. Wenn Sie an anderen Objekten interessiert sind - lesen Sie die Hilfe zum ObjectGet() Befehl