Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43273
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 18 Stunden
- Sundaytrad...
vor einem Tag
- TS_6
vor 3 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 08.08.19
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard Letzte Kerze in bestimmten Bereich finden

Hallo.

Ich würde gerne rausfinden, ob in einem Oszillator, z.B. jetzt mal der CCI, die letzte Kerze, die nicht zwischen Indicator-Line-1 und -2 war, über oder unter eben diesen Linien waren. Denke mal, dann könnte man das ein oder andere Fehlsignal vermeiden.
Code:
double CCI_B1=iCCI(Symbol(),Timeframe,CCI_Period,CCI_Price,1);
Ich bin leider Anfänger und hab nur ne ungefähre Idee:
Erst mal ne Variable für den CCI Shift, also welche Kerze benutzt werden soll, festlegen, z.B.:
Code:
int CCI_Bar = 1;
double CCI_B1=iCCI(Symbol(),Timeframe,CCI_Period,CCI_Price,CCI_Bar);
Dann in ner while-Schleife CCI_Bar immer weiter erhöhen, solange sie z.B. unter IL_2 (obere Linie) ist. Also ungefähr:
Code:
while ( CCI < IL_2 ){
CCI_Bar++;
Dann vielleicht nen bool oder vielleicht nen string festlegen, wenn die geprüfte Kerze des CCI > IL_1 ist. Vielleicht:
Code:
...
if ( CCI > IL_2 ) string Wo war CCI zuletzt = "über IL_2";

if ( CCI < IL_1 ) string Wo war CCI zuletzt = "unter IL_1";

return ( Wo war CCI zuletzt );}
Und um dann die Bedingungen für nen Buy zu checken z.B.:
Code:
if ( CCI > IL_1 && Wo war CCI zuletzt == "unter IL_1" ) {
OrderSend(OP_BUY und so weiter...) }
Kann das so funktionieren? Bin wie gesagt Einsteiger... Aber ich denk mal, dass man dann so manche Verlust-Order vermeiden kann.
  #2 (permalink)  
Alt 08.08.19
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Ob das so funktioniert? Oder braucht man unbedingt ne Schleife? Da käme dann eigentlich nur die while-Schleife in Frage. Aber die bleibt ja gerne mal hängen so viel ich weiß...

1. Die Kerze des CCI deklarieren, die geprüft werden soll.
Code:
int CCI_il_1or2_Bar = 1;
2. Nen CCI deklarieren, der nur für diesen Check benutzt wird.
Die Kerze entspricht der oben fest gelegten.
Code:
double CCI_il_1or2=iCCI(Symbol(),Timeframe,CCI_Period,CCI_Price,CCI_il_1or2_Bar);
3. Wenn die jeweilige CCI-Kerze zwischen IL1 und IL2 ist,
soll die zu prüfende Kerze erhöht werden.
Code:
if ( CCI_il_1or2 > CCI_indicator_level_1 || CCI_il_1or2 < CCI_indicator_level_2 ) {
CCI_il_1or2_Bar++;
4. Wenn dann irgendwann die jeweilige Kerze nicht mehr zwischen IL1 und IL2, sonder über oder unter Beiden ist,
soll ihr Wert mit return zurück gegeben werden.
Code:
if ( CCI_il_1or2 < CCI_indicator_level_1 || CCI_il_1or2 > CCI_indicator_level_2 ) return(CCI_il_1or2); }
Je nach dem, ob der Wert größer/kleiner als IL1/IL2 ist, kann dann nen Buy/Sell geöffnet werden.

Immerhin gibts beim Kompilieren keine Fehlermeldung.

Edit:While-Schleifen hängen ja gerne mal, soviel ich weiß.
Könnte man das Ganze vielleicht irgendwie mit ner for-Schleife bewerkstelligen?
Angehängte Dateien
Dateityp: mq4 ILcheck_CCI_RSI_RVI_STOCH_WPR_B0B1_EA.mq4 (43,6 KB, 0x aufgerufen)
Thema geschlossen

Lesezeichen


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 12:32 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.
-----------------------------------------------------------------------------------------------------------------------------