Aleksi-Trader:
jetzt ist die Frage wie ich die Positionen schließen kann wenn diese im Positive Bereich ist. z.b 0,50EUR
Schaue mal in den Artikel -> https://www.mql5.com/de/articles/639
Wenn du dann den Profit der Position hast musst du ja nur noch mit (schematisch) dargestellt vergleichen
if ( pos_profit > 0.5) { close_pos(pos_selected); }
und dann die Position schließen.
PS: Nutze die CTrade- www.mql5.com
Hallo Christian, vielen Dank für deine schnelle Antwort.
Der derzeitige Code sieht jetzt so aus:
#include<Trade\Trade.mqh> CTrade trade; //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { CloseallpositivePositionen(); } //+------------------------------------------------------------------+ void CloseallpositivePositionen() { for (int i=PositionsTotal()-1; i>=0; i--) int Ticket=PositionGetTicket(i); int PositionpositivProfit=PositionGetDouble(POSITION_PROFIT); if ( PositionpositivProfit > 0.5) { trade.PositionClose(PositionpositivProfit); } }
Hoffe ich hab jetzt nix vergessen. Werde den mal am Montag testen hoffe das Funktioniert so.
Allerdings geben mir die 2 Warnungen im Kompiler zu denken, nur komme ich nicht drauf wo der Fehler sein soll.
Gruß
Aleksi-Trader
Hallo Christian, vielen Dank für deine schnelle Antwort.
Der derzeitige Code sieht jetzt so aus:
Hoffe ich hab jetzt nix vergessen. Werde den mal am Montag testen hoffe das Funktioniert so.
Allerdings geben mir die 2 Warnungen im Kompiler zu denken, nur komme ich nicht drauf wo der Fehler sein soll.
Gruß
Aleksi-Trader
Ich vermute mal, die eine ist in der zeile mit der position zu schliessen. Da gehört auch sicher die ticketnummer hin und nicht der profit
Ich vermute mal, die eine ist in der zeile mit der position zu schliessen. Da gehört auch sicher die ticketnummer hin und nicht der profit
stimmt , muss ja die Position schließen und nich den Profit... der ja die Bedingung ist.
#include<Trade\Trade.mqh> CTrade trade; input int Profitwert = 0.5; // Profitwert //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if (Profitwert) { CloseallpositivePositionen(); } } //+------------------------------------------------------------------+ void CloseallpositivePositionen() { for (int i=PositionsTotal()-1; i>=0; i--) { int Ticket=PositionGetTicket(i); // Ticketnummer der aktuellen Position int PositionProfit=PositionGetDouble(POSITION_PROFIT); trade.PositionClose(Ticket); } }
Was mir nur nicht einleuchtet ist das die zeile
int PositionProfit=PositionGetDouble(POSITION_PROFIT);
mit den Fehler "possible loss of data due to type conversion t2.mq5 31 19" die Daten kommen doch in dem Falle von
input int Profitwert = 0.5; // Profitwert
Von Welchen Typ sollten die Daten sein?
Hallo Christian, vielen Dank für deine schnelle Antwort.
Der derzeitige Code sieht jetzt so aus:
Hoffe ich hab jetzt nix vergessen. Werde den mal am Montag testen hoffe das Funktioniert so.
Allerdings geben mir die 2 Warnungen im Kompiler zu denken, nur komme ich nicht drauf wo der Fehler sein soll.
Gruß
Aleksi-Trader
Also wenn das dein Code ist, musst du weiter unten anfangen. Du brauchst erstmal ein Verständnis wie so ein Programm strukturiert ist.
Du musst ja erstmal eine Position aufmachen bevor du etwas schließen kannst.
Das sehe ich nicht.
Wenn dann gehört das in diesen Teil des EAs
void OnTick() { CloseallpositivePositionen(); }
Ich kann dir nur sagen schaue dir andere frei ladbare EAs hier im Forum unten an und studiere sie.
Versuche zu verstehen was wann nötig ist.
Lies dir mal durch welche datentypen welche werte speichern können. Das ist mal Grundlage für jede programmierung.
dann geht der 2te fehler auch von selber weg
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
Derzeit komme ich echt nicht weiter, zugegeben beschäftige ich mich mit der Programmierung noch nicht lange und bin noch am lernen.
Mein Ziel ist es ein einfachen EA zu schreiben der offene Positionen schließen soll wenn diese Positiv sind und ein vordefinierten Wert erreicht.
Dieser soll nur zu Testzwecken auf ein Demokonto laufen. Klar kann man TakeProfit nutzen aber dieser EA soll davon unabhängig sein.
Die offenen Positionen werden maximal 10 Stück sein.
hier mal die ersten zeilen:
Hoffe es ist bisher schon mal richtig.... jetzt ist die Frage wie ich die Positionen schließen kann wenn diese im Positive Bereich ist. z.b 0,50EUR
Danke für eure Unterstützung im vorraus.