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

 
gyfto:

Der andere Indikator auf #property indicator_chart_window über iCustom, und dort auf DRAW_ARROW.

gibt es einen anderen Weg? oder könnten Sie mir einen Link geben, wo dieser Fall implementiert ist, vielleicht haben Sie diese begegnet ...

 
Zhunko:

Funktioniert das Testskript aus dem Kit?


Ja, es hat geklappt, es hat funktioniert.

Zhunko:

Es gibt eine Reihe von Syntaxfehlern.
Seltsam... Reagiert MetaEditor vielleicht auf das Griechische? Zumindest kompiliert bei mir alles...
 
gyfto:


Lassen Sie es mich jetzt versuchen. Wenn wir schreiben

dann werden diese Aktionen immer durchgeführt, denn die ersten beiden sind der dritten ähnlich (prüfen, den Ausdruck vereinfachen). Das heißt, wenn es sich um boolesche Variablen handelt, brauchen wir nicht ==true, ==false einzugeben, da sie bereits von sich aus true oder false sind.


Verstanden, danke! Tut mir leid, dass ich nicht ganz oben bin. Ich habe diesen Thread in meinem Profil abonniert und angegeben, dass ich Antworten an meine E-Mail melden möchte. Aber aus irgendeinem Grund werde ich nicht über Antworten informiert. Wie kann ich dieses Problem lösen?
 
clubsmi:

Gibt es noch eine andere Möglichkeit, oder können Sie mir einen Link geben, wo dies gemacht wird, vielleicht haben Sie es schon einmal gesehen...


Nein, ich habe iCustom damals nicht verwendet, weil ich es damals nicht kannte. Hier sind zwei Beispiele, ein und derselbe Algorithmus, nur befindet sich eines in einem Teilfenster und das andere ist ein Signal am Schnittpunkt des ersten Fensters.
Dateien:
sst_alert.mq4  3 kb
sst_line.mq4  2 kb
 
gyfto:


Ja, es funktioniert, es funktioniert.

Das ist seltsam... Vielleicht reagiert MetaEditor so auf Griechisch. Wenigstens kompiliert bei mir alles...

Das ist eine Erleichterung. Wir müssen also nach Fehlern im Code suchen.

Ja, die griechischen Schriftzeichen tauchen aus irgendeinem Grund auf.

 
alsu:

Wenn es sich um ein Skript handelt und es sich im Ordner scpirts befindet, wurde es einmal ausgeführt und aus dem Diagramm entfernt. Um sie dauerhaft zu behalten, fügen Sie Ihren Code in diese



Mit "Skript" meinte ich den Algorithmus.

Kann mir jemand bei dem Algorithmus helfen?

Ich möchte eine Warnung auslösen, wenn der Markt geöffnet ist, und ebenso, wenn der Markt geschlossen ist und der Handel gestoppt wurde.

 
Ich glaube, ich habe den Grund dafür herausgefunden. Die TF ist eine zweite mit Lücken, also habe ich versucht, ein zusätzliches eindimensionales Array von Indizes zu bilden, wobei jedes Element a "richtige Anzahl von Sekunden vor" dem Element b "Index dieser Kerze in einer zweiten TF mit Lücken" entspricht. Der erforderliche Indexwert wird dann nach der Formel n(x)=ind[final]-ind[final-x]+1 berechnet. Da diese TF aber noch nicht synchronisiert ist, im Gegensatz zu den Minuten, die automatisch heruntergeladen werden, wenn das Terminal nach dem Schließen vor einigen Minuten wieder gestartet wird, Δt pro Sekunde. TF wird manchmal abnormal groß sein, und das ist es, was die Größenänderung eines zusätzlichen Arrays bestimmt, d.h. Δt von Zellen werden mit dem gleichen Wert (Index dieses Balkens) gefüllt. In diesem Fall nur MemoryWrite, MemoryRead geht aus dem Rahmen. Der Ausweg ist im Prinzip "einfach": mit der Sek. beginnen. TF auf dem VPS und synchronisiert sich damit, wenn das Terminal nach einer kurzen Zeit des Schließens wieder geöffnet wird. Realistischer ist es, die Arbeit mit der Bibliothek auf Montag zu verschieben und am Montag damit zu beginnen, das zusätzliche Array live und in Echtzeit zu erstellen. Oder gehen Sie direkt von Ihrem Computer auf einen VPS, und gestalten Sie ihn dort.
 
pasha5282:

Mit "Skript" meine ich einen Algorithmus.

Kann mir also jemand bei dem Algorithmus helfen?

Wenn der Markt geöffnet wird, melden Sie, dass der Markt geöffnet wurde, und wenn der Markt geschlossen und der Handel eingestellt wurde, melden Sie, dass der Markt geschlossen wurde!


Ich weiß es nicht, Pascha, um ehrlich zu sein, ich verstehe nicht, was los ist. Es handelt sich nicht um ein Skript, sondern um ein Stück Code, richtig? Versuchen Sie, es in Klammern zu setzen, um Ihr Gewissen zu beruhigen:

      if((DayOfWeek()==1) && (Hour()==0) && (Minute()==0) && (Seconds()==1)) Alert("Рынок открылся.");
      if((DayOfWeek()==5) && (Hour()==23) && (Minute()==59) && (Seconds()==59)) Alert("Рынок закрылся.");
 
чтобы при открытии рынка срабатывал Alert что рынок открылся, и аналогично когда рынок закрылся и торговля прекратилась Alert что рынок закрылся!
bool Opened=false;
...
int start()
if( !MarketInfo(Symbol(), MODE_TRADEALLOWED) ){
   if( Opened ){
   Alert("Рынок закрылся.");
   Opened=false;
}  }
else{
   if( !Opened ){
   Alert("Рынок открылся.");
   Opened=true;
}  }
 

Wie kann ich diesen Ausdruck vereinfachen?

ist vom ADX-Algorithmus von MetaQuotes. MetaQuotes selbst verwenden diesen Ausdruck:

if(pdm<0) pdm=0;
if(mdm<0) mdm=0;
if(pdm==mdm) { pdm=0; mdm=0; }
  else if(pdm<mdm) pdm=0;
    else if(mdm<pdm) mdm=0;

- wie kann man es vereinfachen? Aus Wiki,

Hier betrachte ich als die gleiche Funktion, nur mit anderen Eingabeparametern.