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: 4978
Beiträge: 43279
Benutzer: 7.222
Aktive Benutzer: 75
Links: 84
Wir begrüßen unseren neuesten Benutzer: AlbertZiz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einer Woche
- AlbertZiz
vor einer Woche
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982
vor 2 Wochen
- Thomas75

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 100
Gesamt: 101
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 03.10.20
Neues Mitglied
 
Registriert seit: Aug 2017
Beiträge: 4
Mino1337 befindet sich auf einem aufstrebenden Ast
Question EA für Klassische Chartanalyse

Hallo,

ich versuche gerade einen EA zu programmieren der nach der klassischen Chartanalyse vorgeht. Er soll für den Anfang eine Trendlinie einzeichnen welche sich auf den höchsten Wert der letzten X Kerzen und Y weiteren Werten stützt.

Im Moment ist nder EA gerade am Anfang und tut noch etwas ganz anderes. Er sollte eine Trendlinie einzeichnen welche sich auf den Höchsten Wert der letzten X Kerzen und den zweit höchsten Wert stützt wenn Y weitere Werte im selben Bereich liegen.

Das ist nur ein Zwischenstand.

Mein Problem ist allerdings das die Trendlinie nicht eingezeichnet wird. Ich schaffe es eine Horizontale Linie einzuzeichnen aber eine Vertikale funktioniert schon nicht mehr. Keine Ahnung warum. Könnte sich das bitte mal jemand ansehen ?


Code:
extern int KerzenZurueck;



bool Wert1IstImBereichVonWert2(double Wert1, double Wert2, double Bereich){
if(Wert1<Wert2+Bereich&&Wert1>Wert2-Bereich){
return true;
}else{
return false;
}
}



//Maximal 100 Kerzen zurück
void TrenbdlinieEinzeichnen(int Periode, int minimaleStuetzpunkte, double Bereich){

double Werte[100];
double WerteOrt[100];
double OrtSortierterArray[100];
int Stuetzpunkte;
double StuetzpunktWerte[2];
double StuetzpunktOrte[2];

for(int i = 0; i<=Periode; i++){
Werte[i]=High[i];
WerteOrt[i]=High[i];
}

ArraySort(Werte,WHOLE_ARRAY,0,MODE_DESCEND);

for(int j = 0; j<=Periode; j++){
for(int o = 0; o<=Periode; o++){
if(Werte[j]==WerteOrt[o]){
OrtSortierterArray[j]=o;
}
}
}


//Der Werte-Array hat nun die Höchstkerzenstände in absteigender Reihenfolge gespeichert und OrtSortierterArray hat die dazugehöhrigen Kerzen gespeichert an selber Stelle wie der Wert in Werte-Array


for(int k=0; k<Periode; k++){

bool ZielErreicht = false;

if(Wert1IstImBereichVonWert2(Werte[k],Werte[k+1],Bereich*Point)&&!ZielErreicht){
Stuetzpunkte=Stuetzpunkte+1;
}else{
Stuetzpunkte=0;
}
if(Stuetzpunkte>=minimaleStuetzpunkte&&!ZielErreicht){
ZielErreicht=true;
StuetzpunktWerte[0]=Werte[k];
StuetzpunktWerte[1]=Werte[k+1];
StuetzpunktOrte[0]=OrtSortierterArray[k];
StuetzpunktOrte[1]=OrtSortierterArray[k+1];
}
}


//In Stuetzpunkt Werte sollten nun zwei Werte und Stuetzpunkt Orte sollten nun zwei Kerzennummern stehen sodass nun eine Linie gezogen werden könnte

ObjectCreate(ChartID(),"Trend", OBJ_TREND, 0, iTime(NULL,PERIOD_CURRENT,StuetzpunktOrte[1]),StuetzpunktWerte[1], iTime(NULL,PERIOD_CURRENT,StuetzpunktOrte[0]),StuetzpunktWerte[0]);

}














void OnTick()
  {

TrenbdlinieEinzeichnen(KerzenZurueck,3,3);
 /*  ObjectCreate(ChartID(),"Trend", OBJ_VLINE, 0, iTime(NULL,PERIOD_CURRENT,0),Ask);
   ObjectSetInteger(ChartID(),"Trend",OBJPROP_COLOR,clrRed);
   ObjectCreate("low",OBJ_TREND,0,TimeCurrent(),Ask,TimeCurrent()+5,Ask);
   ObjectSet("low",OBJPROP_COLOR,LimeGreen);
   ObjectSetInteger(ChartID(),"low",OBJPROP_WIDTH,3);
   ObjectSetInteger(ChartID(),"low",OBJPROP_BACK,back);
   
   */
   
   /*
   double AB = Ask+(1*Point);
   
       ObjectCreate(NULL,"NAME",OBJ_TREND,0,iTime(NULL,PERIOD_CURRENT,5),AB,iTime(NULL,PERIOD_CURRENT,1),Ask);
       ObjectSetInteger(NULL,"NAME",OBJPROP_COLOR,clrRed);
       ObjectSetInteger(NULL,"NAME",OBJPROP_STYLE,STYLE_SOLID); 
       
       
       */
  }

Vielen Dank für eure Anregungen
  #2 (permalink)  
Alt 03.10.20
Neues Mitglied
 
Registriert seit: Aug 2017
Beiträge: 4
Mino1337 befindet sich auf einem aufstrebenden Ast
Arrow

Ich bin nun einen Schritt weiter. Ich habe festgestellt das die Trendlinie korrekt eingezeichnet wird ich sie nur nicht sehen kann. Wenn man in das Chart rechtsklickt und dann Objekte auswählt, kann man die Linie sehen und auf Anzeigen klicken. Dann wird sie auch angezeigt.

Jemand eine Idee wie ich das per Code hinbekommen kann ?
  #3 (permalink)  
Alt 06.10.20
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 87
Bobs befindet sich auf einem aufstrebenden Ast
Standard

Es gibt Standardfunktionen:
ObjectSetDouble(chart_ID,object_name,OBJPROP_PRICE ,0,Price);
ObjectSetInteger(chart_ID,object_name,OBJPROP_TIME ,0,Time);
Thema geschlossen

Lesezeichen

Stichworte
mql4, trendlinie einzeichnen

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 16:56 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.
-----------------------------------------------------------------------------------------------------------------------------