[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 478

 

Hallo.

Können Sie mir bitte dabei helfen, einen dll -ku-Ausdruck einzugeben, etwa so:

datetime FT = TimeCurrent();
int      reb=12;

Ich danke Ihnen im Voraus.

 
nemo811:

Hallo.

Können Sie mir bitte dabei helfen, einen dll -ku-Ausdruck einzugeben, etwa so:

Ich danke Ihnen im Voraus.

Zurückgezogen, ich hab's verstanden.
 

Hallo!

Vielleicht hat jemand dieses Problem in MQL5 gehabt. Manchmal (in etwa einem von hundert Fällen) kann der EA einen schwebenden Auftrag nicht löschen, bis ich alle schwebenden Aufträge selbst manuell lösche. In diesem Fall werden keine Fehler einfach gelöscht. Oder vielleicht werden sie von jemand anderem entfernt? Wenn jemand bereit ist zu helfen, werde ich Ihnen bei Bedarf Login und Passwort und Kontonummer mit "gefangenen Aufträgen" schicken. Ich danke Ihnen im Voraus.

void OnTick()
{
MqlTradeRequest-Anfrage;
MqlTradeResult Ergebnis;
MqlTradeCheckResult checkResult;
//------ Auftrag löschen ------
request.action=TRADE_ACTION_REMOVE;
//request.order=OrderGetTicket(0);
request.order=8273050; // explizit angeben, dass nicht alles gelöscht werden soll
if(OrderCheck(Anfrage,checkResult))
{
Alert(request.order);
Alert(request.action);
OrderSend(Anfrage,Ergebnis);
}
sonst
{
Alert("Fehler: ",checkResult.retcode);
}
}

 
Andreyu:

Hallo!

Hatte jemand ein solches Problem in MQL5? Manchmal (in etwa einem von hundert Fällen) kann mein EA einen schwebenden Auftrag nicht löschen, bis ich alle schwebenden Aufträge manuell lösche. In diesem Fall werden keine Fehler einfach gelöscht. Oder vielleicht entfernt sie jemand anderes? Wenn jemand bereit ist zu helfen, werde ich Ihnen bei Bedarf Login und Passwort und Kontonummer mit "gefangenen Aufträgen" schicken. Vielen Dank im Voraus.

Sie sind hier im falschen Forum.
 
Reshetov:
Ihr Hauptproblem ist, dass iBars nicht die Preise lädt, sondern die Anzahl der bekannten Balken für einen bestimmten Zeitraum. Und wie ich gerade überprüft habe, funktioniert es sowohl im Tester als auch in der Karte ganz korrekt.

lädt nicht herunter, sondern gibt die bereits heruntergeladenen Dateien zurück.

Ich fürchte, Sie haben meine Frage nicht richtig gelesen oder ich habe sie falsch verstanden.

Können Sie mir den Code nennen, den Sie zur Überprüfung Ihrer Aussage verwendet haben?

 
palladin:

Wie auch immer, hier ist die Frage,

Ich habe einen Mehrperioden-Indikator.

Um die Berechnungen zu optimieren, verwende ich die folgende Schleife



// TimeFrames[i] массив с периодами

for (i=0; i<NumTimeFrames; i++)

{
if (total_bars[i] != iBars(instrument, TimeFrames[i]) )
{

// тут вычисления индиктора

total_bars[i] = iBars(instrument, TimeFrames[i]);
}

}



Das Hauptproblem ist, dass iBars keine Preise für andere Zeiträume als den aktuellen lädt...

alle MQL-Tricks wie IndicatorCounted und RefreshRates

funktionieren nur für die aktuelle Periode, d.h. iBars entnimmt die Historie und die Historie wird nur geladen, wenn man die Periode im Chart ändert. Was ist zu tun? Verfügt MQL über ein Werkzeug zum Laden von Balken anderer Zeiträume (anders als der aktuelle) im Hintergrund?


p.s. Ich hoffe, ich schweife nicht ab ((

Wie können Sie antworten, ohne zu wissen, ob NumTimeFrames TimeFrames[i] leer ist oder nicht?

Schreiben Sie ausführlicher, wie bzw. was zu lesen ist, wenn es nichts gibt. Geben Sie den vollständigen Code an, sonst werden Sie höchstwahrscheinlich "auf den Granit der Wissenschaft beißen",,,,)) if(true)continue; else return("Sleep("+7*1000*60*60+")");

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TimeFrames[]={0,1,5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument="EURUSD";
for(i=0; i<NumTimeFrames; i++)
  {
   if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {
       total_bars[i]=iBars(instrument,TimeFrames[i]);
     }
  }
 
Hallo, das Problem ist das folgende Beispiel um 00.00 GMT setzen die schwebenden Aufträge und um 10.00 gmt zum Beispiel müssen diese Aufträge zu entfernen, wenn sie nicht geöffnet haben. oder wenn man geöffnet, sollte es links und der Rest entfernt werden? die Frage ist, wie zu wissen, ob der Auftrag ausgelöst oder nicht?
 
Können Sie mir sagen, ob es eine Möglichkeit gibt, OrdersHistoryTotal() gleich Null zu machen? Ist es notwendig, MT4 neu zu installieren? Denn wenn ich einfach ein neues Diagramm öffne, hilft das nicht.
 
CLAIN:
Können Sie mir sagen, ob es eine Möglichkeit gibt, OrdersHistoryTotal() gleich Null zu machen? Ist es notwendig, MT4 neu zu installieren? Denn wenn ich einfach ein neues Diagramm öffne, hilft das nicht.

Hierfür müssen Sie ein neues Konto eröffnen
 
frixer:
Hallo, das Problem ist das folgende Beispiel um 00.00 GMT schwebende Aufträge platziert werden und um 10.00 gmt zum Beispiel diese Aufträge sollten entfernt werden, wenn sie nicht geöffnet haben. Oder wenn eine geöffnet hat, sollte es gelassen werden und der Rest sollte entfernt werden? Die Frage ist, wie weiß ich, ob der Auftrag gearbeitet hat oder nicht?

Sie erteilen einen schwebenden Auftrag, denken Sie an das Ticket. Wenn es keinen schwebenden Auftrag gibt, aber einen Marktauftrag des Typs, in den der schwebende Auftrag umgewandelt wird, und ihre Tickets übereinstimmen, dann hat der schwebende Auftrag ausgelöst.

Ein Beispiel: Sie platzieren eine BuyStop-Position. Die Funktion gibt das Ticket der eingestellten Reihenfolge zurück - Sie speichern es in einer Variablen oder einem Array.

Nehmen wir an, er hat Ticket 1.

Sie prüfen, ob ein schwebender BuyStop-Auftrag vorhanden ist. Wenn sie nicht gefunden wird, prüfen Sie, ob es eine Kaufposition gibt. Wenn ja, vergleichen Sie das notierte Ticket mit der Position Kaufen. Wenn sie übereinstimmen, bedeutet dies, dass der anstehende BuyStop in einen Marktkauf umgewandelt wird.