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: 4985
Beiträge: 43284
Benutzer: 7.238
Aktive Benutzer: 54
Links: 84
Wir begrüßen unseren neuesten Benutzer: Marvin
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Woche
- Marvin
vor 2 Wochen
- Elchland20...
vor 2 Wochen
- volker1508
vor 3 Wochen
- Balko833
04.08.24
- JaiMarcell

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.06.24
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 12
Tagtranpler befindet sich auf einem aufstrebenden Ast
Standard Ungleiche Funtion bei unterschiedlichen Forex-Paaren

Guten Tag in die Runde,

Ich habe eine grundsätzliche Frage an die Experten unter Euch. Hier die Einzelheiten:

Das habe ich gemacht:
Ich habe EAs programmiert, die eine Position eröffnen sollen, wenn sich zwei EMAs schneiden (eigentlich keine Raketenwissenschaft). Diese EAs habe ich mit den Parametern von Minor-Forexpaaren versehen und über ein VPS mehrere Tage laufen lassen.
Ich habe ein Demokonto bei IC-Markets und nutze einen VPS von mql5.com.

In diesen Tagen hat alles korrekt funktioniert.

Danach habe ich die selben EAs mit den Parametern von Major-Paaren versehen. Alle anderen Teile der EAs blieben unverändert.
Ergebnis:
- einige Positionen wurden korrekt eröffnet
- einige Positionen wurden eröffnet, ohne daß sich die EMAs schnitten
- einige Postionen werden einige Zeit nach oder vor (bis 25 Minuten) einem Schneiden eröffnet

Dieses Ergebnis ist mir unerklärlich.

Hier meinen Fragen:
- Weiß jemand, ob sich der Handel von Major-Paaren von dem Handel von Minor-Paaren unterscheidet (evtl. Manipulation)?
- Warum laufen identische EAs mit unterschiedlichen Währungs-Paaren nicht gleich?
- Weiß jemand Abhilfe?

Hier exemplarisch ein EA: |

void OnTick()
{
if(OldTime != Time[0])
{
emas=iMA("USDJPY",60,20,0,1,0,0);
emal=iMA("USDJPY",60,50,0,1,0,0);

if(odty==1)
{
if(emas>emal)
{
odty=0;
tpbuy=NormalizeDouble((Ask+0.200),3);
int o=OrderSend("USDJPY",0,0.05,Ask,4,0,tpbuy,0,0,clrG reen);
}
}
if(odty==0)
{
if(emas<emal)
{
odty=1;
tpsell=NormalizeDouble((Bid-0.200),3);
int p=OrderSend("USDJPY",1,0.05,Bid,4,0,tpsell,0,0,clr Green);
}
}
OldTime = Time[0];
}
}

Für Eure Antworten bin ich dankbar.

Viele Grüße aus Norddeutschland.
Mit Zitat antworten
  #2 (permalink)  
Alt 04.06.24
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.738
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nun ja, die angewendete Programmiermethode des EMA-Schneidens ist prinzipiell nicht korrekt. Wenn nach dem Wechsel einer Kerzenperiode der EMA-Wert mit dem Close der aktuellen Kerze (iMA("USDJPY",60,20,0,1,0,0) ermittelt wird, dann kann es prinzipiell passieren, dass genau zum Kerzenwechsel eine Kreuzung stattgefunden hat, aber am Ende dieser Kerze die EMA sich dann doch nicht mehr kreuzen, weil sich innerhalb des Kerzenaufbaus die EMAs auch ändern.

Die korrekte Programmierung einer Kreuzung sieht wie folgt aus:

Code:
void OnTick() {
   if (OldTime != Time[0]) {
      emas1 = iMA(NULL, 60, 20, 0, 1, 0, 1);
      emas2 = iMA(NULL, 60, 20, 0, 1, 0, 2);
      emal1 = iMA(NULL, 60, 50, 0, 1, 0, 1);
      emal2 = iMA(NULL, 60, 50, 0, 1, 0, 2);

      if (emas2 < emal2  && emas1 > emal1) {
         tpbuy = NormalizeDouble(Ask + 0.2, Digits);
         o = OrderSend(Symbol(), 0, 0.05, Ask, 4, 0, tpbuy, "", 0, 0, clrGreen);
      }
      if (emas2 > emal2  && emas1 < emal1) {
         tpsell = NormalizeDouble(Bid - 0.2, Digits);
         o = OrderSend(Symbol(), 1, 0.05, Bid, 4, 0, tpsell, "", 0, 0, clrBlue);
      } 
      OldTime = Time[0];
   }
}
NULL deshalb, weil dann immer das Währungspaar benutzt wird, auf dessen Chart der EA läuft.
Desweiteren müssen die EMA-Werte der letzten (Kerze 1) und der vorletzten (Kerze 2) Kerze benutzt werden, damit nach dem Wechsel der Kerzenperiode eineindeutig eine Kreuzung detektiert wird oder eben nicht.
Digits, damit, egal ob 3- oder 5-Punkt-Währungspaare, korrekt auf die letzte Stelle gerundet werden.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ema, majorpaare, minorpaare


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 +2. Es ist jetzt 14:26 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.
-----------------------------------------------------------------------------------------------------------------------------