Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43248
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 250
Gesamt: 250
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 25.10.14
Neues Mitglied
 
Registriert seit: Oct 2011
Beiträge: 2
halobungie befindet sich auf einem aufstrebenden Ast
Standard Trailing-Stop

Hallo,
kann mir jemand helfen diesen Trailing-Stop so abzuändern, dass er ALLE offenen Positionen trailt und dann ALLE im Gewinn schliesst? So wie er jetzt programmiert ist, trailt er nur einzelne Positionen und schliesst diese im Gewinn.

Hier der Code:

extern string S1 = "EURUSD";

//Trailing-Function-Inputs******************************************** ************************************************** *************************
extern bool ProfitTrailing_S1 = true;
extern int TrailingStop = 500;
extern int TrailingStep = 30;
extern bool UseSound = True;
string NameFileSound = "expert.wav";
//End Trailing-Function-Inputs******************************************** ************************************************** *********************


//+------------------------------------------------------------------+
//| TRAILING für S1-S6 |
//+------------------------------------------------------------------+
if (!ProfitTrailing_S1){
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) )
{
TrailingPositions_S1();
}
}
}
//+----------------------------------------------------------------+
//| END |
//+----------------------------------------------------------------+



//+------------------------------------------------------------------+
//| TRAILING S1 |
//+------------------------------------------------------------------+
void TrailingPositions_S1() {
double pBid, pAsk, pp;

pp = MarketInfo(S1, MODE_POINT);
if (OrderType()==OP_BUY) {
pBid = MarketInfo(S1, MODE_BID);

if (!ProfitTrailing_S1 || (pBid-OrderOpenPrice())>TrailingStop*pp) {
if (OrderStopLoss()<pBid-(TrailingStop+TrailingStep-1)*pp) {
ModifyStopLoss_S1(pBid-TrailingStop*pp);
return;
}
}
}
if (OrderType()==OP_SELL) {
pAsk = MarketInfo(S1, MODE_ASK);
if (!ProfitTrailing_S1 || OrderOpenPrice()-pAsk>TrailingStop*pp) {
if (OrderStopLoss()>pAsk+(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0) {
ModifyStopLoss_S1(pAsk+TrailingStop*pp);
return;
}
}
}
}
void ModifyStopLoss_S1(double ldStopLoss) {
bool fm;
fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSt opLoss,OrderTakeProfit(),0,CLR_NONE);
if (fm && UseSound) PlaySound(NameFileSound);
}
//+----------------------------------------------------------------+
//| END |
//+----------------------------------------------------------------+
  #2 (permalink)  
Alt 25.10.14
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Code:
//Trailing-Function-Inputs******************************************** ************************************************** *************************
extern int TrailingStop = 500; 
extern int TrailingStep = 30; 
extern bool UseSound = True; 
string NameFileSound = "expert.wav"; 
//End Trailing-Function-Inputs******************************************** ************************************************** *********************


//+------------------------------------------------------------------+
//| TRAILING für S1-S6 |
//+------------------------------------------------------------------+
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) )
{
TrailingPositions_S1(OrderSymbol());
}
}
//+----------------------------------------------------------------+
//| END |
//+----------------------------------------------------------------+



//+------------------------------------------------------------------+
//| TRAILING S1 |
//+------------------------------------------------------------------+
void TrailingPositions_S1(string symbol) {
double pBid, pAsk, pp;

pp = MarketInfo(symbol, MODE_POINT);
if (OrderType()==OP_BUY) {
pBid = MarketInfo(symbol, MODE_BID);

if (pBid-OrderOpenPrice()>TrailingStop*pp) {
if (OrderStopLoss()<pBid-(TrailingStop+TrailingStep-1)*pp) {
ModifyStopLoss_S1(pBid-TrailingStop*pp);
return;
}
}
}
if (OrderType()==OP_SELL) {
pAsk = MarketInfo(symbol, MODE_ASK);

if (OrderOpenPrice()-pAsk>TrailingStop*pp) {
if (OrderStopLoss()>pAsk+(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0) {
ModifyStopLoss_S1(pAsk+TrailingStop*pp);
return;
}
}
}
}
void ModifyStopLoss_S1(double ldStopLoss) {
bool fm;
fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldSt opLoss,OrderTakeProfit(),0,CLR_NONE);
if (fm && UseSound) PlaySound(NameFileSound);
}
//+----------------------------------------------------------------+
//| END |
//+----------------------------------------------------------------+
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 25.10.14
Benutzerbild von FXClicks
Elite Mitglied
 
Registriert seit: Feb 2011
Beiträge: 212
FXClicks befindet sich auf einem aufstrebenden Ast
Standard

http://www.expert-advisor.com/forum/...html#post10922
  #4 (permalink)  
Alt 25.02.15
Neues Mitglied
 
Registriert seit: Feb 2015
Beiträge: 3
Agricolas befindet sich auf einem aufstrebenden Ast
Standard

Servus & Hallo,

Hab es mal versucht bei meinem Code einzufügen...
Aber es funzt nicht ganz.
Woran liegt es, dass der Kompiler immer von "illigeal use of void ..." spricht?
  #5 (permalink)  
Alt 25.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Habe da eine Ahnung.

Stell doch mal Deinen Code rein. Sonst wird Dir ohnehin schwer Hilfe zu Teil werden.
  #6 (permalink)  
Alt 28.02.15
Neues Mitglied
 
Registriert seit: Feb 2015
Beiträge: 3
Agricolas befindet sich auf einem aufstrebenden Ast
Standard

Hallo & Danke für Deine Antwort - hab es bereits lösen können :-) Der Teil wurde von mir an der falschen Stelle eingefügt - nun steht es vor "int start" und alles ist gut.

Grüße aus Franken
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, trailing stop, trailing stop ändern, trailinstop

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------