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: 4554
Beiträge: 41279
Benutzer: 6.945
Aktive Benutzer: 217
Links: 82
Wir begrüßen unseren neuesten Benutzer: majid_z
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- majid_z
vor einem Tag
- Jeatcomput...
vor 2 Tagen
- Herrfroehl...
vor 2 Tagen
- dberkovi
vor 4 Tagen
- ForexFighe...

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 2 Wochen
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
Mit Zitat antworten
  #2 (permalink)  
Alt vor 2 Wochen
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 ?
Mit Zitat antworten
  #3 (permalink)  
Alt vor 2 Wochen
Mitglied
 
Registriert seit: Jun 2011
Ort: Minsk, Weißrussland
Beiträge: 78
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);
Mit Zitat antworten
Antwort

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 11:59 Uhr.





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