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

Expert-Advisors Expert-Advisors für Metatrader 4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43253
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: 192
Gesamt: 192
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree2Likes
  • 1 Post By Indikator-Trading
  • 1 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 08.11.20
Mitglied
 
Registriert seit: Nov 2020
Beiträge: 42
berlin befindet sich auf einem aufstrebenden Ast
Standard EA für Haikin Ashi trading

hallo ea experten,

ich such einen vieleicht einfachen ea.

er soll folgende kriterien abdecken:
1. timeframe = 1min
2. festgelegte posigrösse
3. beim start des ea´s öffnet er in sekunde 55 einen trade in richtung der kerzenfarbe
4. automatischer SL 1,5 fache der atr
5. schliesst den trade (wenn nötig auch schon in der nächsten min) wenn sich die folgenden kerzen farbe zur 55zigsten sekunde geändert hat.
6. der nächste trade wird dann in der folgenden minute zur 55zigsten sekunde eröffnet > trade richtung ergibt sich immer aus der kerzen farbe
usw.

sonnige grüsse, berlin
  #2 (permalink)  
Alt 12.11.20
Mitglied
 
Registriert seit: Nov 2020
Beiträge: 42
berlin befindet sich auf einem aufstrebenden Ast
Standard erste gehversuche

moin ea community,

ich mache meine ersten versuche und scheitere gerade am ersten step. folgenden code hab ich nach anleitung nachgebaut.
finde aber nicht die lösung warum er an den //kommentar posi meckert.

vielleicht kann mir jemand den finalen tip geben woran es liegt.

lieben gruss,
berlin

void OnTick(){

static datetime timestamp;
datetime time = Time(0);
if(timestamp != time){ //wird als fehler angezeigt
timestamp = time;

double lowHigh = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",0,1);
double highLow = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",1,1);
double high = MathMax(lowHigh,highLow);
double low = MathMax(lowHigh,highLow);
double open = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",2,1);
double close = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",3,1);

if(close > open){
Print("Kaufen");

OrderSend(_Symbol,OP_BUY,1.0,Ask,100000,0,0);

}else if(close < open){
Print("Verkaufen");

OrderSend(_Symbol,OP_SELL,1.0,Bid,100000,0,0);

}

Comment("\n High: ",DoubleToString(high,_Digits),
"\n Low: ",DoubleToString(low,_Digits),
"\n Open: ",DoubleToString(open,_Digits),
"\n Close: ",DoubleToString(close,_Digits));

}//wird als fehler angezeigt
  #3 (permalink)  
Alt 12.11.20
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Benutze mal TimeCurrent() anstatt Time(0)
  #4 (permalink)  
Alt 12.11.20
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Ok ich muss mich korrigieren, hatte deinen Code vorher nur kurz am Handy angeschaut.. Nein, da sind leider mehr Fehler drin als ein 5 jähriges Kind zählen könnte...

Hier ohne die Fehler:

Code:
void OnTick()
  {

   static datetime timestamp;
   datetime time = TimeCurrent();
   if(timestamp != time)  //wird als fehler angezeigt
     {
      timestamp = time;

      double lowHigh = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",0,1);
      double highLow = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",1,1);
      double high = MathMax(lowHigh,highLow);
      double low = MathMax(lowHigh,highLow);
      double open = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",2,1);
      double close = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",3,1);

      if(close > open)
        {
         Print("Kaufen");

         OrderSend(_Symbol,OP_BUY,1.0,Ask,100000,0,0);

        }
      else
         if(close < open)
           {
            Print("Verkaufen");

            OrderSend(_Symbol,OP_SELL,1.0,Bid,100000,0,0);

           }

      Comment("\n High: ",DoubleToString(high,_Digits),
              "\n Low: ",DoubleToString(low,_Digits),
              "\n Open: ",DoubleToString(open,_Digits),
              "\n Close: ",DoubleToString(close,_Digits));
Das macht jetzt keine direkten Compilerfehler, ich bin mir aber nicht sicher ob jetzt wirklich Trades ausgelöst werden. Die Slippage kommt mir doch etwas hoch vor, das kann auch zu Fehlern bei der Orderauslösung führen. Du kannst dir natürlich auch professionellere Hilfe holen, als hier bei 0 anzufangen um deinen EA zusammen zu bekommen...
berlin likes this.
  #5 (permalink)  
Alt 12.11.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Aus meiner Sicht ist
if(timestamp != time)
überflüssig, weil diese Abfrage mit jedem neuen Tick true ergibt.

double low = MathMax(lowHigh,highLow);
soll sicherlich double low = MathMin (lowHigh,highLow);
sein

Hier würde ich fast sagen, dass "Heiken Ashi.ex4" nicht als Name erkannt wird, sondern nur "Heiken Ashi".

Ja, Slippage muss definitiv kleiner sein!

Ob die Indikator-Buffer den Variablen richtig zugeordnet wurden, kann ich aus Unkenntnis des Indikator-Codes nicht abschließend beurteilen.

traderdoc
berlin likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #6 (permalink)  
Alt 12.11.20
Mitglied
 
Registriert seit: Nov 2020
Beiträge: 42
berlin befindet sich auf einem aufstrebenden Ast
Standard

vielen dank für die antworten! habs angepasst..dennoch tauchen die selben feheler auf
1. hier > ausschnitt:
void OnTick(){ unbalanced parentheses

static datetime timestamp;
datetime time = TimeCurrent();
if(timestamp != time) //wird als fehler angezeigt
{
timestamp = time;

2. hier > ausschnitt:
Comment("\n High: ",DoubleToString(high,_Digits),
"\n Low: ",DoubleToString(low,_Digits),
"\n Open: ",DoubleToString(open,_Digits),
"\n Close: ",DoubleToString(close,_Digits));

} unexpected end of Programm

hab schon versucht die klammer einfach wegzunehmen..mhh
  #7 (permalink)  
Alt 12.11.20
Mitglied
 
Registriert seit: Nov 2020
Beiträge: 42
berlin befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Indikator-Trading Beitrag anzeigen
Ok ich muss mich korrigieren, hatte deinen Code vorher nur kurz am Handy angeschaut.. Nein, da sind leider mehr Fehler drin als ein 5 jähriges Kind zählen könnte...

Hier ohne die Fehler:

Code:
void OnTick()
  {

   static datetime timestamp;
   datetime time = TimeCurrent();
   if(timestamp != time)  //wird als fehler angezeigt
     {
      timestamp = time;

      double lowHigh = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",0,1);
      double highLow = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",1,1);
      double high = MathMax(lowHigh,highLow);
      double low = MathMax(lowHigh,highLow);
      double open = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",2,1);
      double close = iCustom(_Symbol,_Period,"Heiken Ashi.ex4",3,1);

      if(close > open)
        {
         Print("Kaufen");

         OrderSend(_Symbol,OP_BUY,1.0,Ask,100000,0,0);

        }
      else
         if(close < open)
           {
            Print("Verkaufen");

            OrderSend(_Symbol,OP_SELL,1.0,Bid,100000,0,0);

           }

      Comment("\n High: ",DoubleToString(high,_Digits),
              "\n Low: ",DoubleToString(low,_Digits),
              "\n Open: ",DoubleToString(open,_Digits),
              "\n Close: ",DoubleToString(close,_Digits));
Das macht jetzt keine direkten Compilerfehler, ich bin mir aber nicht sicher ob jetzt wirklich Trades ausgelöst werden. Die Slippage kommt mir doch etwas hoch vor, das kann auch zu Fehlern bei der Orderauslösung führen. Du kannst dir natürlich auch professionellere Hilfe holen, als hier bei 0 anzufangen um deinen EA zusammen zu bekommen...
es wird auf professionelle hilfe hinauslaufen. möchte gerne zuerst nen ersten eindruck von dem ganzen bekommen.
  #8 (permalink)  
Alt 12.11.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von berlin Beitrag anzeigen
vielen dank für die antworten! habs angepasst..dennoch tauchen die selben feheler auf
1. hier > ausschnitt:
void OnTick(){ unbalanced parentheses

static datetime timestamp;
datetime time = TimeCurrent();
if(timestamp != time) //wird als fehler angezeigt
{
timestamp = time;

2. hier > ausschnitt:
Comment("\n High: ",DoubleToString(high,_Digits),
"\n Low: ",DoubleToString(low,_Digits),
"\n Open: ",DoubleToString(open,_Digits),
"\n Close: ",DoubleToString(close,_Digits));

} unexpected end of Programm

hab schon versucht die klammer einfach wegzunehmen..mhh
Das kommt daher, wenn Code nicht ordentlich strukturiert geschrieben wird.

Da muss einfach eine } unter die letzte Zeile gesetzt werden.
Eigentlich ist das immer ganz einfach: 2 { wurden gesetzt, dann müssen auch 2 } gesetzt werden.

Im Code des vorherigen Posts fehlen sogar 2 }.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #9 (permalink)  
Alt 13.11.20
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 240
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Hi,
ich glaube deine Anforderungen sind banal. Du brauchst dafür keine „professionelle“ Hilfe. Bitte beachte, wenn du alle 55 Sekunden den Status einer Kerze checken willst, macht es sicher Sinn, OnTimer() zu verwenden OnTick ist dafür nicht unbedingt geeignet.

Ich habe mal ein ähnliches Tool erstellt, allerdings mit einem Framework. In diesem Kreis möchte ich nicht über Sinn und Zweck eines Frameworks diskutieren, wenn du den Code haben willst, schick mir bitte eine PM.

Grundsätzlich: So wie du dir das vorstellst funktioniert es nicht. Gib dafür bloß kein Geld aus!
Grüße
Thema geschlossen

Lesezeichen

Stichworte
haikin ashi

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 09:43 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.
-----------------------------------------------------------------------------------------------------------------------------