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: 4294
Beiträge: 39577
Benutzer: 6.606
Aktive Benutzer: 223
Links: 80
Wir begrüßen unseren neuesten Benutzer: dellinger
Mit 1.311 Benutzern waren die meisten Benutzer gleichzeitig online (vor 2 Tagen um 01:18).
Neue Benutzer:
vor 3 Tagen
- dellinger
vor 5 Tagen
- SABA
vor 5 Tagen
- artfeld
vor 5 Tagen
- sonnejian
vor 5 Tagen
- SchneiderB...

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

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: May 2017
Beiträge: 23
Gondiego befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Die TestBlue und TestRed sind dazu da, um herauszufinden, welche "Farbzahl" herauskommt, wenn die Farbe "clrBlue" oder "clrRed" heißt. Das sind die Vorgabewerte aus dem Indikator. (Solltest Du die mal ändern, also statt "Blue" z.B. "YellowGreen" einstellen, wird sich auch die "Farbzahl" ändern).

Um die Farbe eines Objektes zu auszulesen, nimmt man ObjectGetInteger(...), man erfragt also eine Integer-Zahl (genau gesagt sind die "Farbzahlen" vom Typ long integer). Da es aber keine (jedenfalls ist mir so was nicht bekannt) Umwandlung von IntegerToColor oder sowas gibt, ist das einfachste mit dem Zahlwert zu arbeiten.
Hab ich verstanden, klasse. Danke für die Erleuterung!

Zitat:
Dann brauchst Du trotzdem die beiden unterschiedlichen Zahlen, damit Du weißt, ob Du grad blau oder rot zu fassen hast. Wenn Du diese Farben vom Indikator nie änderst, dann kannst Du deren Zahlwerte vorher festlegen, der Rest ist dann die Bedingung
Code:

long UpColor=16711680; // Blue
long DnColor=255; // Red

if( ObjectGetInteger(0,FXVTF1,OBJPROP_COLOR)==UpColor
&& ObjectGetInteger(0,FXVTF2,OBJPROP_COLOR)==UpColor
&& ObjectGetInteger(0,FXVTF3,OBJPROP_COLOR)==UpColor )
{
//dann kaufen
}

ungetestet, sollte aber eigentlich so funktionieren. AVT
Das werde ich dann bei Gelegenheit mal ausprobieren, wird aber sicherlich genau das sein, was ich brauche.
Nochmal vielen vielen Danke!

Grüße
Mit Zitat antworten
  #12 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: May 2017
Beiträge: 23
Gondiego befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das ganze nun mal in eine Funktion gepackt (mache ich zunmindest immer so) aber ich bekomme immer noch kein "Ergebnis", im Sinne eines Prints, geschweige denn, wenn ich mit "Trend" weiterarbeite.

Code:
string Trend;
string up, down;
string Rect1Name = "FXVTF1"; 
string Rect2Name = "FXVTF2";
string Rect3Name = "FXVTF3";
long UpColor = 16711680;   
long DnColor = 255;        
string FXVTF()
   {
      if(   ObjectGetInteger(0,Rect1Name,OBJPROP_COLOR) == UpColor 
         && ObjectGetInteger(0,Rect2Name,OBJPROP_COLOR) == UpColor 
         && ObjectGetInteger(0,Rect3Name,OBJPROP_COLOR) == UpColor)
            {
               Trend = up;
            }
      if(   ObjectGetInteger(0,Rect1Name,OBJPROP_COLOR) == DnColor 
         && ObjectGetInteger(0,Rect2Name,OBJPROP_COLOR) == DnColor 
         && ObjectGetInteger(0,Rect3Name,OBJPROP_COLOR) == DnColor)
            {
               Trend = down;
            }
      else Trend = "";
         
      Print(Trend);
         
      return(Trend);       
   }
Habe ich doch noch was falsch verstanden?

Grüße
Mit Zitat antworten
  #13 (permalink)  
Alt vor einer Woche
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 211
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gondiego Beitrag anzeigen
Ich habe das ganze nun mal in eine Funktion gepackt (mache ich zunmindest immer so) aber ich bekomme immer noch kein "Ergebnis", im Sinne eines Prints, geschweige denn, wenn ich mit "Trend" weiterarbeite.

Code:
string Trend; //Variable ohne Anfangswert
string up, down; //2 weitere Variablen ohne Anfangswert
string FXVTF()
{
   if( ... ) Trend = up; //Trend bekommt den Wert von Variable up
   if( ... ) Trend = down; //Trend bekommt den Wert von Variable down
   else    Trend = ""; //Trend bekommt den Wert Leer
         
   Print(Trend);
   return(Trend);       
}
Habe ich doch noch was falsch verstanden?
Sieh Dir mal an, was mit Deinen Variablen passiert. Zum Vergleich mal eine Version angehängt (da Wochenende ist, ist ein Aufruf in OnInit). AVT
Angehängte Dateien
Dateityp: mq4 FXVDA1watcher.mq4 (2,6 KB, 3x aufgerufen)
Mit Zitat antworten
  #14 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: May 2017
Beiträge: 23
Gondiego befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Anmekungen.
Aber auch mit deinem Watcher erhalte ich nichts...

Steh ich jetzt komplett auf dem Schlauch?
Angehängte Grafiken
Dateityp: jpg Test.JPG (139,9 KB, 4x aufgerufen)
Mit Zitat antworten
  #15 (permalink)  
Alt vor einer Woche
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 211
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gondiego Beitrag anzeigen
Danke für die Anmekungen.
Aber auch mit deinem Watcher erhalte ich nichts...
Steh ich jetzt komplett auf dem Schlauch?
Ich auch, ich habe Dir mal ein Bild angehängt wie das bei mir aussieht. Geladen: nur der VXDA1.ex4 Indikator und dann der FXDA1watcher.ex4. Sobald der zweite auf den Chart gezogen wird, erscheinen unter "Experten" die Print Meldungen. Du mußt unter "Experten" nachsehen und nicht unter "Journal". AVT
Angehängte Grafiken
Dateityp: jpg FXVDA-pic.JPG (118,0 KB, 3x aufgerufen)

Geändert von AVT (vor einer Woche um 13:27 Uhr) Grund: zusätzliche Info
Mit Zitat antworten
  #16 (permalink)  
Alt vor einer Woche
Neues Mitglied
 
Registriert seit: May 2017
Beiträge: 23
Gondiego befindet sich auf einem aufstrebenden Ast
Standard

Super, danke dir.

Hoffentlich letzte Frage, wie zu sehen ist jetzt beim zweiten kein Trend (none) vorhanden, trotz das alle rot sind. Kann es daran liegen,dass Wochenende ist? Nur zum Verständnis für mich.
Angehängte Grafiken
Dateityp: jpg Test.JPG (95,6 KB, 5x aufgerufen)
Mit Zitat antworten
  #17 (permalink)  
Alt vor 6 Tagen
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 211
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gondiego Beitrag anzeigen
Hoffentlich letzte Frage, wie zu sehen ist jetzt beim zweiten kein Trend (none) vorhanden, trotz das alle rot sind. Kann es daran liegen,dass Wochenende ist? Nur zum Verständnis für mich.
Tschuldigung, war unterwegs. Ne, eigentlich sollte der im Init schon den korrekten Wert anzeigen, aber das tut er hier selbst im OnCalculate nicht, ich krieg momentan ein "none" obwohl down ist.
Jetzt weiß ich auch nicht mehr weiter, sorry ich bin nicht nur mit meinem Latein am Ende, sondern auch mit Griechisch und Germanisch AVT
Mit Zitat antworten
  #18 (permalink)  
Alt vor 4 Tagen
Neues Mitglied
 
Registriert seit: May 2017
Beiträge: 23
Gondiego befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Tschuldigung, war unterwegs. Ne, eigentlich sollte der im Init schon den korrekten Wert anzeigen, aber das tut er hier selbst im OnCalculate nicht, ich krieg momentan ein "none" obwohl down ist.
Jetzt weiß ich auch nicht mehr weiter, sorry ich bin nicht nur mit meinem Latein am Ende, sondern auch mit Griechisch und Germanisch AVT
Oha...das heißt ja dann schon was
Dann muss ich wohl mal gucken, ob ich das irgendwie anders bewerkstelligt bekomme bzw. ob ich den Indi durch einen anderen ersetzen kann.

Trotzdem danke nochmal.

Grüße
Mit Zitat antworten
  #19 (permalink)  
Alt vor 2 Tagen
Neues Mitglied
 
Registriert seit: May 2017
Beiträge: 23
Gondiego befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Tschuldigung, war unterwegs. Ne, eigentlich sollte der im Init schon den korrekten Wert anzeigen, aber das tut er hier selbst im OnCalculate nicht, ich krieg momentan ein "none" obwohl down ist.
Jetzt weiß ich auch nicht mehr weiter, sorry ich bin nicht nur mit meinem Latein am Ende, sondern auch mit Griechisch und Germanisch AVT
@AVT, ich kann dich beruhigen, du bist nicht mit deinem Latein, Griechisch oder Germanisch am Ende...du hast einfach den Wald vor lauter Bäumen nicht mehr gesehen.

Ich bin bisher nicht dazu gekommen meinen EA live zu testen und habe bei dem auftretenden "Fehler", komischerweise, immer in meinem EA geguckt, wo der Fehler liegen könnte. Habe es da aber tatsächlich richitg geschrieben. Wenn du jetzt nochmal in deinen FXDA1watcher reingucken wirst, wirst du jetzt wahrscheinlich schnell feststellen, dass du bei beiden Bedingungen das Gleiche reingeschrieben hast

Code:
if(        ObjectGetInteger(0,Rect1Name,OBJPROP_COLOR)==UpColor
              && ObjectGetInteger(0,Rect2Name,OBJPROP_COLOR)==UpColor
              && ObjectGetInteger(0,Rect3Name,OBJPROP_COLOR)==UpColor)
              
         Trend = "up";
         
      else if(   ObjectGetInteger(0,Rect1Name,OBJPROP_COLOR)==UpColor
              && ObjectGetInteger(0,Rect2Name,OBJPROP_COLOR)==UpColor
              && ObjectGetInteger(0,Rect3Name,OBJPROP_COLOR)==UpColor)
         
         Trend = "down"
Kann dann ja logischerweise kein "down" erfüllt werden.
Funktioniert also einwandfrei

Grüße und schönen Sonntag noch
Mit Zitat antworten
  #20 (permalink)  
Alt vor 2 Tagen
AVT AVT ist offline
Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 211
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Gondiego Beitrag anzeigen
@AVT, ich kann dich beruhigen, du bist nicht mit deinem Latein, Griechisch oder Germanisch am Ende...du hast einfach den Wald vor lauter Bäumen nicht mehr gesehen.

Wenn du jetzt nochmal in deinen FXDA1watcher reingucken wirst, wirst du jetzt wahrscheinlich schnell feststellen, dass du bei beiden Bedingungen das Gleiche reingeschrieben hast

Kann dann ja logischerweise kein "down" erfüllt werden.
Funktioniert also einwandfrei
Suuuper, daß Du das gesehen hast dann ist ja meine Welt wieder im Lot! Danke und erfolgreiche nächste Woche. AVT
Mit Zitat antworten
Antwort

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 07:10 Uhr.


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