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: 4982
Beiträge: 43287
Benutzer: 7.229
Aktive Benutzer: 70
Links: 84
Wir begrüßen unseren neuesten Benutzer: JinjianYu
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Woche
- JinjianYu
vor einer Woche
- ben007
vor einer Woche
- sirius 888
vor einer Woche
- BessieGove
vor 2 Wochen
- RoKo

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 2 Wochen
Neues Mitglied
 
Registriert seit: Jun 2022
Beiträge: 11
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 vor 2 Wochen
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 23:28 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.
-----------------------------------------------------------------------------------------------------------------------------