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: 43259
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: 0
Gäste: 99
Gesamt: 99
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #31 (permalink)  
Alt 08.08.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Angel Beitrag anzeigen
Ich frage mich nur, wieso eine Problemstellung hin- und her- und durchgekaut und die Hintergründe erfragt werden mussen, wenn ich doch nur eine einfache Frage hier stelle, nämlich wie ich die ATR-Werte von Kerzen - durch Code - miteinander verbinden lassen will.
Ach da ist sie ja, deine Frage.

Wenn du die Verbindung noch mit OBJ_TREND machen willst, hier deine Antwort:
Code:
//+------------------------------------------------------------------+ 
//| Create a trend line by the given coordinates                     | 
//+------------------------------------------------------------------+ 
bool TrendCreate(const long            chart_ID=0,        // chart's ID 
                 const string          name="TrendLine",  // line name 
                 const int             sub_window=0,      // subwindow index 
                 datetime              time1=0,           // first point time 
                 double                price1=0,          // first point price 
                 datetime              time2=0,           // second point time 
                 double                price2=0,          // second point price 
                 const color           clr=clrRed,        // line color 
                 const ENUM_LINE_STYLE style=STYLE_SOLID, // line style 
                 const int             width=1,           // line width 
                 const bool            back=false,        // in the background 
                 const bool            selection=true,    // highlight to move 
                 const bool            ray_right=false,   // line's continuation to the right 
                 const bool            hidden=true,       // hidden in the object list 
                 const long            z_order=0)         // priority for mouse click 
  { 
//--- set anchor points' coordinates if they are not set 
   ChangeTrendEmptyPoints(time1,price1,time2,price2); 
//--- reset the error value 
   ResetLastError(); 
//--- create a trend line by the given coordinates 
   if(!ObjectCreate(chart_ID,name,OBJ_TREND,sub_window,time1,price1,time2,price2)) 
     { 
      Print(__FUNCTION__, 
            ": failed to create a trend line! Error code = ",GetLastError()); 
      return(false); 
     } 
//--- set line color 
   ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); 
//--- set line display style 
   ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); 
//--- set line width 
   ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width); 
//--- display in the foreground (false) or background (true) 
   ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); 
//--- enable (true) or disable (false) the mode of moving the line by mouse 
//--- when creating a graphical object using ObjectCreate function, the object cannot be 
//--- highlighted and moved by default. Inside this method, selection parameter 
//--- is true by default making it possible to highlight and move the object 
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); 
   ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); 
//--- enable (true) or disable (false) the mode of continuation of the line's display to the right 
   ObjectSetInteger(chart_ID,name,OBJPROP_RAY_RIGHT,ray_right); 
//--- hide (true) or display (false) graphical object name in the object list 
   ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); 
//--- set the priority for receiving the event of a mouse click in the chart 
   ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); 
//--- successful execution 
   return(true); 
  }
  #32 (permalink)  
Alt 09.08.18
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 126
Angel befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc : Also bis heute schätzte ich Deine Beiträge ja sehr... aber jetzt fehlen mir hinsichtlich der Konstruktivität Deines letzten Beitrages

Zitat:
Na dann sollte doch dieser Indikator keine so große Herausforderung darstellen.

traderdoc
die Worte. Sorry.



@Leopold :

Ok. So weit war ich schon. Aber wie würdest Du die time-Variablen

time1,price1,time2,price2

bei zB 5 - Minuten - Kerzen mit welchen Werten "befüllen"?
Für die "prices" nehme ich den Wert der jeweiligen ATR.
Aber für "time", da kann ich dem MT4 ja nicht sagen "Nimm die 85te Kerze ab der aktuellen und das ist time1"
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
  #33 (permalink)  
Alt 09.08.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du bereits einen Indikator programmiert hast, dann sind doch schon Erfahrungen vorhanden. Ich sagte bereits, dass diese Aufgabe über einen Indikator gelöst werden kann.
Wo liegt denn nun das Problem? Ich verstehe zunehmenderweise nicht, was Du hier eigentlich willst. Den kompletten Code wird es wahrscheinlich nicht geben.

Wieso fehlen Dir da die Worte?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #34 (permalink)  
Alt 09.08.18
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 126
Angel befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc Ja, es sind schon Erfahrungen vorhanden und sie reichen aus, um zu wissen, dass das für mich bestehende, angeführte Problem durch einen Indikator gelöst werden kann und nicht zB durch diskrete Rechenergebnisse, denn ich will ja, wie anfangs erwähnt, die Kurve darstellen, um sie optisch zu erfassen.

Nein, sie reichen noch nicht aus, um das für mich bestehende Problem zu lösen.

Nein, ich will nicht so vermessen sein, den kompletten Code zu bekommen, sondern nur einzelne konstruktive Hinweise, aber auch wenn ich dafür im Forum "Codeschnipsel" sein sollte, dann ziehe ich mit dem Thread gerne um .

Mein letzter Beitrag an @Leopold hinsichtlich time1,price1,time2,price2 ist das, was mir von Anfang an klar war, aber wie schreibe ich dem MT4 zB die "time1" - in Sekunden seit x.x.1970 oder wie sonst? Gibt es eine andere, elegantere Möglichkeit? Ich würde gerne mal so ein paar Codeschnipsel sehen, wie andere Programme das bestimmen.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
  #35 (permalink)  
Alt 09.08.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Aber irgendwie reichts nicht, zu erklären, was Du mit Kerzen verknüpfen meinst. Wenn Du irgendwelche Gaps mit einbeziehen willst: Der ATR macht das anscheinend bereits.

Wie man die Vola mit nem Kanal darstellen soll, weiß ich immer noch nicht.

Hilfreich wärn vielleicht mal Skizzen oder Beispiel-Bilder, wie das Ganze aussehn soll.

Und falls ich sie nicht übersehn habe, Beispiel-Formeln. Bis jetzt kapiert hier irgendwie Niemand, was Du eigentlich willst.
  #36 (permalink)  
Alt 09.08.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Dann sage ich es mal mit ganz einfachen Worten.

Der Indikator lebt von Arrays. D.h. alle auf dem Chart auszugebenden Werte (z.B. auch Linien) müssen vorher in Arrays geschrieben werden.
Das ist eigentlich die ganze Kunst. Und nun musst Du Dir nur noch überlegen, welche Werte in das (die) Array(s) geschrieben werden.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #37 (permalink)  
Alt 09.08.18
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 126
Angel befindet sich auf einem aufstrebenden Ast
Standard

@MA-EA: Man nehme zB einen gleitenden Durchschnitt, zB 50er eines beliebigen Timeframe und trage die zu der jeweiligen Kerze zugehörige ATR mit Faktor x in positiver und negativer Richtung auf, was als Einstieg oder Ausstieg dienen mag. Diese Werte x*ATR verbinde man zu einem Kanal.
So , jetzt bin ich von A-Backen auf Kuchenbacken gekommen
Ich hätte sollen schreiben, dass ich den zu jeder Kerze gehörigen gleitenden Durchschnitt berechnen und die jeweiligen Punkte miteinander verbinden möchte. Aber dann wäre wohl der Hinweis gekommen "Dann nimm doch gleich den EA, der mitgeliefert wird" oder die Frage, ob es sich um EMA, SMA handeln soll oder sich der GD auf Close, High, Low oder elfundachtzig mal das Open oder sonstwas beziehen soll. Nun gut.

@traderdoc Danke für den Hinweis. Ich muss mich also für arrays fit machen. Ich habe es befürchtet, weil ich es auf den ersten Blick furchtbar kompliziert finde (meine 14-Tage-Pivots kommen ohne arrays aus, was den Code natürlich aufbläht ). Aber ok, ich weiß nun die Richtung. Danke.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
  #38 (permalink)  
Alt 09.08.18
Premium Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 362
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Angel Beitrag anzeigen
@traderdoc Danke für den Hinweis. Ich muss mich also für arrays fit machen. Ich habe es befürchtet, weil ich es auf den ersten Blick furchtbar kompliziert finde (meine 14-Tage-Pivots kommen ohne arrays aus, was den Code natürlich aufbläht ). Aber ok, ich weiß nun die Richtung. Danke.
Wie jetzt? Mit der Antwort, dass du Array brauchst bist zu zufrieden?
Das finde ich jetzt echt witzig.

Hast du dir den MA Indikator überhaupt angesehen?? Spätestens dort müsste dir das bewusst worden sein.
Aber gut, vielleicht ist jetzt letztendlich alles geklärt.

---Leopold---
  #39 (permalink)  
Alt 09.08.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Wenn Dein Pivot-Indikator wirklich so funktionieren soll wie eben ein richtiger Indikator, dann geht da nur über Arrays!
Auch alle anderen Indikatoreigenschaften, die man dann über Variablen einstellen könnte bedingen die vorgegebene Programmstruktur üblicher Indikatoren.

Daher würde ich Dir tunlichst empfehlen, jegliche Zeit nicht damit zu verschwenden, keine Arrays zu benutzen.
Dass Arrays nicht einfach sind, davon kann z.B. @MA-EA ein langes Lied singen.
Aber sie sind nun mal notwendig bei Indikatoren und auch ansonsten vereinfachen sie die Programmierung.

Daher: Richtig oder gar nicht!

traderdoc

PS. Ich denke, nun ist für die Vorgehensweise alles geschrieben worden. Der Rest liegt an Dir, und da sind wir wieder bei dem Post,
wo Dir die Worte fehlten. Evtl. hast Du sie aber nun.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #40 (permalink)  
Alt 09.08.18
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 126
Angel befindet sich auf einem aufstrebenden Ast
Standard

@Leopold Ich hsah mir Deinen Code an. Der brachte mich hinsichtlich der Bestimmung der X-Koordinaten nicht weiter. Dass das Format "time1, price1.." bestehen muss, war mir klar und ist auch aus der Dokumentation ersichtlich. Was nicht ersichtlich und trivial ist, ist wie "time1" , also die Zeitkomponente, angewendet wird, also was "reinkommt", ich schreibe ja nicht einfach in H1 "09.08.2019, 11:38:00" als "time1".

@traderdoc Die Arrays, da sind wir uns nun einig. Ich habe es ja befürchtet. Aber ok. Ich werde versuchen, meinen Pivot-Indikator dahingehend umzuschreiben. Nö, da wo mir die Worte fehlten, sind wir weiter, denn ich habe inzwischen von Dir auf meine Frage keine Gegenfrage oder wie zu dem Zeitpunkt keine Feststellung bekommen. Sind aber Feinheiten. Ich bin Dir ja nicht böse, wie solte ich auch, aber wenn mich jemand etwas fragt oder ich auf etwas antworte, dann bin ich so konkret und definiert wie möglich oder wenn etwas nicht verständlich ist, so hake ich im konstruktiven Sinne nach. Das bläht einen Thread nur auf. Es wäre doch schön , wenn es so laufen würde: "Frage -> Anwort" oder "Frage -> Verständnisfrage -> Antwort auf die Verständnisfrage -> Antwort auf die ursprüngliche Frage", sofern nicht weitere Verständnisfragen anfallen.
Ich meine, Deine vielfältigen - wertvollen - Beiträge habe ich gelesen und weiß, dass Du davon ein Lied singen kannst, wo Du gerade auch solche Dinge angesprochen hast.
Ich meine, wir sind hier zwar in einem Dialog, aber leider nicht in einem, der in 5 Minuten beendet ist, sondern sich aufgrund der Natur der Sache in der Regel über mehrere Tage hinstreckt anstelle in einem Gespräch. Da wäre es doch schön, wenn man schnell auf den Punkt kommt. Mag natürlich auch sein, dass ich zu ungeduldig bin.
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang
Thema geschlossen

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 00: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.
-----------------------------------------------------------------------------------------------------------------------------