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: 4280
Beiträge: 39485
Benutzer: 6.595
Aktive Benutzer: 246
Links: 80
Wir begrüßen unseren neuesten Benutzer: rustembilgi
Mit 667 Benutzern waren die meisten Benutzer gleichzeitig online (vor 3 Wochen um 05:39).
Neue Benutzer:
vor einem Tag
- rustembilg...
vor einem Tag
- plamdam
vor 3 Tagen
- sh3ldn
vor 4 Tagen
- trader2
vor 5 Tagen
- qaseem

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 2 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 773
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.
Mit Zitat antworten
  #2 (permalink)  
Alt vor 2 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 773
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)
Mit Zitat antworten
Antwort

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 +2. Es ist jetzt 08:50 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2019 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------