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: 3580
Beiträge: 35488
Benutzer: 5.684
Aktive Benutzer: 653
Links: 80
Wir begrüßen unseren neuesten Benutzer: hesm
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 11 Stunden
- hesm
vor 11 Stunden
- Plüschtier
vor 2 Tagen
- just4me
vor 2 Tagen
- MarioM
vor 2 Tagen
- TurtleTrad...

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

Empfehlungen

Werbung

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 13.09.16
Neues Mitglied
 
Registriert seit: Sep 2015
Beiträge: 21
skynat befindet sich auf einem aufstrebenden Ast
Standard Parabolics zählen

Moin, ich habe irgendwie einen Denkfehler.

Ich versuche die Punkte des Parabolic SAR rückwärts zu zählen und mit innerhalb dieser Range den Höchst- bzw. Tiefstkurs ausgeben zu lassen.

Ich habe das mit einer for Schleife probiert (wird nachgereicht da ich aktuell an einem anderen Rechner sitze) und bekomme auch einen Wert zurück. Allerdings das Allzeittief - für mich leider unnütz.
Jetzt grübel ich schon eine Weile darüber und daher meine Frage:

lässt sich das überhaupt mit nur einer Schleife realisieren, oder brauche ich eine um den Shift der Parabolics hochzuzählen (beispielsweise solange sie über dem kurs sind) und dann eine die genau diese Anzahl an Kerzen zurückzählt und mir daraus den Kurs ausgibt?


LG
  #2 (permalink)  
Alt 13.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 545
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Shift?
  #3 (permalink)  
Alt 13.09.16
Neues Mitglied
 
Registriert seit: Sep 2015
Beiträge: 21
skynat befindet sich auf einem aufstrebenden Ast
Standard

ja der Versatz nach hinten - Standard ist 0 das wäre die aktuelle kerze - 1 ist eine davor usw

Code:
double  iSAR(
   string       symbol,            // symbol
   int          timeframe,         // timeframe
   double       step,              // price increment step - acceleration factor
   double       maximum,           // maximum value of step
   int          shift              // shift
   );
  #4 (permalink)  
Alt 13.09.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 197
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

Versteh ich das richtig, Du willst den Höchst- oder Tiefpunkt des PSAR bis der Punkt umschaltet von über dem Kurs stehend auf unter dem Kurs stehend?
Das geht schon mit einer Schleife rückwärts (shift) die abgebrochen wird bis ein Wechsel Kurs > iSAR auf Kurs<iSAR erfolgt und umgekehrt.

Hab das jetzt bestimmt nicht richtig verstanden aber lade mal den Teil von Deinem Code hoch.
  #5 (permalink)  
Alt 13.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 545
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Was willst Du beim PS mit Shift? 1. ist er schnell genug 2. Wirds nicht funktionieren. Ist nur optisch von Vorteil. Wie bei MAs. Kann nen EA
nix mit anfangen.
  #6 (permalink)  
Alt 13.09.16
Neues Mitglied
 
Registriert seit: Sep 2015
Beiträge: 21
skynat befindet sich auf einem aufstrebenden Ast
Standard

So jetzt zur verdeutlichung

auf dem bild ist ein standard parabolic zu sehen mit einem standardkurs (eurusd in diesem fall)

jetzt möchte ich, für die spanne in der die parabolic sar punkte über dem kurs sind, das niedrigste tief haben

Code:
//---longsignale
while(psar_gruen>Close[1]) //Solange rot über grün ist und der letzte close unter beiden
{
   //double Buffer=0;
   
   for(double lowest=Low[0];ipsar_gruen>Close[1];iShift++)
   {
   if (lowest>Low[iShift])
         lowest=Low[iShift];
   
   Print ("long" +lowest);
   
   
   }
das war mein kläglicher versuch von heute morgen
dieser gibt mir allerdings das allzeit tief heraus - vermutlich weil ich keine richtige austiegsregel habe - im nachhinein ist mir klar, dass ipsar (die grünen punkte) immer true ist. ipsar sind übrigens punkte die ich beim experimentieren angelegt habe - sind die gleichen wie auf dem bild - daher auch die beiden schleifen - war mehr ein akt der verzweifelung

//EDIT
ja shift war ebenfalls ein denkfehler - hatte es mit dem [1] verwechselt von arrays
Angehängte Grafiken
Dateityp: png screenmt4.PNG (25,4 KB, 2x aufgerufen)
  #7 (permalink)  
Alt 14.09.16
Neues Mitglied
 
Registriert seit: Sep 2015
Beiträge: 21
skynat befindet sich auf einem aufstrebenden Ast
Standard

da ich den edit-button vermisse...

ich bin gerade über iHighest und iLowest gestolpert. das vereinfacht die sache - somit brauche ich eigentlich nur noch zurückzählen bis zu der kerze an der die parabolics umschlugen und für diesen bereich die werte auslesen lassen

Code:
//---shortsignale
//---zurückverfolgen wo die psar umgeschwenkt haben von oben nach unten und bis zu dem punkt zurück mit ilowest den wert ermitteln

for(int i=0;psar_rot<Close[i];i++)
{
s_index=i;
}

double s_high=iHighest(NULL,TimeFrame,MODE_HIGH,s_index,1);
Print("Short "+s_high);

//--longsignale
//---zurückverfolgen wo die psar umgeschwenkt haben von unten nach oben und bis zu dem punkt zurück mit ihighes den wert ermitteln
for (int i=0;psar_rot>Close[i];i++)
{
l_index=i;
}

double l_low=iLowest(NULL,TimeFrame,MODE_LOW,l_index,1);
Print("Long "+l_low);
das ist mein aktueller stand - allerdings bekomme ich nun komische werte:
short = 4561
long = 16

ist nun aber auch dolle spät
  #8 (permalink)  
Alt 14.09.16
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 545
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Bei iHighest/iLowest musst Du mehrere Bars lassen. Keine Ahnung wie
viele, aber 1 am Ende wird nix bringen.
  #9 (permalink)  
Alt 14.09.16
Neues Mitglied
 
Registriert seit: Sep 2015
Beiträge: 21
skynat befindet sich auf einem aufstrebenden Ast
Standard

Code:
int  iLowest( 
   string           symbol,          // symbol 
   int              timeframe,       // timeframe 
   int              type,            // timeseries id 
   int              count,           // count 
   int              start            // starting index 
  );
das habe ich jetzt so verstanden, dass er bei 1 anfängt (also die vorhergehende kerze) und dann um "count" zurückzählt und aus dieser range mir das tief ausgibt

habe es rausgefunden - ich dussel habe das falsche ausgeben lassen - iLowest gibt nur die Bar zurück in der der Preis ist. Ich muss dann noch mit Low bzw High und dem entsprechenden index
ausgeben

allerdings habe ich jetzt ein phänomen:
bei den üblichen paaren funktioniert das gut und wird richtig ausgegeben.
bei paaren mit weniger nachkommastellen allerdings (bspw USDJPY) wird wieder ein anderes Hoch oder Tief ausgegeben
im iLowest oder iHighest finde ich allerdings nicht viel dazu

Geändert von skynat (14.09.16 um 12:04 Uhr)
  #10 (permalink)  
Alt 14.09.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.736
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@MA-EA, dasselbe Defizit wie vorher, erst die Funktion nachlesen und verstehen, dann schreiben.
@skynat, die Funktion iHighest() und iLowest() gibt den Index der Kerze aus, welche das höchste Hoch bzw. tiefste Low besitzt, in der Suche beginnend mit dem Index der Kerze, deren Wert als letzte Variable angeben wurde und dann count Kerzen nach links. Begonnen werden kann auch mit 0 oder eben auch mit Kerzen, die (viel) weiter links liegen.
Richtigerweise hast Du dann noch herausbekommen, dass dieser Rückgabewert ein Integer ist und damit nicht das tatsächliche HH bzw. LL darstellt. Diese wären dann durch High[x] bzw. Low[x] zu ermitteln.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
mql4, parabolic sar, parabolic sar punkte, programmierung, programmierung metatrader, schleife


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



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