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.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3872
Beiträge: 37205
Benutzer: 6.156
Aktive Benutzer: 437
Links: 80
Wir begrüßen unseren neuesten Benutzer: kraus10
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 11 Stunden
- kraus10
vor 18 Stunden
- ultragrass...
vor einem Tag
- shanmughav...
vor 3 Tagen
- Aline
vor 4 Tagen
- GPCecchett...

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

Empfehlungen

Werbung

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 4 Wochen
Ceo Ceo ist offline
Neues Mitglied
 
Registriert seit: Jan 2018
Beiträge: 17
Ceo befindet sich auf einem aufstrebenden Ast
Question Kerze % und Pips

Hallo, ich brauch mal Hilfe und zwar hab ich 2 Probleme.

1. Ich möchte nur Kerzen als Signalgeber die größer als 30 Pips sind wie setzte ich das um?

2. Kann man irgendwie bestimmen wo die Mitte einer Kerze ist?
z.b. ist die aktuelle Kerze oberhalb der 50% der letzten Kerze ist es ein Kaufsignal.
Mit Zitat antworten
  #2 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: May 2015
Beiträge: 271
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Ceo Beitrag anzeigen
1. Ich möchte nur Kerzen als Signalgeber die größer als 30 Pips sind wie setzte ich das um?
Eröffnungskurs - Schlusskurs/Aktuellen Kurs, bzw. umgekehrt (Einheit anpassen...)
Zitat:
Zitat von Ceo Beitrag anzeigen
2. Kann man irgendwie bestimmen wo die Mitte einer Kerze ist?
z.b. ist die aktuelle Kerze oberhalb der 50% der letzten Kerze ist es ein Kaufsignal.
Ergebnis von Punkt 1 durch 2 und dann den entsprechenden Kurs ermitteln. Dann schauen, in welchen 50% die aktuelle Kerze beginnt...
Mit Zitat antworten
  #3 (permalink)  
Alt vor 3 Wochen
Ceo Ceo ist offline
Neues Mitglied
 
Registriert seit: Jan 2018
Beiträge: 17
Ceo befindet sich auf einem aufstrebenden Ast
Standard

Könntest du mir vielleicht helfen mit welchen Befehlen ich Arbeiten muss? Hab da nämlich überhaupt keine Vorstellung, habe schon in Mql4 geschaut aber nicht wirklich was gefunden.
Mit Zitat antworten
  #4 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: May 2015
Beiträge: 271
next user befindet sich auf einem aufstrebenden Ast
Standard

Muss mogen früh raus, werd daher gleich schlafen gehen.
Morgen werde ich etwas umfangreicher antworten, sofern da kein anderer postet...

Du kannst auch vordefinierte Variablen verwenden, um die Kurse und Berechnungen zu ermitteln...
Mit Zitat antworten
  #5 (permalink)  
Alt vor 3 Wochen
Ceo Ceo ist offline
Neues Mitglied
 
Registriert seit: Jan 2018
Beiträge: 17
Ceo befindet sich auf einem aufstrebenden Ast
Standard

Also ich hab mal geschaut und folgendes gefunden zu einem Problem.

double x = Open[1];
double z = Close[1];

Jetzt nur zusammen rechnen mit: x + z/2

Nur ist jetzt die frage wie gebe ich das Ergebnis richtig aus also wo kann ich es reinschreiben da hängt es noch.
Mit Zitat antworten
  #6 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: May 2015
Beiträge: 271
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Ceo Beitrag anzeigen
double x = Open[1];
double z = Close[1];

Jetzt nur zusammen rechnen mit: x + z/2
1. Bitte benutze zum Posten von Code den entsprechenden Tag im Editor (#).
2. Nicht ganz. Du musst ja auch den Kerzentyp beachten.

Mal ein kleines Beispiel...
Code:
int multi = 0;

if(Digits == 5)
   multi = 10000;
else if(Digits == 3)
   multi = 100;

double open = Open[1];
double close = Close[1];
double size, middle;

string finalText = "Größe: ";

if(open > close)
   {
      size = open - close;
      finalText += DoubleToString(size*multi, 1);
      middle = open - size/2;
   }
else
   {
      size = close - open;
      finalText += DoubleToString(size*multi, 1);
      middle = open + size/2;
   }
   
finalText += " Pips | Mitte: "+DoubleToString(middle, Digits);
   
MessageBox(finalText);

// Dann mit den Werten weiter arbeiten, um deinen zweiten Punkt umzusetzen.
// Da müssen allerdings noch konkrete Bedingungen definiert werden!
// ...
Um die Sache mit den 50% und Kaufsignal umzusetzen, musst du erstmal konkretere Bedingungen definieren.

Zitat:
Zitat von Ceo Beitrag anzeigen
Nur ist jetzt die frage wie gebe ich das Ergebnis richtig aus also wo kann ich es reinschreiben da hängt es noch.
"Reinschreiben" hört sich so an, als ob du überhaupt nicht weist, was du da machst.
Du wolltest doch Werte ermitteln, Berechnungen tätigen und auf deren Auswertung reagieren.
So hört es sich an, als bist du grad bei einer Matheaufgabe und dein EA soll das Ergebnis ausgeben...
Mit Zitat antworten
  #7 (permalink)  
Alt vor 3 Wochen
Ceo Ceo ist offline
Neues Mitglied
 
Registriert seit: Jan 2018
Beiträge: 17
Ceo befindet sich auf einem aufstrebenden Ast
Standard

Ja ich hab mich etwas falsch ausgedrückt. Aber so wie du es geschrieben hast klappt es super. Ich hätte nur eine kleine Frage noch.

Wenn ich ein Signal im 4H Chart noch haben will wäre es so richtig oder:


Code:
if(middle = PERIODEH4 > Open[0]
             {
                 Comment("Kaufen")
              }

Es zeigt mir zwar im Chart "kaufen" an aber im Compiler zeigt es eine Warnung:expression not boolean
Mit Zitat antworten
  #8 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: May 2015
Beiträge: 271
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Ceo Beitrag anzeigen
Code:
if(middle = PERIODEH4 > Open[0]
             {
                 Comment("Kaufen")
              }
Zunächst einmal müsste am Ende der if-Zeile noch die schließende Klammer hin.
Mit einer If-Afrage fragst du, ob etwas "wahr" oder "unwahr" ist. In deinem Fall hier sind allerdings folgende Punkte falsch:
  • Eine ZUWEISUNG (ein! Gleichheitszeichen) hat in einem If in der Regel nichts zu suchen. Es gibt Ausnahmen, aber selten und unnötig.
  • PERIODEH4 soll wohl PERIOD_H4 heißen.
  • Hier passiert folgendes:
    • Du fragst, ob PERIOD_H4 (Ganzzahl) größer ist als Open[0] (Gleitpunktzahl).
    • Trifft das zu, erhälst du "True (1)", ansonsten "False (0)".
    • Dein Warnhinweis sagt aus, das du jetzt dieses Ergebnis (True / False), also ein legitimes If-Ergebnis (bool-Statement) einer Int-Variablen ("middle =") zuordnest.
    • Wie bereits gesagt, ein If fragt ab, ob etwas wahr / unwahr ist (die "Bool-Werte" True / False). Du gibst dem If aber eine Variable vom Typ Int, daher der Hinweis.
  • Die Variable "middle" ist weder für diese Zuweisung gedacht, noch gehört sie in ein If für dein H4-Vorhaben

Zitat:
Zitat von Ceo Beitrag anzeigen
Wenn ich ein Signal im 4H Chart noch haben will ...
Wenn du zusätzlich mit Werten einer anderen Zeiteinheit als der momentanen arbeiten willst, so benutze die Funktionen mit dem "i" davor:
Code:
// Aufbau Parameter: Symbol, Zeiteinheit, Kerze

string SYM = Symbol();

double openH4 = iOpen(SYM,PERIOD_H4,0);
double closeH4 = iClose(SYM,PERIOD_H4,0);
Und dann entsprechend die If-Abfragen wie zuvor...
Mit Zitat antworten
  #9 (permalink)  
Alt vor 3 Wochen
Ceo Ceo ist offline
Neues Mitglied
 
Registriert seit: Jan 2018
Beiträge: 17
Ceo befindet sich auf einem aufstrebenden Ast
Standard

Also erstmal vielen Dank das du es auch erklärst, ich saß jetzt vor dem Pc und hab nur Ah gemacht. Jetzt hab ich es verstanden (bzw. mql4) und mein Wissen erweitert. Dankeschön
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bars, kerze, prozent


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 +1. Es ist jetzt 01:24 Uhr.



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