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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3526
Beiträge: 35196
Benutzer: 5.627
Aktive Benutzer: 674
Links: 80
Wir begrüßen unseren neuesten Benutzer: phoenix81
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 45 Minuten
- phoenix81
vor 13 Stunden
- focusinger
vor 14 Stunden
- Freestyler
vor einem Tag
- imetabotfo...
vor einem Tag
- maamar

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 49
Gesamt: 50
Team: 0
Team:  
Benutzer:  breunig24
Freunde anzeigen

Empfehlungen

Werbung

Like Tree20Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 09.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 535
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Was ist eigentlich der "Relative Vigor Index"? Steht in meinem Indi-Oszi-Buch nicht drin.

Scheint auf den 1. Blick nicht so kompliziert zu sein. Der Schnellste ist aber wohl auch nicht.

Mit Zitat antworten
  #12 (permalink)  
Alt 09.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 535
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

https://www.mql5.com/de/code/8035
Mit Zitat antworten
  #13 (permalink)  
Alt 10.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 535
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Das schaut leider doch etwas komplizierter aus.
Code:
//RVI
dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;
dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;
dNum+=dValueUp;
dDeNum+=dValueDown;
Edit:5 Fehler beim Kompilieren
Angehängte Dateien
Dateityp: mq4 Valerius_(CCI_FI_RVI)_Metatrader4_EA.mq4 (6,5 KB, 2x aufgerufen)
Mit Zitat antworten
  #14 (permalink)  
Alt 10.09.16
Benutzerbild von Aktien Andy
Premium Mitglied
 
Registriert seit: Oct 2014
Beiträge: 442
Aktien Andy befindet sich auf einem aufstrebenden Ast
Standard

Moin

Habe nun ein anderes Programm zum Laden der Tickdaten. Ich muss nur noch sehen, wie ich das in den MT4 bekomme.

Ich melde mich, wenn ich das hinbekommen habe, dann kannst Du mir sagen, welches Währungspaar ich zum Testen nehmen soll.

Ich habe Zugriff auf die üblichen Forex-Majors, Forex-Exotics, Gold, Silber, Kupfer, Platin, Palladium sowie Brent Oil und WTI Light Oil. Dazu auch noch 17 Indicies (DAX, Stoxx50, Dow etc.)

Gruß

Andreas
__________________
Is there anybody out there?
Mit Zitat antworten
  #15 (permalink)  
Alt 10.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 535
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Aktien Andy Beitrag anzeigen
Ich melde mich, wenn ich das hinbekommen habe, dann kannst Du mir sagen, welches Währungspaar ich zum Testen nehmen soll.
Am Besten Alles. Ich brauch eh noch ne Weile.
Mit Zitat antworten
  #16 (permalink)  
Alt 10.09.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 197
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Der Tag war hart, also kurz:

Bei der Dekla des GDs ist das wohl so.

Bei der Dekla der Linien gehts da aber nicht um Perioden, sondern um ihre Größe.

Code:
//CCI
{//Buy/Sell when CCI >/< 0.0
double CCI = iCCI(_Symbol,_Period, InpCCIPeriod, CCI_Price, 1);
double IL1 = iCCI(_Symbol,_Period, indicator_level1, CCI_Price, 1);//-100
double IL2 = iCCI(_Symbol,_Period, indicator_level2, CCI_Price, 1);//+100
@MA-EA:
Was du dann schreibst ist dann aber kein mql4 mehr. Lass Dir mal im Journal die Werte von IL1 und IL2 anzeigen.
Das geht mit:

Code:
Print ("IL1:",IL1, " / IL2:",IL2);
Du wirst feststellen, dass IL1 immer 0 ist und sich nie ändert!!!
Kann auch nicht, weil -100 Perioden vorwärts denken kann der CCI nicht weil er da noch keinen Kurs hat :-).

Falls Du dann doch mql4 Code schreiben solltest findest Du die Definition des iCCI in der Referenz:

double iCCI(
string symbol, // symbol
int timeframe, // timeframe
int period, // averaging period
int applied_price, // applied price
int shift // shift
);
Die Funktion iCCI benötigt genau diese 5 Parameter um ein Ergebnis zu liefern.
Oder an welcher Stelle meinst Du der Funktion iCCI mitzuteilen über wieviele Perioden sie berechnet werden soll?
Mit iCCI deklariest Du keine Linien sondern den Wert des iCCI im angegebenen Bar(shift).
Und ob der iCCI <>100/-100 ist prüfst Du dann mit einem Vergleich
iCCI()>100 oder iCCI<-100.
Mit Zitat antworten
  #17 (permalink)  
Alt 10.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 535
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Muss ich mir noch mal genau anschaun.

Jetzt komm ich aber erst mal beim RVI nicht weiter. Eigentlich
müsste die Globale Variable soweit richtig sein:
Code:
//RVI GV
extern string RelVigInd = "Relativ Vigor Index";
extern int ExtRVIPeriod = 10;
Dann die Definitionen nach Start:
Code:
//RVI
double DN_PLUS = iRVI(ExtRVIPeriod);
double DN_MINUS = iRVI(ExtRVIPeriod);
Beim Kompilieren heißt es für beide Zeilen "'iRVI' - wrong parameters count Valerius_(CCI_FI_RVI)_Metatrader4_EA.mq4 113 18"

Code aus der RVI mq4
Parameter
Code:
//---- indicator parameters
extern int ExtRVIPeriod=10;
Code:
//+------------------------------------------------------------------+
//| Relativ Vigor Index                                              |
//+------------------------------------------------------------------+
int start()
  {
   int i,j,nLimit,nCountedBars;
   double dValueUp,dValueDown,dNum,dDeNum;
//----
   if(Bars<=ExtRVIPeriod+8) return(0);
//----
   nCountedBars=IndicatorCounted();
//---- check for possible errors
   if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
   nLimit=Bars-ExtRVIPeriod-4;
   if(nCountedBars>ExtRVIPeriod+4)
      nLimit=Bars-nCountedBars;
//---- RVI counted in the 1-st buffer
   for(i=0; i<=nLimit; i++)
     {
      dNum=0.0; 
      dDeNum=0.0;
      for(j=i; j<i+ExtRVIPeriod; j++)
        {
         dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;
         dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;
         dNum+=dValueUp;
         dDeNum+=dValueDown;
        }
      if(dDeNum!=0.0)
         ExtRVIBuffer[i]=dNum/dDeNum;
      else
         ExtRVIBuffer[i]=dNum;   
     }
//---- signal line counted in the 2-nd buffer
   nLimit=Bars-ExtRVIPeriod-7;
   if(nCountedBars>ExtRVIPeriod+8)
      nLimit=Bars-nCountedBars+1;
   for(i=0; i<=nLimit; i++)
      ExtRVISignalBuffer[i]=(ExtRVIBuffer[i]+2*ExtRVIBuffer[i+1]+2*ExtRVIBuffer[i+2]+ExtRVIBuffer[i+3])/6;
//----
   return(0);
  }
Komm gerade gar nicht klar.
Mit Zitat antworten
  #18 (permalink)  
Alt 10.09.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.698
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

"... Dann die Definitionen nach Start:
Code:
//RVI
double DN_PLUS = iRVI(ExtRVIPeriod);
double DN_MINUS = iRVI(ExtRVIPeriod);
Beim Kompilieren heißt es für beide Zeilen "'iRVI' - wrong parameters count Valerius_(CCI_FI_RVI)_Metatrader4_EA.mq4 113 18..."

Klar! Da könnte evtl. noch der Index des Bufferspeichers fehlen.
Und v.a. auf welcher Kerze soll denn der Indikatorwert berechnet werden?

Die fehlen leider immer noch die Basics. Du scheinst auch nicht viel nachgeholt zu haben, denn das mit den Levels des CCI haben wir Dir schon vor einiger Zeit mehrmals!! erklärt, dass die beiden Levelwerte nichts in der Funktion iCCI() zu suchen haben.

Das ist auch der Hammer:
"//RVI
double DN_PLUS = iRVI(ExtRVIPeriod);
double DN_MINUS = iRVI(ExtRVIPeriod);"

Wie soll denn unterschieden werden zwischen DN_PLUS und DN_MINUS bei identischer Parameterübergabe?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #19 (permalink)  
Alt 10.09.16
Benutzerbild von Aktien Andy
Premium Mitglied
 
Registriert seit: Oct 2014
Beiträge: 442
Aktien Andy befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Am Besten Alles. Ich brauch eh noch ne Weile.
OK, ich fange dann mit EURUSD an, wenn ich den Import hinbekommen habe.
__________________
Is there anybody out there?
Mit Zitat antworten
  #20 (permalink)  
Alt 10.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 535
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Bekommst Du es hin, Indikatoren etc. in den EA einzubaun? Ich anscheinend nicht. In meinem MQL Buch steht irgendwas von "Mode" und was weiß ich Alles, was kein Mensch kapiert.

https://www.amazon.de/Algorithmische.../dp/3732366715
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ea programmieren, expert advisor programmieren, mql4, programmierung, programmierung metatrader, valerius, valerius ea, valerius expert advisor


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 08:58 Uhr.



-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 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.
-----------------------------------------------------------------------------------------------------------------------------