- Verwende bitte den Code-Button (oder Alt+S) für Code:
- Woran es liegt steht im Log: Experts & Journal!
- Hier ...\Include\Trade\Trade.mqh findest Du Trade.mqh und da drin 2 Funktionen PositionClose(),
eine mit Symbol (für Netting-Konten, da gibt es nur ein Position pro Symbol)
und eine für Hedging-Konten (wo mehrere Positionen eines Symbols existieren können) - Frage was ist Dein Konto?
- Wahrscheinlich muss Du die zweite verwenden: PositionClose( ticket, deviation) also zB. PositionClose( 12345678934, 5).
Carl Schreiber #:
- Verwende bitte den Code-Button (oder Alt+S) für Code:
- Woran es liegt steht im Log: Experts & Journal!
- Hier ...\Include\Trade\Trade.mqh findest Du Trade.mqh und da drin 2 Funktionen PositionClose(),
eine mit Symbol (für Netting-Konten, da gibt es nur ein Position pro Symbol)
und eine für Hedging-Konten (wo mehrere Positionen eines Symbols existieren können) - Frage was ist Dein Konto?
- Wahrscheinlich muss Du die zweite verwenden: PositionClose( ticket, deviation) also zB. PositionClose( 12345678934, 5).
#include <Trade\Trade.mqh>
Habe ich ganz oben im EA.
Ja, ich muss die zweite verwenden, da ich eine Magic Nummer vergeben habe. Trotzdem schließt der EA nicht den Trade, wie er sollte. FH215:
Hallo,
ich benötige eure Hilfe. Mein EA öffnet zwar über folgenden Code die Position:
if (signal) { CTrade trade; trade.SetExpertMagicNumber(MAGICMA); trade.PositionOpen(_Symbol, ORDER_TYPE_BUY, TradeSizeOptimized(), SymbolInfoDouble(_Symbol, SYMBOL_ASK), 0, 0); } Aber schließt ihn nicht durch: if (signal) if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)) if(Bars(_Symbol,_Period)>100) { CTrade trade; trade.PositionClose(_Symbol,0); }
Woran könnte es liegen?
Vielen Dank
Hallo,
man kann nicht die Position schließen, weil
trade.PositionClose(_Symbol,0);
da von Position das Ticket fällt.
So muss ungefähr aussehen:
#include <Trade/SymbolInfo.mqh> // Globale Variable CPositionInfo m_position; // Globale Variable for(int i=PositionsTotal()-1; i>=0; i--) if(m_position.SelectByIndex(i)) if(m_position.Symbol()== _Symbol ) { // Prüft nach Symbol trade.PositionClose(m_position.Ticket()); }
Ich hoffe war Verständlich.
Gruß Igor
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hallo,
ich benötige eure Hilfe. Mein EA öffnet zwar über folgenden Code die Position:
if (signal)
{
CTrade trade;
trade.SetExpertMagicNumber(MAGICMA);
trade.PositionOpen(_Symbol, ORDER_TYPE_BUY, TradeSizeOptimized(),
SymbolInfoDouble(_Symbol, SYMBOL_ASK), 0, 0);
}
Aber schließt ihn nicht durch:
if (signal)
if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
if(Bars(_Symbol,_Period)>100)
{
CTrade trade;
trade.PositionClose(_Symbol,0);
}
Woran könnte es liegen?
Vielen Dank