25.05.20
|
Neues Mitglied
|
|
Registriert seit: Apr 2019
Beiträge: 20
|
|
hallo MA-EA,
Zitat:
Weiß ich nicht. Wollte nur sagen, dass es unnötig ist, eine Variable extra zu deklarieren, wenn das ein paar Zeilen später sowieso passiert.
|
hatte ich kurze zeit später auch verstanden und geändert
@ Indikator-Trading
Zitat:
Du suchst nach dem Schließen der Order in der History nach allen Orders, welche das selbe Symbol und die gleiche Magicnumber haben. Da müsstest du ja einige Treffer laden, da in der History ja alle für den aktuell gewählten Zeitraum vorhanden sind.
|
Eigentlich wolle ich nur die letzte Pos. das hatte aber des öfteren zu Fehler geführt. Man könnte vielleicht mit if( ObjectFind(...) < 0) den Prozess etwas beschleunigen.
Zitat:
Zudem hast du über die letzte OrderSelect, ja irgendeine Order selektiert.
Im Coder für das Closen fragst du allerdings direkt wieder die OrderTicket() usw. ab ohne genau zu wissen, ob die letzte Orderselect auch noch die Order ausgewählt hat, welche du erwartest.
|
Ehrlich gesagt weiß ich nicht genau wann oder wodurch die Selektion aufgehoben wird.
Ich rufe die Funktion ProfitLable() auch bei SL,TP1,TP auf. Es gibt aber nur in der CloseAllOpenPositions-Funktion den beschriebenen Fehler.
Ich sehe diesen Fehler mal als Info da er keinen Einfluss auf den weitern Verlauf hat. Werde aber weiter tüftel. Es muss einen Grund geben warum es nur bei der CloseAllOpenPositions-Funktion passiert.
Zitat:
Ansonsten kann es wohl am ehesten an deiner drawLabel Funktion liegen. Welche Fehlermeldung sagt die der Compiler bzw. MT beim ausführen des EAs?
|
Code:
void drawLabel(string name,string text,double lvl,color Color,int t,int fsize)
{
if(ObjectFind(name) != 0) {
ObjectCreate(name, OBJ_TEXT, 0, Time[t], lvl);
ObjectSetText(name, text, fsize, "Arial", EMPTY);
ObjectSet(name, OBJPROP_COLOR, Color);
} else {
ObjectMove(name, 0, Time[t], lvl);
}
}
So, kleine Pause, essen und dann gehts weiter.
Schon mal vielen Dank an alle.
VG stoffel
|