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: 5005
Beiträge: 43340
Benutzer: 7.265
Aktive Benutzer: 56
Links: 84
Wir begrüßen unseren neuesten Benutzer: albarus_44
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Woche
- albarus_44
vor 2 Wochen
- Virus Voom
vor 2 Wochen
- weisnicht
vor 2 Wochen
- Golfrad
vor 4 Wochen
- Aaadam

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.06.24
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 13
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.
  #2 (permalink)  
Alt 04.06.24
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.749
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.
Thema geschlossen

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 +1. Es ist jetzt 03:15 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2025 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.
-----------------------------------------------------------------------------------------------------------------------------