Fehler, Irrtümer, Fragen - Seite 1217

 
fyords:

Es gibt ein einfaches Skript (MT4), das die Schließungszeit eines Auftrags vor und nach seiner Schließung ausgibt.

Ergebnis bei Kunde(711 bauen):

Ich habe das Ergebnis (711-719 build):

UPD: Dies geschieht nur, wenn ich das kompilierte Produkt abgebe. Wenn ich die Quelle übergehe, gibt es keine solchen Probleme, alles funktioniert wie am Schnürchen.
Danke für die Nachricht, behoben, bitte warten Sie auf den neuen Build (geplant für morgen).
Verwenden Sie die folgende Konstruktion für die Funktionen OrderCloseTime, OrderOpenTime und OrderExpiration, damit sie im aktuellen Build funktionieren:
int time=(int)OrderCloseTime();
TimeToString(time);
 
mql5:
Danke für die Nachricht, behoben, bitte warten Sie auf die neue Version (geplant für morgen).
Verwenden Sie die folgende Konstruktion für die Funktionen OrderCloseTime, OrderOpenTime und OrderExpiration, damit sie im aktuellen Build funktionieren:
Ich danke Ihnen für Ihr Entgegenkommen.
 
Ist geplant, die FunktionWebRequest so zu ändern, dass sie mit russischem Text arbeitet?
 

so funktioniert es nicht, es gibt Objekte im Diagramm:

   double Pos_Buy=(-1);
   if(ObjectFind("UP_Line")==0)
   {
      Pos_Buy=ObjectGetValueByShift("UP_Line",0);
   }
   double Pos_Sell=(-1);
   if(ObjectFind("DN_Line")==0)
   {
      Pos_Sell=ObjectGetValueByShift("DN_Line",0);
   }
   double Pos_Buy_CH=(-1);
   if(ObjectFind("UP_Line1")==0)
   {
      Pos_Buy_CH=ObjectGetValueByShift("UP_Line1",0);
   }
   double Pos_Sell_CH=(-1);
   if(ObjectFind("DN_Line1")==0)
   {
      Pos_Sell_CH=ObjectGetValueByShift("DN_Line1",0);
   }
   Print(Pos_Buy," ",Pos_Sell," ",Pos_Buy_CH," ",Pos_Sell_CH);
   if(Pos_Buy==(-1)&&Pos_Sell==(-1)&&Pos_Buy_CH==(-1)&&Pos_Sell_CH==(-1))return;
   Print(2);


2014.10.09 20:10:37.906 2014.10.02 14:52  cat_in_the_bagLast2 EURUSD,H4: -1 -1 -1 -1 1
2014.10.09 20:10:37.906 2014.10.02 14:52  cat_in_the_bagLast2 EURUSD,H4: -1 -1 -1 -1 1
2014.10.09 20:10:37.890 2014.10.02 14:52  cat_in_the_bagLast2 EURUSD,H4: -1 -1 -1 -1 1
2014.10.09 20:10:37.890 2014.10.02 14:52  cat_in_the_bagLast2 EURUSD,H4: -1 -1 -1 -1 1
2014.10.09 20:10:37.875 2014.10.02 14:52  cat_in_the_bagLast2 EURUSD,H4: -1 -1 -1 -1 1
2014.10.09 20:10:37.875 2014.10.02 14:52  cat_in_the_bagLast2 EURUSD,H4: -1 -1 -1 -1 1


 
keine Fehler bei der Kompilierung, ObjectFind() sieht das Objekt nicht
 

Ja, dieser Scheiß ist nicht wahr:

   if(ObjectFind("UP_Line")==0)
   {
      Print(3);
      //Pos_Buy=ObjectGetValueByShift("UP_Line",0);
   }

вот это возвращает -1 при наличии объекта на графике

   Print(ObjectFind("UP_Line"));
 
 

OH HORROR, und gibt somit -1 zurück:

   Print(ObjectFind(0,"UP_Line"));
   if(ObjectFind(0,"UP_Line")==0)
   {
      Print(3);
      //Pos_Buy=ObjectGetValueByShift("UP_Line",0);
   }

WIE LEBEN?

die Objekte im Diagramm des Testers sind da.

 

Kann jemand den Code des 719er Builds überprüfen?

Funktioniert sie?

 
sanyooooook:

Kann jemand den Code des 719er Builds überprüfen?

Funktioniert sie?

Ich werde es mir jetzt ansehen...

P.S. Überprüft in 719 Build mit Skript. Es funktioniert.

//+------------------------------------------------------------------+
//|                                                        #Test.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql4.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   int res=ObjectFind("Hello");
   if(res<0)
      Print("Объект Hello не найден!");
   else
      Print("Объект Hello найден в окне: ",res);
  }
//+------------------------------------------------------------------+
0       19:51:10.567    Script #Test  EURGBP,M15: loaded successfully
0       19:51:10.568    #Test  EURGBP,M15: initialized
0       19:51:10.568    #Test  EURGBP,M15: Объект Hello найден в окне: 0
0       19:51:10.568    #Test  EURGBP,M15: uninit reason 0
0       19:51:10.568    Script #Test  EURGBP,M15: removed
 

So sieht es aus:

1. ich öffne ein neues Diagramm

2. ein Objekt erstellen

3. kopieren Sie den Objektnamen (der bereits vom Expert Advisor erstellt wurde) aus einem anderen Diagramm

4. Ändern Sie den Objektnamen, indem Sie ihn in das neue Diagramm kopieren.

5. Starten Sie das Skript

void OnStart()
  {
//---
   Print(ObjectFind(0,"UP_Line"));
   if(ObjectFind(0,"UP_Line")==0)
   {
      Print(3);
      //Pos_Buy=ObjectGetValueByShift("UP_Line",0);
   }   
  }

6. Erhalten Sie das Ergebnis:

2014.10.09 20:46:21.828 TestObjectFind EURUSD,H1: uninit reason 0
2014.10.09 20:46:21.828 TestObjectFind EURUSD,H1: -1
2014.10.09 20:46:21.828 TestObjectFind EURUSD,H1: initialized