Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools  
Zurck   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Expert-Advisors

Expert-Advisors Expert-Advisors fr Metatrader 4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4294
Beitrge: 39577
Benutzer: 6.606
Aktive Benutzer: 223
Links: 80
Wir begren unseren neuesten Benutzer: dellinger
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (vor 2 Tagen um 01:18).
Neue Benutzer:
vor 3 Tagen
- dellinger
vor 5 Tagen
- SABA
vor 5 Tagen
- artfeld
vor 5 Tagen
- sonnejian
vor 5 Tagen
- SchneiderB...

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gste: 135
Gesamt: 135
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 17.07.19
Neues Mitglied
 
Registriert seit: Jul 2019
Beitrge: 3
Alex60 befindet sich auf einem aufstrebenden Ast
Standard Skript einfgen in fertigen EA

Hallo Leute,

ich hoffe ihr knnt mir helfen.
Ich habe einen fertigen EA vorliegen, da wollte ich jetzt gerne einfertiges Skript
einfgen oder bei Hilfe ein Skript das einen Trailing Stop hat und oder eine Option das er den SL auf Break even zieht.
Nur weiss ich nicht genau wo an welcher Stelle ich das fertige Skript einfgen msste beim fertigen EA.
Da ich der Meinung bin das dieser mit nem Trailing Stop oder ner Break even option besser wre.
Mit Zitat antworten
  #2 (permalink)  
Alt 17.07.19
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beitrge: 211
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Alex60 Beitrag anzeigen
Ich habe einen fertigen EA vorliegen, da wollte ich jetzt gerne einfertiges Skript
einfgen oder bei Hilfe ein Skript das einen Trailing Stop hat und oder eine Option das er den SL auf Break even zieht.
Nur weiss ich nicht genau wo an welcher Stelle ich das fertige Skript einfgen msste beim fertigen EA.
Da ich der Meinung bin das dieser mit nem Trailing Stop oder ner Break even option besser wre.
Mit diesen Angaben kann ich persnlich nichts anfangen.
1. wie sollen BreakEven und TrailingStop aktiviert werden
2. und wie sehen die Quellen aus
AVT
Mit Zitat antworten
  #3 (permalink)  
Alt 17.07.19
Neues Mitglied
 
Registriert seit: Jul 2019
Beitrge: 3
Alex60 befindet sich auf einem aufstrebenden Ast
Standard

Ich habe mir vorgestellt , das der Trailing stop mit in den EA der ja schon fertig ist, it eingebaut wird.
Das er eben den SL mit nachzieht.
Das skript hab ich aus dem mql forum:
Zitat:
//--------------------------------------------------------------------
extern bool OnlyProfit = true; //
extern bool OnlyWithoutLoss = false;//
extern int Magic = 0;
extern int TrailingStop = 0; //= 0,
extern int Tip.Fr.or.Candl = 1; //= 0,
//= 1,
//--------------------------------------------------------------------
int delta, n,DIGITS;
datetime TIME;
double BID,ASK,POINT;
//--------------------------------------------------------------------
int start()
{
ObjectCreate("info", OBJ_LABEL, 0, 0, 0);
ObjectSet("info", OBJPROP_CORNER, 1);
ObjectSet("info", OBJPROP_XDISTANCE, 200 );
ObjectSet("info", OBJPROP_YDISTANCE, 0);
string txt;
POINT=MarketInfo(Symbol(),MODE_POINT);
DIGITS=MarketInfo(Symbol(),MODE_DIGITS);
if (TrailingStop!=0 && TrailingStop<MarketInfo(Symbol(),MODE_STOPLEVEL))
TrailingStop=MarketInfo(Symbol(),MODE_STOPLEVEL);
if (Magic==0) txt=StringConcatenate("total orders ",Symbol());
else txt=StringConcatenate("orders ",Symbol()," Magic ",Magic);
if (TrailingStop!=0) txt=StringConcatenate(" ",TrailingStop," ");
else if (Tip.Fr.or.Candl==0) txt=" Fractals "; else txt=" ";
Comment("Start TrailingStop ",txt,TimeToStr(TimeCurrent(),TIME_MINUTES));
while(true)
{
RefreshRates();
BID = MarketInfo(Symbol(),MODE_BID);
ASK = MarketInfo(Symbol(),MODE_ASK);
TIME = iTime(Symbol(),0,0);
delta = MarketInfo(Symbol(),MODE_STOPLEVEL);
if (delta<TrailingStop)delta=TrailingStop;
ObjectSetText("info",StringConcatenate("TrailingSt op ",txt," Orders ", n," ",
TimeToStr(TimeCurrent(),TIME_SECONDS)),8,"Arial",A qua);
TrailingStop();
if (n==0) break;
Sleep(1000);
}
Comment(" . ",
TimeToStr(TimeCurrent(),TIME_MINUTES));
ObjectDelete("SL Buy");
ObjectDelete("SL Sell");
ObjectDelete("info");
ObjectDelete("SL-");
ObjectDelete("SL+");
}
//--------------------------------------------------------------------
void TrailingStop()
{
int tip,Ticket;
bool error;
double StLo,OSL,OOP;
n=0;
for (int i=0; i<OrdersTotal(); i++)
{ if (OrderSelect(i, SELECT_BY_POS)==true)
{ tip = OrderType();
if (tip<2 && OrderSymbol()==Symbol() && (OrderMagicNumber()==Magic || Magic==0))
{
OSL = OrderStopLoss();
OOP = OrderOpenPrice();
Ticket = OrderTicket();
if (tip==OP_BUY)
{ n++;
StLo = SlLastBar(1,BID,Tip.Fr.or.Candl,TrailingStop);
if (StLo <= OOP && OnlyProfit) continue;
if (OSL >= OOP && OnlyWithoutLoss) continue;
if (StLo > OSL)
{ error=OrderModify(Ticket,OOP,NormalizeDouble(StLo, DIGITS),
OrderTakeProfit(),0,White);
Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
Sleep(500);
if (!error) Comment("Error order ",Ticket," TrailingStop ",
GetLastError()," ",Symbol()," SL ",StLo);
}
}
if (tip==OP_SELL)
{ n++;
StLo = SlLastBar(-1,ASK,Tip.Fr.or.Candl,TrailingStop);
if (StLo==0) continue;
if (StLo >= OOP && OnlyProfit) continue;
if (OSL >= OOP && OnlyWithoutLoss) continue;
if (StLo < OSL || OSL==0 )
{ error=OrderModify(Ticket,OOP,NormalizeDouble(StLo, DIGITS),
OrderTakeProfit(),0,White);
Comment("TrailingStop "+Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
Sleep(500);
if (!error) Comment("Error order ",Ticket," TrailingStop ",
GetLastError()," ",Symbol()," SL ",StLo);
}
}
}
}
}
}
//--------------------------------------------------------------------
double SlLastBar(int tip,double price, int tipFr, int tral)
{
double fr;
int jj,ii;
if (tral!=0)
{
if (tip==1) fr = BID - tral*POINT;
else fr = ASK + tral*POINT;
}
else
{
if (tipFr==0)
{
if (tip== 1)
for (ii=1; ii<100; ii++)
{
fr = iFractals(NULL,0,MODE_LOWER,ii);
if (fr!=0) if (price-delta*POINT > fr) break;
else fr=0;
}
if (tip==-1)
for (jj=1; jj<100; jj++)
{
fr = iFractals(NULL,0,MODE_UPPER,jj);
if (fr!=0) if (price+delta*POINT < fr) break;
else fr=0;
}
}
else
{
if (tip== 1)
for (ii=1; ii<100; ii++)
{
fr = iLow(NULL,0,ii);
if (fr!=0) if (price-delta*POINT > fr) break;
else fr=0;
}
if (tip==-1)
for (jj=1; jj<100; jj++)
{
fr = iHigh(NULL,0,jj);
if (price+delta*POINT < fr) break;
else fr=0;
}
}
}
if (tip== 1)
{
ObjectDelete("SL Buy");
ObjectDelete("SL-");
ObjectCreate("SL Buy",OBJ_ARROW,0,TIME,fr,0,0,0,0);
ObjectSet ("SL Buy",OBJPROP_ARROWCODE,6);
ObjectSet ("SL Buy",OBJPROP_COLOR, Blue);
ObjectCreate("SL-",OBJ_ARROW,0,TIME,price-delta*POINT,0,0,0,0);
ObjectSet ("SL-",OBJPROP_ARROWCODE,4);
ObjectSet ("SL-",OBJPROP_COLOR, Blue);
}
if (tip==-1)
{
ObjectDelete("SL Sell");
ObjectDelete("SL+");
ObjectCreate("SL Sell",OBJ_ARROW,0,TIME,fr,0,0,0,0);
ObjectSet ("SL Sell",OBJPROP_ARROWCODE,6);
ObjectSet ("SL Sell", OBJPROP_COLOR, Green);
ObjectCreate("SL+",OBJ_ARROW,0,TIME,price+delta*PO INT,0,0,0,0);
ObjectSet ("SL+",OBJPROP_ARROWCODE,4);
ObjectSet ("SL+",OBJPROP_COLOR, Green);
}
return(fr);
}
//--------------------------------------------------------------------
Fr Breakeven das er dann irgendwie die trades auf BE setzt
Mit Zitat antworten
  #4 (permalink)  
Alt 17.07.19
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beitrge: 211
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Alex60 Beitrag anzeigen
Das skript hab ich aus dem mql forum
Leider kann ich mit dem Skript gar nichts anfangen - oder sagen wir mal so - ich kriege da unzhlige Fehlermeldungen.
Und ich habe ehrlich gesagt keine Lust, einen Code, der auch noch Fremdsprache drin hat (ich vermute mal wieder russisch) auseinander zu nehmen und wieder zusammen zu setzen.
Zitat:
Zitat von Alex60 Beitrag anzeigen
Fr Breakeven das er dann irgendwie die trades auf BE setzt
Irgendwie gibt es weder beim Programmieren noch beim Traden - bei beiden gibt nur feste Regeln, die befolgt werden.
Entweder die Bedingung ist erfllt, dann wird BE gesetzt, oder sie ist nicht erfllt, dann eben nicht.

Tut mir leid, aber hier bin ich einfach berfordert. AVT
Mit Zitat antworten
  #5 (permalink)  
Alt 18.07.19
Neues Mitglied
 
Registriert seit: Jul 2019
Beitrge: 3
Alex60 befindet sich auf einem aufstrebenden Ast
Standard

Das mit den Fehlermeldungen hab ich auch schon bemerkt
hab das gestern mal angeschaut im Editor.
Oder gibts da vllt noch was anderes in der Richtung?
Mit Zitat antworten
Antwort

Lesezeichen


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 Beitrge zu antworten.
Es ist Ihnen nicht erlaubt, Anhnge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beitrge 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 +2. Es ist jetzt 07:15 Uhr.


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