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

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4998
Beiträge: 43310
Benutzer: 7.247
Aktive Benutzer: 46
Links: 84
Wir begrüßen unseren neuesten Benutzer: Jannik183
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Jannik183
vor 5 Tagen
- sgerdom
vor 2 Wochen
- uroth
vor 4 Wochen
- ottofant
27.10.24
- TradeTiger

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 01.02.24
Mitglied
 
Registriert seit: Oct 2017
Beiträge: 47
cashfox befindet sich auf einem aufstrebenden Ast
Standard Überlegungen zum Programmieren einer fallenden oder steigenden LInie

Schönen guten Morgen,

es werden ja oft in den EAs Nebenbedingungen eingebaut, dass zum Beispiel ein Kauf/Verkaufsignal nur dann ausgelöst wird, wenn ein andere Indikator (RSI, Stoch K usw.) einen Mindestwert hat (if StochK oder ADX < 30) usw.

Jetzt macht es aber einen merklichen Unterschied, ( in diesem Beispiel Stock K) ob der Stoch K unterhalb dieser 30er Schwelle während der vorigen bars gerade, fallend oder steigend ist.

Nehmen wir an ich möchte die Stochastik Nebenbedingung nur dann verwenden,wenn Stock K unter 30 ist UND während der letzten 3 M1 bars (zum close der M1 bars hin) eine positive Steigung hat.

Ganz simpel würde ich das so machen, dass ich eine einfache if Bedingung einbaue, in der ich angebe, dass: Stoch K 0>Stoch K 1 und Stoch K1 >Stoch K 2 und Stoch K2 > Stock K3 ist - womit logischerweise eine steigende Linie beschrieben ist, da der folgende immer höher sein muss als der vorige.

Da brauche ich kein lineares Programmieren oder sonstige komplizierte Anweisungen um eine positive Steigung zu definieren (vermute ich mal).

Ich habe das noch nicht getestet, bin nur neugierig ob das vom Gedankengang her stimmen würde...
  #2 (permalink)  
Alt 01.02.24
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.745
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das kommt so hin, nur brauchst Du Stoch K 0 nicht, weil der Wert der aktuellen Kerze noch nicht fertig ist.

Stoch K1 > Stoch K 2 und Stoch K2 > Stock K3

evtl. ergänzt um K4, weil ja auch von K4 zu K3 eine Steigung sein soll, oder?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 01.02.24
Mitglied
 
Registriert seit: Oct 2017
Beiträge: 47
cashfox befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc:
das mit Stoch 4 oder 5,6 usw. ist klar, hängt dann ab wie weit zurück ich eine steigende Linie möchte - wobei der Stochastik eher ein schlechtes Beispiel von mir war, besser ist man nimmt den RSI (der Stochastik Crossover ist ja in meinem System der Trigger), somit trift das mit der Steigung besser auf RSI oder ADX usw. als Nebenbedingung zu, vom Prinzip her ist es aber klar.

Aber noch was Interessantes zum Stochastik als Trigger - das ist nämlich auch etwas was mir beim ansehen von "MQL4 Programmier-Videos" aufgefallen ist:
einfach nur ein "Stochastik K crossover Stochastik D" (ich erspare jetzt die verschiedenen Befehlszeilen, die sind eh bekannt) als Trigger zu nehmen, ist viel zu unpräzise.

Es macht einen großen Unterschied, ob der Stoch K den Stoch D in flachen oder steilen Winkel nach oben (long signal) oder nach unten (short signal) schneidet. Die nachfolgende Dynamik des Preises ist viel größer, wenn der Winkel "steiler" ist (laut meinen "Live-Beobachtungen" ).

Als "Noch-nicht-Profi" würde ich das so programmieren, dass dieses klassische Crossover-Signal ( Stoch K0 > Stoch D0 und Stoch K1< Stoch D1 usw.) ergänzt wird, das zwar Stoch K1 < Stoch D1 bleibt, aber dann Stoch K0 > Stoch D0 um einen prozentuellen Wert ergänzt wird, um den eben Stoch K0 mindestens größer als Stoch D0 sein muss (je größer, desto steiler der Winkel beim crossing) damit der Trigger erst ausgelöst wird.

Ich würde dann quasi die Befehlszeile für den 0 bar etwa so schreiben, wenn ich möchte, dass der Schnittpunkt mindestens 5% über dem Stoch D0 liegen soll (vorerst mal Menschensprache):

"K0 grösser gleich D0 plus D0 mal 0,05". Damit sage ich dem Rechner, das es nicht alleine entscheidend ist, dass K0 größer als D0 sein muss, sondern dass der Trigger erst ausgelöst wird, wenn K0 mindestens 5% über D0 ist. Somit werden die ganzen "flachen Signale", wo eben der Stoch K kaum merkbar den Stoch D im 0 bar schneidet, eliminiert.

Beispiel: Sagen wir Stochastik DO ist bei 30, 5% wären nach Adam Riese 1,5.
Jetzt schneidet der Stoch K im O bar den Stoch D, aber ist nur bei 31 - somit wird das "signal= buy" usw. nicht ausgelöst, erst wenn der Stoch K einen Wert von mindestens 31,5 annimmt beim ersten Tick nach dem Schnittpunkt, wird "signal=buy" usw. ausgelöst

Ganz grob einmal - versteht das der Rechner so?
  #4 (permalink)  
Alt 01.02.24
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.745
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ich denke schon. Wenn der Prozentatz auf der aktuellen Kerze angewendet werden soll, dann muss die Indikatorabfrage aber auch tickweise passieren, denn während des Kerzenaufbaus kann es ja passieren, dass es zwar eine Kreuzung gab, die noch nicht zum Signal führte, aber evtl. später dann per Erreichung des Prozentsatzes doch ein Signal gibt.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 01.02.24
Mitglied
 
Registriert seit: Oct 2017
Beiträge: 47
cashfox befindet sich auf einem aufstrebenden Ast
Standard

Da triffst du haargenau den nächsten Schritt, der in meinem Hinterkopf schlummert - der Zeitfaktor beim Crossing in der aktuellen Kerze ist genauso wichtig

Das ideale Crossing ist nämlich, dass der K0 sofort bei "crossing-tick" mit diesen 5% crosst, und nicht erst nach dem crossen zwar über dem D0 ist aber erst nach zwei Minuten den Schwellenwert "DO plus 5% "erreicht und den Trigger dann auslöst - da ist die Dynamik weg.

Da müsste ich den Rechner anweisen, nur dann das % crossing als Trigger zu nehmen, wenn der Schwellenwert SOFORT bei "crossing-tick" erreicht wird, und sonst nie...

Ich vermute aber, dass ich wo einstellen kann, ob der EA Signale bei jedem Tick nimmt, oder ob er die Signale immer nur bei Beginn einer neuen Kerze kontrolliert
  #6 (permalink)  
Alt 03.02.24
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.745
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

"Ich vermute aber, dass ich wo einstellen kann, ob der EA Signale bei jedem Tick nimmt, oder ob er die Signale immer nur bei Beginn einer neuen Kerze kontrolliert."

Na ja, das hängt davon ab, wie Du es programmierst.
Entweder direkt in OnTick() schreiben bzw. per Sprung in eine andere Funktion oder über:

if (OldCandle != iTime(..., 1)) {
//Indikatorabfrage
OldCandle = iTime(..., 1);
}

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #7 (permalink)  
Alt 04.02.24
Mitglied
 
Registriert seit: Oct 2017
Beiträge: 47
cashfox befindet sich auf einem aufstrebenden Ast
Standard

Alles klar, Danke
Thema geschlossen

Lesezeichen


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 02:44 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.
-----------------------------------------------------------------------------------------------------------------------------