![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
hier ist meine Funktion für mt4 ecn, ndd, stp ...
Nicht ein einziger Fehler in einem Jahr
//+----------------------------------------------------------------------------+
//| Bestellungseröffnungsfunktion (BeerGod) |
//+----------------------------------------------------------------------------+
//| Parameter: |
//| sy - Name des Instruments ("" - aktuelles Symbol) |
//| op - Vorgang |
| //| ll - lot |
//| sl - Stopp-Level |
//| tp - take level |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
bool OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int MagicNumber=0)
{
double MinLl = MarketInfo(Symbol(),MODE_MINLOT);
double MaxLl = MarketInfo(Symbol(),MODE_MAXLOT);
ll = NormalizeDouble(ll,2);
wenn (ll < MinLl) ll = MinLl; sonst ll = ll;
wenn (ll > MaxLl) ll = MaxLl; sonst ll = ll;
if (op == 0) // BUY opening
{
// Prüfen, ob freie Mittel verfügbar sind
if((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," Es ist unmöglich, die Bestellung Buy zu öffnen, nicht genug Geld.");
zurück(0);
}
RefreshRates();
// Bestellung öffnen
int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comments,MagicNumber,0,BuyColor);
if(ticketbuy<0)
Print(sy," OpenPosition. OrderSend Buy fail #",GetLastError());
sonst
Print(sy," OpenPosition. OrderSend Buy erfolgreich");
// Schlafen (Pause);
// Ändern Sie den Auftrag (setzen Sie Take Profit und Stop Loss)
wenn (sl !=0 || tp !=0)
{
//--- Berechnete SL- und TP-Preise müssen normalisiert werden
double BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
double BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
//--- Wenn der Eingabewert Null ist, wird der Änderungspreis durch Null ersetzt
wenn (sl == 0) BSLoss = 0;
wenn (tp == 0) BTProfit = 0;
bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor);
if(!resbuy)
Print(sy," OpenPosition. OrderModify Buy fehlgeschlagen #",GetLastError());
sonst
Print(sy," OpenPosition. OrderModify Buy erfolgreich");
}
}
if (op == 1) // Open Sell.
{
// Prüfen Sie die Verfügbarkeit von freien Mitteln
if((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," Es ist unmöglich, die Bestellung Sell zu öffnen, nicht genug Geld.");
zurück(0);
}
RefreshRates();
// Bestellung öffnen
int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comments,MagicNumber,0,SellColor);
if(ticketsell<0)
Print(sy," OpenPosition. OrderSend Sell fail #",GetLastError());
sonst
Print(sy," OpenPosition. OrderSend Sell erfolgreich");
// Schlafen (Pause);
// Ändern Sie den Auftrag (setzen Sie Take Profit und Stop Loss)
wenn (sl !=0 || tp !=0)
{
//--- Die berechneten SL- und TP-Preise müssen normalisiert werden
double SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS))
double STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS));
//--- Wenn der Eingabewert Null ist, wird der Änderungspreis durch Null ersetzt
if (sl == 0) SSLoss = 0;
wenn (tp == 0) STProfit = 0;
bool ressell = OrderModify (ticketsell,OrderOpenPrice(),SSLoss,STProfit,0,StopColor);
if(!ressell)
Print(sy," OpenPosition. OrderModify Sell fail #",GetLastError());
sonst
Print(sy," OpenPosition. OrderModify Sell erfolgreich");
}
}
return(True);
}
//Ende
P.S. Moderatoren, der Code kann nicht über die Schaltfläche eingefügt werden.
Ich gebe kostenlose Online-Skype-Lektionen zum Einfügen von Code:)
Ich gebe kostenlose Skype-Lektionen zum Einfügen von Code:)
Ich gebe kostenlose Skype-Lektionen zum Einfügen von Code:)
Ich danke Ihnen!
Erledigt, wenn Sie Fragen zum Code schreiben haben, auch persönlich oder über Skype verfügbar
bereit, wenn Sie Fragen zum Code haben, mailen oder skypen Sie
Der Alert kommt mit der Botschaft: Kein Preis. Wir warten auf eine neue Zecke...
Ich hatte ein Demokonto, das einwandfrei funktionierte, und eröffnete beim ersten Versuch einen Handel. Ich brauche mehr Details.