Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 570

 
dmitriyriy666:

Ich danke Ihnen. Über TimeCurrent ist es wahr, meine Zeit stimmt nicht mit der Serverzeit überein. Ich habe es repariert, aber es funktioniert immer noch nicht... Schreibt keine Fehler in das Protokoll.


P.S. In meinem vorherigen Beitrag wurde irgendwie Code ohne Leerzeichen eingefügt. Aber ich glaube, ich habe alle geschweiften Klammern richtig gesetzt.

Bitte geben Sie an, ob Sie alles, was ich geschrieben habe, oder nur TimeLocal() zu TimeCurrent() korrigiert haben.
 
AlexeyVik:
Geben Sie an, ob Sie alles, was ich geschrieben habe, korrigiert haben oder nur TimeLocal() zu TimeCurrent()


Ich habe die Thongs in Ints umgewandelt, die Anführungszeichen entfernt und es ohne Shift probiert - nur beim Kreuzen, und es mit iTime überall probiert und es hat funktioniert. Ich verstehe das überhaupt nicht. Jetzt habe ich es so umgeschrieben, dass sich die Schleife sofort öffnet, nachdem ich die Zeit gefunden habe, und das ist das Ergebnis:

extern int Magic = 66622210;
extern double Lot = 400.0;
color Colorrr;
datetime Vremyaaa;
//datetime shi = 120;
color col = Black; 
int operacia;
//-
void OnTick()
{
   int AllObject = ObjectsTotal(); 
   for ( int i = 0; i < AllObject; i++)
   {
    int kolpos = 0;
    string NameObj = ObjectName(i); 
    Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
    Vremyaaa = ObjectGet(NameObj, OBJPROP_TIME);
    if((Colorrr == Green)||(Colorrr == Aqua)){operacia = OP_BUY;}
    if((Colorrr == Red)||(Colorrr == Purple)){operacia = OP_SELL;}
    if(Vremyaaa == TimeCurrent())
      {
       for (int pos = 0; pos < OrdersTotal(); pos++)
          {
           if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
             {
              if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
                {
                 kolpos++;
                }
             }   
          }
          
       if(kolpos == 0)
         {
           printf("otkrivaem order");
           int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
         }  
              
            
      }
    }
 
}

Vielleicht liegt es daran, dass iTimeCurrent die Zeit auf Sekunden genau angibt und eine gerade Zeit einschiebt?

 

Gibt es eine Funktion oder Variable, die den erzwungenen Stopp-Status des EA (d.h. wenn "Stop" gedrückt wird) im Testmodus zurückgibt?

 
dmitriyriy666:

Ich habe die Thongs in Ints umgewandelt, die Anführungszeichen entfernt und es ohne Shift probiert - nur beim Kreuzen, und es mit iTime überall probiert und es hat funktioniert. Ich verstehe das überhaupt nicht. Jetzt habe ich es so umgeschrieben, dass die Schleife sofort geöffnet wird, nachdem ich die Zeit gefunden habe, und das ist das Ergebnis:

Vielleicht liegt es daran, dass TimeCurrent die Zeit in Sekunden umwandelt und die Zeit selbst verrutscht?

Ja, höchstwahrscheinlich habe ich nicht darauf geachtet. Setzen Sie besser Time[0] oder verwenden Sie . mehrere TimeCurrent() -Konvertierungen in String zu Minuten und zurück von String zu datetime
 
qomment:

Gibt es eine Funktion oder Variable, die den erzwungenen Stopp-Status des EA (d.h. wenn "Stop" gedrückt wird) im Testmodus zurückgibt?

IsStopped()
 
AlexeyVik:
Ja, darauf habe ich wahrscheinlich nicht geachtet. Setzen Sie besser Time[0] oder Sie können durch . mehrere TimeCurrent()-Konvertierungen in String zu Minuten und zurück von String zu Datetime


Time[0] hat auch nicht funktioniert. Ich brauche Zeit ohne Sekunden - wie kann ich das erreichen? Ich habe versucht if(Vremyaaa == TimeToString(TimeCurrent(), TIME_DATE|TIME_MINUTES)) funktioniert nicht...
 
gibt es einen Tick-Indikator, der die Zeit jedes Ticks anzeigt, anstatt nur Ticks wie ein normaler mt4 anzuzeigen
 

Guten Tag,

Ich erhalte eine Warnung während der Kompilierung

möglicher Datenverlust aufgrund von Typumwandlung

auf der Linie:

int Stop_Loss = MarketInfo(Symbol(),MODE_STOPLEVEL);

Die Beschreibung von MarketInfo besagt, dass es den Typ double zurückgibt.

Aber die Haltestellenebene ist eine ganze Zahl und ich möchte sie verwenden

als eine ganze Zahl...

Liegt es an den Entwicklern, oder ist die Warnung richtig und ich verstehe sie nicht?

 

Gute Zeit, meine Herren, beschlossen, Posting in diesem dummen Thema zu beginnen, wenn jemand einen Rat hat.

MT4 verliert das Netzwerk - die Serveruhr tickt nicht, aber der "Verbindungsstatus" zeigt, dass alles in Ordnung ist. Das Internet ist garantiert und in keiner Weise ausgelastet.

Dies geschieht viele Male am Tag, ein Wechsel des Brokers hat keinen Einfluss auf die Situation. Das Terminal bleibt einfach in einer bestimmten Position stecken, und es fühlt sich an, als ob es für immer in dieser Position bleiben könnte.

Für jeden Tipp wären wir dankbar.

 

Guten Tag.

Können Sie mir sagen, welcher Broker die geringste Verzögerung (ping) auf MT4 hat?