![]() |
|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
![]() |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
![]()
Weil nicht jeder auf die Idee kommt oder die Geduld hat.
Wie auch immer, ich könnt mir so einen EA ungefähr so vorstellen: Buy wenn: -letztes High>voriges High und letztes Low>voriges Low -Schließen wenn letztes High<voriges High und letztes Low<voriges Low Sell wenn: -letztes High<voriges High und letztes Low<voriges Low -Schließen wenn letztes High>voriges High und letztes Low>voriges Low Vielleicht noch nen Gleitenden Durschnitt und nen SL dazu. Oder nen Trailing Stop oder was es alles gibt. Ist aber nur ne ganz spontane Idee, ausserdem hab ich Kopfschmerzen und es ist spät. ![]() funktionieren könnte. |
|
|||
![]()
Hallo.
Eine ganz spontane Idee: -Ein MA aufs High -Ein MA aufs Low -Ein flinker MA auf Close -Close-MA und LastClose über beiden anderen GDs:Buy -Close-MA und LastClose unter beiden anderen GDs:Sell Beim Ausstieg bin ich noch nicht sicher. Vielleicht wenn der Close-GD und LC über/unter einem der anderen GDs, bzw. zwischen beiden anderen GDs sind. |
|
|||
![]()
Solche (Trend)linien kann man für viele Zwecke brauchen, BreakOut, Chartformationen. Eigentlich musst Du auch gar nicht zeichnen. Der EA braucht ja nur den Wert zu kennen, bei dem er etwas tun soll.
Ich habe mal aus einem EA (der auch malt ![]() @GenosseX Bist Du der Kala... vom TradersClub? |
|
|||
![]()
Also ich würd jetzt mal spontan sagen:
Buy wenn: -LC > CloseGD (gelb) & CloseGD > HighGD (blau) -Close wenn LC < CloseGD (gelb) & CloseGD < HighGD (blau) Sell wenn: -LC < CloseGD (gelb) & CloseGD < HighGD (blau) -Close wenn LC > CloseGD (gelb) & CloseGD > HighGD (blau) Ich glaube, das könnte ganz gut funktionieren. Er würde bei den meisten Seitwärtsphasen vermutlich gar nicht erst einsteigen. ![]() |
|
|||
![]()
Hallo.
Hier solls 2 Fehler geben. Code:
//Globale Variablen int MagicNumber = 541574052; string Name = "Valerius 3GD Vola-EA"; extern int TimeFrame = 0; extern string TimeFrames = "Current:0;M1:1; M5:5; M15:15; M30:30; H1:60; H4:240; D1:1440"; extern int CloseGD = 3; extern int HighGD = 6; extern int LowGD = 6; extern int GD_Type = 0; extern string GD_Types = "SMA:0; EMA:1; SMMA;2; LWMA:3"; int GD_Shift = 0; extern double Lots = 0.01; extern double Max Spread = 40.0; extern int Slippage = 300; int Ticket, i; double PointSet; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ { double AktuellerSpread = Ask-Bid; double LC = iClose(Symbol(), TimeFrame, 1); double CloseGD = iMA iClose; double HighGD = iMA iHigh(Symbol(), TimeFrame, Fast_GD, GD_Shift, GD_Type, PRICE_CLOSE, 1); double LowGD = iMA iLow (Symbol(), TimeFrame, Fast_GD, GD_Shift, GD_Type, PRICE_CLOSE, 1); //Open Orders if (AktuellerSpread <= Max Spread && LC > CloseGD && CloseGD > HighGD) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue); if (AktuellerSpread <= Max Spread && LC < CloseGD && CloseGD < LowGD) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red); //Close Orders if (LC < CloseGD && CloseGD < LowGD) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue), 0; if (LC > CloseGD && CloseGD > LowGD) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue), 0; return(0) } Geändert von MA-EA (05.03.16 um 22:33 Uhr) |
|
|||
![]()
Jetzt gibts nur noch einen Fehler.
'{' - function definition unexpected Code:
//Globale Variablen int MagicNumber = 541574052; string Name = "Valerius 3GD Vola-EA"; extern int TimeFrame = 0; extern string TimeFrames = "Current:0;M1:1; M5:5; M15:15; M30:30; H1:60; H4:240; D1:1440"; extern int CloseGD = 3; extern int HighGD = 6; extern int LowGD = 6; extern int GD_Type = 0; extern string GD_Types = "SMA:0; EMA:1; SMMA;2; LWMA:3"; int GD_Shift = 0; extern double Lots = 0.01; extern double MaxSpread = 40.0; extern int Slippage = 300; int Ticket, i; double PointSet; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { //--- } //+------------------------------------------------------------------+ { int start if (Digits <= 3) PointSet = 0.01; else PointSet = 0.0001; if (Digits <= 1) PointSet = 1; Lots = MathMax(MathMin(Lots, MarketInfo(Symbol(),MODE_MAXLOT)),MarketInfo(Symbol(),MODE_MINLOT)); double AktuellerSpread = Ask-Bid; double LC = iClose(Symbol(), TimeFrame, 1); double CloseGD = iMA iClose; double HighGD = iMA iHigh(Symbol(), TimeFrame, Fast_GD, GD_Shift, GD_Type, PRICE_CLOSE, 1); double LowGD = iMA iLow (Symbol(), TimeFrame, Fast_GD, GD_Shift, GD_Type, PRICE_CLOSE, 1); //Open Orders if (AktuellerSpread <= Max Spread && LC > CloseGD && CloseGD > HighGD) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue); if (AktuellerSpread <= Max Spread && LC < CloseGD && CloseGD < LowGD) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red); //Close Orders if (LC < CloseGD && CloseGD < LowGD) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue), 0; if (LC > CloseGD && CloseGD > LowGD) OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, DarkBlue), 0; return(0) } |
|
|||
![]()
{
int start int start { oder? |
|
|||
![]()
@MA-EA
Die Fehlermeldung sagt ja eigentlich schon was falsch ist, aber eben in englisch. |
|
|||
![]()
Wer findet die 8 Fehler, der bekommt nen tollen EA.
Code:
//Globale Variablen int MagicNumber = 541574052; string Name = "Valerius 3GD Vola-EA"; extern int TimeFrame = 60; extern string TimeFrames = "Current:0;M1:1; M5:5; M15:15; M30:30; H1:60; H4:240; D1:1440"; extern int CloseGD = 3; extern int HighGD = 6; extern int LowGD = 6; extern int GDType = 0; extern string GDTypes = "SMA:0; EMA:1; SMMA;2; LWMA:3"; int GDShift = 0; extern double Lots = 0.01; extern int Slippage = 300; extern int Ticket, i; double PointSet; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit(); { //--- //--- } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } { int start() if (Digits <= 3) PointSet = 0.01; else PointSet = 0.0001; if (Digits <= 1) PointSet = 1; double LC = iClose(Symbol(), TimeFrame, 1); double CloseGD = iMA(Symbol(), TimeFrame, CloseGD, GDShift, GDType, PRICE_CLOSE, 1); double HighGD = iMA(Symbol(), TimeFrame, HighGD, GDShift, GDType, PRICE_HIGH, 1); double LowGD = iMA(Symbol(), TimeFrame, LowGD, GDShift, GDType, PRICE_LOW, 1); //Open Orders { if (LC>CloseGD && CloseGD>HighGD) OrderSend(Symbol(), OP_BUY, (Lots, Ask, Slippage, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 1, Blue)); if (LC<CloseGD && CloseGD<LowGD) OrderSend(Symbol(), OP_SELL, (Lots, Bid, Slippage, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 1, Red)); } { int OrderSelect(SELECT_BY_TICKET); } //Close Orders { if (LC<CloseGD && CloseGD<HighGD) OrderClose(Symbol(), OP_BUY, (Lots, Bid, Slippage, ), Blue,)) ; if (LC>CloseGD && CloseGD>LowGD) OrderClose(Symbol(), OP_SELL, (Lots, Ask, Slippage, ), Red,)) ; } int return(); } Geändert von MA-EA (06.03.16 um 16:47 Uhr) |
|
|||
![]()
Jetzt sind es nur noch 4 Fehler.
Code:
//Globale Variablen int MagicNumber = 541574052; string Name = "Valerius3GDVolaEA"; extern int TimeFrame = 60; extern string TimeFrames = "Current:0;M1:1; M5:5; M15:15; M30:30; H1:60; H4:240; D1:1440"; extern int CloseGD = 3; extern int HighGD = 6; extern int LowGD = 6; extern int GDType = 0; extern string GDTypes = "SMA:0; EMA:1; SMMA;2; LWMA:3"; int GDShift = 0; extern double Lots = 0.01; extern int MaxSpread = 40; extern int Slippage = 300; extern int Ticket, i; double PointSet; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit(){ return(0); } double Spread=Ask-Bid;{ } double LC = iClose(Symbol(), TimeFrame, 1); double CGD = iMA(Symbol(), TimeFrame, CloseGD, GDShift, GDType, PRICE_CLOSE, 1); double HGD = iMA(Symbol(), TimeFrame, HighGD, GDShift, GDType, PRICE_HIGH, 1); double LGD = iMA(Symbol(), TimeFrame, LowGD, GDShift, GDType, PRICE_LOW, 1); { int OrderSelect(SELECT_BY_TICKET); if (OrderSend(Symbol(),0,Lots,Ask,0,magic,0,clrNONE)==true) } //Open Orders if (Spread <= MaxSpread && LC>CGD && CGD>HGD) OrderSend(Symbol(), OP_BUY, (Lots, Ask, Slippage, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 1, Blue);{ } if (Spread <= MaxSpread && LC<CGD && CGD<LGD) OrderSend(Symbol(), OP_SELL, (Lots, Bid, Slippage, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 1, Red);{ } //Close Orders if(OrderSelect)(SELECT_BY_TICKET) if (LC<CGD && CGD<HGD) OrderClose(Symbol(), OP_BUY, (Lots, Bid, Slippage, ), Blue,);{ } if (LC>CGD && CGD>LGD) OrderClose(Symbol(), OP_SELL, (Lots, Ask, Slippage, ), Red,);{ } return(0);{ } |
![]() |
Lesezeichen |
Stichworte |
durchschnitt, gleitender durchschnitt, mql4, programmierung, programmierung metatrader, trendlinien, trendlinien chart |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|