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

 
Novice >> :
Wo liegt hier der Fehler und wie kann er behoben werden?

Eigentlich haben Sie es schon umgesetzt), jetzt muss nur noch die endgültige Partie in eine akzeptable Form gebracht werden...

 
Neuling schrieb(a) >>

Wo liegt hier der Fehler und wie kann er behoben werden?

vergessen, ; an das Ende jeder Zeile zu setzen !!!

 
neoclassic >> :
Können Sie mir sagen, ob es möglich ist, ein jpeg in einem Diagramm auszugeben?
 
Das geht nicht, Sie können Ihre eigene Schriftart wie Wingding als Bild erstellen und ausgeben...
 
xrust >> :

Was genau wollen Sie umsetzen?


Automatische Zählung der Lose: 0,01 Lose für jeweils 50 Bilanzeinheiten.
Figar0 >> :

Ja, Sie haben es bereits umgesetzt), jetzt muss nur noch die endgültige Partie in eine akzeptable Form gebracht werden...


Beim Kompilieren gab es 5 Fehler, ich habe nicht verstanden, warum.

keekkenen schrieb >>

vergessen, ; an das Ende jeder Zeile zu setzen !!!


Ich danke Ihnen vielmals. Es hat funktioniert.
 
Guten Tag, meine Herren Programmierer. Bitte helfen Sie bei dem Programm. Es ist ein Timer, aber nicht auf MKL4, es ist eine Art Linkshänder. Das heißt, es ist nur ein Programm. Dieser Timer zählt gleiche Zeitintervalle herunter und gibt ein Signal. Aber die Intervalle sind sehr kurz. Die längste ist 120 Sekunden, aber die Intervalle sollten länger sein, bis zu einer halben Stunde. Ist es möglich, etwas zu tun? Ich danke Ihnen im Voraus.
Dateien:
tim_ngtrrg.rar  213 kb
 

Hier ein Beispiel für eine Funktion

bool isTime(int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0;
   if (TimeCurrent() >= time){
      min = MathFloor( sec / 60);
      if ( min==0) min = 1.0;         
      time = iTime(NULL,PERIOD_H1,0) + (MathFloor(Minute()/ min) + 1) * min * 60;
      res = true;
   } 
   return( res);
}


die Funktion gibt true zurück, wenn seit dem letzten Aufruf der Funktion eine bestimmte Anzahl von Sekunden vergangen ist.

es wird so gemacht, if ( ! isTime(Period()*60) ) return(0); dies gilt für jeden Zeitrahmen...


in der Funktion ist der Startpunkt immer der Beginn der aktuellen Stunde(iTime(NULL,PEROD_H1,0))

Wenn Sie z. B. möchten, dass ab dem ersten Start alle 111 Sekunden eine Meldung erscheint, sollten Sie diese Funktion ändern...

Es würde also folgendermaßen aussehen

bool isTime(int startTime, int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0; 
   if (TimeCurrent() >= time){
      min = MathFloor( sec / 60);
      if ( min==0) min = 1.0;          
      time = startTime + (MathFloor(Minute()/ min) + 1) * min * 60;
      res = true;
   }  
   return( res);
}

damit alle 111 Sekunden eine Meldung erscheint, gehen Sie wie folgt vor

int startTime = 0;

int init (){
   startTime = TimeCurrent();
}

int start(){

   if (! isTime(111)) return(0);

   Alert("Прошло 111 или более секунд !");
}
 
keekkenen >> :

Hier ein Beispiel für eine Funktion


die Funktion gibt true zurück, wenn seit dem letzten Aufruf der Funktion eine bestimmte Anzahl von Sekunden vergangen ist.

if ! isTime(Period()*60) ) return(0); dieses Verhalten gilt für jeden Zeitrahmen.


in der Funktion ist der Startpunkt immer der Beginn der aktuellen Stunde(iTime(NULL,PEROD_H1,0))

Wenn Sie zum Beispiel möchten, dass nach dem ersten Start alle 111 Sekunden eine Meldung erscheint, müssen Sie diese Funktion ändern...

erhalten wir Folgendes

so dass die Meldung alle 111 Sekunden angezeigt wird





Danke, können Sie mir sagen, wie ich es formatieren soll: als Skript oder als Ratgeber?

 
Nun, es liegt an Ihnen, wo Sie es einsetzen wollen... es wird dort und dort funktionieren...
 

Können Sie mir sagen, ob es möglich ist, die Anzahl der Lose in einem Marktauftrag zu erhöhen, ohne neue Lose zu eröffnen?