Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43533
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 7 Stunden
- Sundaytrad...
vor 14 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Like Tree5Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 28.03.18
Neues Mitglied
 
Registriert seit: Jun 2016
Beiträge: 23
sill3000 befindet sich auf einem aufstrebenden Ast
Standard

extern ENUM_LINE_STYLE Linien_Stil=STYLE_SOLID;
extern color Farbe_Linie=Yellow;
extern int Breite=5;

void OnTick()
{
for(int i=0;i<ObjectsTotal();i++)
{
string akt_Objekt = ObjectName(i);
if((ObjectType(akt_Objekt) == OBJ_VLINE)&&(ObjectGet(akt_Objekt,OBJPROP_SELECTED ) == FALSE)&&(ObjectGet(akt_Objekt,OBJPROP_COLOR) == Farbe_Linie)&&(ObjectGet(akt_Objekt,OBJPROP_STYLE) == Linien_Stil)&&(ObjectGet(akt_Objekt,OBJPROP_WIDTH) == Breite))
{
datetime date=(datetime)(ObjectGet(akt_Objekt, OBJPROP_TIME1));
double Eroeffnungskurs=iOpen(0,0,iBarShift(0,0,date,0));
Print("Eröffnungskurs der gelben Linie: ",Eroeffnungskurs);

//datetime date2=(datetime)(ObjectGet(akt_Objekt, OBJPROP_TIME1));

//Print("Eröffnungskurs der gelben Linie+1: ",date2);
//int Startwert=date;
//Print("Eröffnungskurs der gelben Linie+1: ",Startwert);
//Print("Openwert: ",Open[Startwert]);
}
}//Ende for(int i=0; i<ObjectsTotal();i++)
}//Ende OnTick()

Das ist mein Programm bis jetzt: Es wird die vertikale Linie abgefragt, aber jetzt weiss ich nicht wie ich die Werte links und rechts der vert. Linie überprüfe?

Geändert von sill3000 (28.03.18 um 12:47 Uhr)
  #12 (permalink)  
Alt 28.03.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sill3000 Beitrag anzeigen
Das ist mein Programm bis jetzt: Es wird die vertikale Linie abgefragt, aber jetzt weiss ich nicht wie ich die Werte links und rechts der vert. Linie überprüfe?
Welche Werte? Die Open-Kurse der einzelen Kerzen oder die Zeitwerte der einzelnen Linien? Ich tippe mal auf Ersteres:

Prinzipielles Vorgehen:
1. Ermittlung der Zeit der gelben Linie
2. Umrechnung dieser Zeit in den Index des entsprechenden Kerze mit iBarShift()
und dann
3.
Code:
//candle soll die Variable für den Kerzenindex der gelben Linie sein
int links = 20;  //Angabe der Anzahl von Kerzen, die nach links gecheckt werden sollen
for (int i = candle; i <= candle+links; i++) {
   double open = iOpen(NULL, 0, i);
   ...
   ...
}
for (int i = candle; i == 0; i--) {  //oder i > 0, wenn die akt. Kerze nicht mitgenommen werden soll
   double open = iOpen(NULL, 0, i);
   ...
   ...
}
traderdoc
sill3000 likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #13 (permalink)  
Alt 28.03.18
Neues Mitglied
 
Registriert seit: Jun 2016
Beiträge: 23
sill3000 befindet sich auf einem aufstrebenden Ast
Standard

Danke traderdoc für diese extrem gute Hilfestellung.

Jetzt habe ich aber noch ein anderes Problem, die Syntax wie ich anhand von der Zeit, eine "HotPink" vertikale und der Breite von 5 Linie zeichne.

Mein erster Entwurf sieht folgendermassen aus.

#define PRICE_LINE1 "Hot Pink"

Print("Current bar time für rechts der gelben Linie: ",iTime(0,0,a));
Die Zeit wird korrekt ausgegeben. Mit Datum und Zeit.

Aber die Linie will nicht auf dem Bildschirm erscheinen

Hier mein erster NICHT-funktionierender Entwurf:

ObjectCreate(PRICE_LINE1, OBJ_VLINE, 0, 0, 0);
ObjectSet(PRICE_LINE1,OBJPROP_WIDTH,5);
ObjectSet(PRICE_LINE1, OBJPROP_COLOR, HotPink);
ObjectSet(PRICE_LINE1, OBJPROP_PRICE1,iTime(0,0,a))

Danke schonmal im Voraus
  #14 (permalink)  
Alt 28.03.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Als erstes würde ich mal schreiben:

ObjectSet(PRICE_LINE1, OBJPROP_TIME1,iTime(0,0,a));

traderdoc
sill3000 likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #15 (permalink)  
Alt 28.03.18
Neues Mitglied
 
Registriert seit: Jun 2016
Beiträge: 23
sill3000 befindet sich auf einem aufstrebenden Ast
Standard

Vielen, vielen Dank, jetzt klappt es.

Danke traderdoc :
  #16 (permalink)  
Alt 10.04.18
Neues Mitglied
 
Registriert seit: Jun 2016
Beiträge: 23
sill3000 befindet sich auf einem aufstrebenden Ast
Standard keine 2 Linienarten werden angezeigt

Hallo zusammen,

ich habe ein Problem, mit dem ich nicht weiterkomme.
Die vertikalen Linien werden hervorragend angezeigt. Siehe angehängte JPG's.

Aber leider nur getrennt voneinander. Wie schaffe ich es, die beiden Linienarten auf ein Chart zu legen.

Fkt. void navy_Linie_zeichnen(int Pos,int a)
{
ObjectCreate(a, OBJ_VLINE, 0, 0, 0);
ObjectSet(a,OBJPROP_WIDTH,5);
ObjectSet(a, OBJPROP_COLOR, Navy);
ObjectSet(a, OBJPROP_PRICE1,Pos);
ObjectSet(a,OBJPROP_STYLE,Linien_Stil);
ObjectSet(a, OBJPROP_TIME1,iTime(0,0,Pos));
}
void light_salmon_Linie_zeichnen(int Pos,int f)
{
ObjectCreate(f, OBJ_VLINE, 0, 0, 0);
ObjectSet(f,OBJPROP_WIDTH,5);
ObjectSet(f, OBJPROP_COLOR, LightSalmon);
ObjectSet(f, OBJPROP_PRICE1,Pos);
ObjectSet(f,OBJPROP_STYLE,Linien_Stil);
ObjectSet(f, OBJPROP_TIME1,iTime(0,0,Pos));
}


So werden die Linien aufgerufen:

for(int a=0;a<100;a++)
{
navy_Linie_zeichnen(navy[a],a);
light_salmon_Linie_zeichnen(light_salmon[a],a);
}

Aber es erscheint immer nur eine Farbe, nie beide zusammen.

Werden die irgendwie überschrieben ?

Im Voraus besten Dank Gruss sill3000
Angehängte Grafiken
Dateityp: jpg navy.jpg (142,7 KB, 10x aufgerufen)
Dateityp: jpg light_salmon.jpg (143,0 KB, 10x aufgerufen)
  #17 (permalink)  
Alt 10.04.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja klar!, weil beide farbigen Linien denselben Objektnamen haben.

Wenn man sich über F1 an die vorgegebenen Strukturen der Funktionen hält, dann kann man solche Fehler nahezu ausschließen.

Die relevante Funktionsstruktur sieht dann so aus:


bool ObjectCreate(
string object_name, // object name
ENUM_OBJECT object_type, // object type
int sub_window, // window index
datetime time1, // time of the first anchor point
double price1, // price of the first anchor point
datetime time2=0, // time of the second anchor point
double price2=0, // price of the second anchor point
datetime time3=0, // time of the third anchor point
double price3=0 // price of the third anchor point
);

Und dabei sind hier v.a. die ersten 5 Parameter existentiell!

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #18 (permalink)  
Alt 10.04.18
Neues Mitglied
 
Registriert seit: Jun 2016
Beiträge: 23
sill3000 befindet sich auf einem aufstrebenden Ast
Standard

Danke traderdoc,

vielen Dank
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, programmierung mql4, variblen, vertikale linie, werte vertikale line


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 02:19 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.
-----------------------------------------------------------------------------------------------------------------------------