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: 43249
Benutzer: 7.221
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Thomas75
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Stunden
- Thomas75
vor 16 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck

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

Empfehlungen

Like Tree5Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #241 (permalink)  
Alt 08.08.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Hätte gerne eine Art SL im EA. Allerdings keinen normalen SL in Pips.
Sondern einen der aussteigt wenn bei z.B. einem Buy

-Der Close (Bar 1) kleiner als der schnellste GD ist

und

-Der Wert (in Euro) der Position im minus ist

Bei nem Sell das Ganze natürlich entgegen gesetzt. Bis jetzt schauts so aus:

Code:
//Close Trade
if (IsInvested){
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP<F_MA && F_MA<M_MA) || (CAA=true && TC>CA)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);}

if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP>F_MA && F_MA>M_MA) || (CAA=true && TC>CA)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);}}}}
Edit:ich werd dann wahrscheinlich noch nen CCI oder so einbauen. Aber erst mal muss der Notfall-Ausstieg geprobt werden.
  #242 (permalink)  
Alt 09.08.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Korrekt so?

Code:
//Sicherheitsausstieg
extern bool Close_loss_Trades_fast = true;
extern string Close_loss = "true=Yes/false=No";
Code:
//Sicherheits-Close
bool CLTF = (Close_loss_Trades_fast);
double OP = OrderProfit();
Code:
if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP<F_MA && F_MA<M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP<F_MA && OP<0.0)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);}

if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP>F_MA && F_MA>M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP>F_MA && OP<0.0)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);}}}}
  #243 (permalink)  
Alt 21.08.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Aloha.

Versuch schon seit einiger Zeit zu vermeiden, dass er in Trends einsteigt, die schon zu Ende sind. Kommt immer wieder vor, dass der Kurs schon ne andere Richtung einschlägt, laut Bar1 die Bedingungen für die alte Richtung aber noch gegeben sind.

Bisher hab ich ihn prüfen lassen, ob auch bei Bar0 der Kurs noch über den GDs ist. Bzw. ob die GDs Bar0 noch so sind wie bei Bar1. Allerdings dürfte das wohl nicht optimal sein, weils ja hin und her gehen kann.

Wärs vielleicht besser, wenn geprüft wird, ob Close Bar0 auch über dem schnellsten GD Bar1 ist? Entsprechend entgegensetzt bei Sells.

Weiß es alles nicht so richtig.

Einfache GDs mit 3, 6, 10 im H1 scheinen einigermaßen zu funktionieren.
  #244 (permalink)  
Alt 23.08.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Ich will was versuchen, um Verluste wesentlich kleiner zu halten. Er soll einfach in beide Richtungen ne Order öffnen, 1x Buy, 1x Sell. Die, die zuerst im minus und bei der der Close Bar1 über/unter dem schnellsten GD (F_MA1) ist, soll geschlossen werden. Ansonsten wird aus- und eingestiegen (Einstieg wie gesagt Long und Short gleichzeitig) wie zuvor.

Also wenn z.B. nen Long Signal kommt:

einen Buy und einen Sell öffnen wenn
-Close Bar0 & Close Bar1 > F_MA > M_MA > S_MA

Jetzt mal angenommen das Long-Signal war nen Fehlsignal und es geht stattdessen nach unten:

Long/Buy schließen wenn
-Close Bar1 < F_MA & Order_Profit < 0.0

Code:
//Kurse
double CP0 = iClose(Symbol(), TimeFrame, 0);
double CP1 = iClose(Symbol(), TimeFrame, 1);

//GDs
double F_MA = iMA(Symbol(), TimeFrame, Fast_Moving_Average, GD_Shift, GD_Type, PRICE_CLOSE, 1);
double M_MA = iMA(Symbol(), TimeFrame, Middle_Moving_Average, GD_Shift, GD_Type, PRICE_CLOSE, 1);
double S_MA = iMA(Symbol(), TimeFrame, Slow_Moving_Average, GD_Shift, GD_Type, PRICE_CLOSE, 1);
//--------------------------------------------------------------------------------------------------------------

//Check position
IsInvested = false;
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if((OrderType()==OP_SELL || OrderType()==OP_BUY) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) IsInvested=true;}}
//-------------------------------------------------------------------------------------------------------------

//Open Trade
if (!IsInvested){
if (TC>F && TC<T && S<=MS && CP0>F_MA && CP1>F_MA && F_MA>M_MA && M_MA>S_MA) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue);
if (TC>F && TC<T && S<=MS && CP0<F_MA && CP1<F_MA && F_MA<M_MA && M_MA<S_MA) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red);}
//-------------------------------------------------------------------------------------------------------------

//Close Trade
if (IsInvested){
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP1<F_MA && F_MA<M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP1<F_MA && O_P<0.0)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);}

if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP1>F_MA && F_MA>M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP1>F_MA && O_P<0.0)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);}}}}
Hoffe, ich hab verständlich erklärt, was ich gerne hätte. :wonder:
  #245 (permalink)  
Alt 24.08.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Allerdings gibts ja ein logisches Problem: Dass, wenn die Verlustposi geschlossen wurde, er gleich ne Neue in die selbe Richtung aufmachen würde. Also müsste er nur ne Order abgeben, wenn beim jeweiligen WP gerade gar keine offen ist (und die sonstigen Bedingungen natürlich auch erfüllt sind).
  #246 (permalink)  
Alt 28.08.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Eine stark veränderte Version. In meinem Strategietester gibts immer nur Fehlermeldungen. Wenns nix ausmacht...
Angehängte Dateien
Dateityp: ex4 Valerius_3MA_CCI_B0B1_CLTF_EA_Metatrader4.ex4 (15,9 KB, 3x aufgerufen)
  #247 (permalink)  
Alt 03.09.16
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 4
tonyohne13 befindet sich auf einem aufstrebenden Ast
Red face war mein traum..........

Zitat:
Zitat von MA-EA Beitrag anzeigen
Hallo.

Ich will was versuchen, um Verluste wesentlich kleiner zu halten. Er soll einfach in beide Richtungen ne Order öffnen, 1x Buy, 1x Sell. Die, die zuerst im minus und bei der der Close Bar1 über/unter dem schnellsten GD (F_MA1) ist, soll geschlossen werden. Ansonsten wird aus- und eingestiegen (Einstieg wie gesagt Long und Short gleichzeitig) wie zuvor.

Also wenn z.B. nen Long Signal kommt:

einen Buy und einen Sell öffnen wenn
-Close Bar0 & Close Bar1 > F_MA > M_MA > S_MA

Jetzt mal angenommen das Long-Signal war nen Fehlsignal und es geht stattdessen nach unten:

Long/Buy schließen wenn
-Close Bar1 < F_MA & Order_Profit < 0.0

Code:
//Kurse
double CP0 = iClose(Symbol(), TimeFrame, 0);
double CP1 = iClose(Symbol(), TimeFrame, 1);

//GDs
double F_MA = iMA(Symbol(), TimeFrame, Fast_Moving_Average, GD_Shift, GD_Type, PRICE_CLOSE, 1);
double M_MA = iMA(Symbol(), TimeFrame, Middle_Moving_Average, GD_Shift, GD_Type, PRICE_CLOSE, 1);
double S_MA = iMA(Symbol(), TimeFrame, Slow_Moving_Average, GD_Shift, GD_Type, PRICE_CLOSE, 1);
//--------------------------------------------------------------------------------------------------------------

//Check position
IsInvested = false;
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if((OrderType()==OP_SELL || OrderType()==OP_BUY) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) IsInvested=true;}}
//-------------------------------------------------------------------------------------------------------------

//Open Trade
if (!IsInvested){
if (TC>F && TC<T && S<=MS && CP0>F_MA && CP1>F_MA && F_MA>M_MA && M_MA>S_MA) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue);
if (TC>F && TC<T && S<=MS && CP0<F_MA && CP1<F_MA && F_MA<M_MA && M_MA<S_MA) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red);}
//-------------------------------------------------------------------------------------------------------------

//Close Trade
if (IsInvested){
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP1<F_MA && F_MA<M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP1<F_MA && O_P<0.0)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);}

if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP1>F_MA && F_MA>M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP1>F_MA && O_P<0.0)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);}}}}
Hoffe, ich hab verständlich erklärt, was ich gerne hätte. :wonder:
bin Neu hier......,
haloo , versuche deine ratschläge ,zu verfolgen.......zurückblickend.......
und sehe ,dass du enorm viel wissen,mut,zeit (kapital ? ) investierst in diesem Ganzen...........
Vor vielen Jahren hatte ich auch von dem GETRÄUMT(vollautomatisches Handeln.., damals gab's auch schon solche mutige wie du....., die sich auch mit solchen codes und Buchstaben auskennen...wie oben........
Heute träume ich immer noch davon....., aber ich lesen gerade von deinen..und anderen.....Berichte....., dass es extrem schwierig ist das RICHTIGE zu finden.......eben eine Geldmaschine...., die mit wenigen klicks einfach das Tut , wofür wir es einsetzen............
Trotzdem meine Frage....gibt's jemand auf dem man sich verlassen kann.., der sowas ( EA ) in meinem Meta trader system ( MQ4 ) installieren würde..?
  #248 (permalink)  
Alt 03.09.16
Neues Mitglied
 
Registriert seit: Sep 2016
Beiträge: 4
tonyohne13 befindet sich auf einem aufstrebenden Ast
Standard verluste seit jahren.....

Zitat:
Zitat von MA-EA Beitrag anzeigen
Aloha.

Versuch schon seit einiger Zeit zu vermeiden, dass er in Trends einsteigt, die schon zu Ende sind. Kommt immer wieder vor, dass der Kurs schon ne andere Richtung einschlägt, laut Bar1 die Bedingungen für die alte Richtung aber noch gegeben sind.

Bisher hab ich ihn prüfen lassen, ob auch bei Bar0 der Kurs noch über den GDs ist. Bzw. ob die GDs Bar0 noch so sind wie bei Bar1. Allerdings dürfte das wohl nicht optimal sein, weils ja hin und her gehen kann.

Wärs vielleicht besser, wenn geprüft wird, ob Close Bar0 auch über dem schnellsten GD Bar1 ist? Entsprechend entgegensetzt bei Sells.

Weiß es alles nicht so richtig.

Einfache GDs mit 3, 6, 10 im H1 scheinen einigermaßen zu funktionieren.
haloo
wie bereit's erwähnt ,versuche deine Berichte zu verfolgen.......,
dein Versuch in beide Richtungen einzusteigen..habe ich auch schon mehrfach versucht,jedoch ohne EA , einfach so mit der normalen Handelsplattform...,klar wie gesagt...., mein wunsch war es auch ......einfach die Richtige oder den Richtigen Roboter zu finden.....und loslassen......., um sich anderen Sachen zu konzentrieren.......,

NUN will ich es zum letzten MAL versuchen.......Kann mir da jemand helfen?
Ich würde auch z.B. irgendwo hinfahren...,installieren lassen...,ein Paar tage Testen und dann direkt aufs Handeln probieren ev.mit dem der das installieren würde....., gibt's sowas....?
Ganz klar, dass ich das honorieren werde,das ist kein thema...., bin mal überrascht......
  #249 (permalink)  
Alt 04.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Für nen Auftrag machst Du besser nen extra Fred auf.

Erst mal muss man nen EA/Bot haben, der überhaupt Gewinne macht.
Und dann muss man ruhige Tage erwischen, an denen es möglichst keine gravierenden News geben wird. Ist jedenfalls meine Erfahrung nach ein paar Monaten live.
  #250 (permalink)  
Alt 04.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Richtig so? (wie heißt es doch oft:Probieren geht über Studieren )

Code:
//open Long & Short
extern bool Open_long_and_Short = true;
Code:
//Open Long & Short Abkürzung
bool OLAS = (Open_long_and_Short);
Code:
//Open Trade
if (!IsInvested){
if (TC>F && TC<T && S<=MS && CP0>F_MA && CP1>F_MA && F_MA>M_MA && M_MA>S_MA) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue);
if (OLAS=true && TC>F && TC<T && S<=MS && CP0>F_MA && CP1>F_MA && F_MA>M_MA && M_MA>S_MA) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red);

if (TC>F && TC<T && S<=MS && CP0<F_MA && CP1<F_MA && F_MA<M_MA && M_MA<S_MA) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red);
if (OLAS=true && TC>F && TC<T && S<=MS && CP0<F_MA && CP1<F_MA && F_MA<M_MA && M_MA<S_MA)  OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue);}
//-------------------------------------------------------------------------------------------------------------

//Close Trade
if (IsInvested){
for (i=OrdersTotal()-1; i>=0; i--){
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){

if (OrderType()==OP_BUY && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP1<F_MA && F_MA<M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP0<CP1 && O_P<0.0)) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue);}

if (OrderType()==OP_SELL && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()){
if((CP1>F_MA && F_MA>M_MA) || (CAA=true && TC>CA) || (CLTF=true && CP0>CP1 && O_P<0.0)) OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, FireBrick);}}}}
//-------------------------------------------------------------------------------------------------------------

return(0);}
Thema geschlossen

Lesezeichen

Stichworte
expert advisor, gleitender durchschnitt, mql4, programmierung, programmierung metatrader, programmierung mql4, trading

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 14:19 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.
-----------------------------------------------------------------------------------------------------------------------------