![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
double BU1=iMA(Symbol(),0,ShortSma,0,MODE_SMA,PRICE_CLOSE,i+1);
double BL1=iMA(Symbol(),0,LongSma,0,MODE_SMA,PRICE_CLOSE,i);
string SBUY="false";string SSEL="false";
if(BU1<Close[1]&&BL1<Close[1])SBUY="true";if(BL1>Close[1]&&BU1>Close[1])SSEL="true";
Jetzt funktioniert es, nach TP..... war etwas mit Trade nicht in Ordnung
Vielen Dank für Ihre Hilfe Mladen.
hallo herr mladen
wie könnte man dieses Wort übersetzen:
http://forexsystemsru.com/1075962-post327.html
Cluster-Analyse
siehe
mr mladen:
könnten Sie MTF daraus machen
Mit freundlichen Grüßen
Hallo liebe Programmierer,
Ich habe wahrscheinlich eine einfache Frage, aber ich stecke im Moment fest:
Mein EA öffnet und kauft und verkauft Orders ohne Probleme, aber wenn es zu
SIGNAL_CLOSEBUY oder SIGNAL_CLOSESELL schließt er die Orders nicht.
Hier verwende ich einen RSI_Filter als Trigger zum Schließen von Kauf- oder Verkaufsaufträgen.
Ich habe meinen Code reinkopiert, ich würde mich sehr freuen, wenn jemand einen Blick darauf werfen könnte.
Vielen Dank im Voraus!
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
Hallo liebe Programmierer,
Ich habe wahrscheinlich eine einfache Frage, aber ich stecke im Moment fest:
Mein EA öffnet und kauft und verkauft Orders ohne Probleme, aber wenn es zu
SIGNAL_CLOSEBUY oder SIGNAL_CLOSESELL schließt er die Orders nicht.
Hier verwende ich einen RSI_Filter als Trigger zum Schließen von Kauf- oder Verkaufsaufträgen.
Ich habe meinen Code reinkopiert, ich würde mich sehr freuen, wenn jemand einen Blick darauf werfen könnte.
Vielen Dank im Voraus!
#define SIGNAL_NONE 0
// Signal Begin(Exit Buy)#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
extern int MaxShortTrades = 1;
extern int MaxLongTrades = 1;
int Order = SIGNAL_NONE;
// RSI Filter
double RSIfilter=iRSI(Symbol(),0,RSIPeriod,PRICE_CLOSE,BarShift);
// Trade Signal Indicator
double NLD1,NLD2;
NLD1 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,1);
NLD2 = iCustom(NULL,0,"indicator",0,Length,0,0,1,0,0,0,2);
// Amount of long / short trades
int longs = 0;
int shorts = 0;
double j;
for(j=OrdersTotal()-1;j>=0; j--)
{
if(OrderType()==OP_BUY) longs++; // Check # of long trades.
if(OrderType()==OP_SELL) shorts++; // Check # of short trades
}
// place orders
if(longs < MaxLongTrades && NLD1 > NLD2 && RSIfilter>55) Order = SIGNAL_BUY;
if(shorts < MaxShortTrades && NLD1 < NLD2 && RSIfilter<45) Order = SIGNAL_SELL;
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if(Order==SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage*PipMultiplier,MediumSeaGreen);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
// Signal Begin(Exit Sell)
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars!=BarCount))))
{
dummyResult=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage*PipMultiplier,DarkOrange);
if(EachTickMode) TickCheck = True;
if(!EachTickMode) BarCount = Bars;
return(0);
}
Zwei Probleme, die Sie lösen müssen, bevor Sie fortfahren:
zwei Probleme, die Sie lösen müssen, bevor Sie weitermachen:
Lieber Mladen,
vielen Dank für deine hilfreichen Vorschläge.
Wenn ich Sie richtig verstanden habe, muss ich so etwas wie den folgenden Code implementieren
um ein "buy_ticket" auszuwählen, muss der EA geschlossen werden. Der Code ist noch nicht getestet, und Art von "Pseudo-Status".
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
Lieber Mladen,
vielen Dank für deine hilfreichen Vorschläge.
Wenn ich Sie richtig verstanden habe, muss ich so etwas wie den folgenden Code implementieren
um ein "buy_ticket" auszuwählen, muss der EA schließen. Der Code ist noch nicht getestet, und Art von "Pseudo-Status".
int buy_ticket=0;
int sell_ticket=0;
int ticket;
// Iterate through tickets
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()== OP_BUY)
buy_ticket=OrderTicket();
else
if(OrderType() == OP_SELL)
sell_ticket=OrderTicket();
}
}
// Close Ticket with trigger
if (RSIfilter<50) Order=SIGNAL_CLOSEBUY;
if (RSIfilter>50) Order=SIGNAL_CLOSESELL;
if(Order==CLOSE_BUY && buy_ticket!=0)
{
if(OrderSelect(buy_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Buy #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
else
if(Order==CLOSE_SELL && sell_ticket!=0)
{
if(OrderSelect(sell_ticket,SELECT_BY_TICKET))
{
if(!OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,clrDodgerBlue))
Print("Error closing Sell #",(string)OrderTicket()," Error code ",(string)GetLastError());
}
}
Haben Sie nur 1 Auftrag (die gleiche Magie, Symbol ich meine) zur gleichen Zeit geöffnet?
Wenn ja, dann wird es funktionieren.
Liebe Freunde,
Die beigefügte ea ist ständig offene Aufträge auf feste Menge(es ist offen alle Aufträge 0,10)
Ich ändere nicht oder Kontrolle offenen Aufträge viel Wert!!
Erhältlich in den Einstellungen "Lots" und "MaximumRisk" Werte, aber sie sind nicht wirksam auf die Aufträge lot Werte!
Könnten Sie mir bitte helfen?
hallo herr mladen
könnten Sie ein leeres Unterfenster ähnlich diesem Bild erstellen?
siehe
Hallo Mladen, ich habe mir deine
stepma_pdf_4_4.ex4 heruntergeladen und auch das Histgramm,
sie in MT4 kopiert. Ich ziehe sie auf das Chart-Fenster
Ich erhalte die folgende Meldung, siehe Bild:
Würden Sie mir sagen, wie ich Ihren Indikator verwenden kann?
Lea
ps. das gleiche passiert mit: averages_-_mtf__alerts_7_4.ex4 und histogram