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: 3366
Beiträge: 33881
Benutzer: 5.355
Aktive Benutzer: 613
Links: 79
Wir begrüßen unseren neuesten Benutzer: romahanover
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 6 Stunden
- romahanove...
vor 18 Stunden
- thaiquocba...
vor 18 Stunden
- patte
vor einem Tag
- boomo
vor einem Tag
- swiftusa

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 36
Gesamt: 37
Team: 0
Team:  
Benutzer:  kamü
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
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
Mit Zitat antworten
  #2 (permalink)  
Alt 13.09.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 412
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Shift?
Mit Zitat antworten
  #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
   );
Mit Zitat antworten
  #4 (permalink)  
Alt 13.09.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 193
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.
Mit Zitat antworten
  #5 (permalink)  
Alt 13.09.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 412
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.
Mit Zitat antworten
  #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)
Mit Zitat antworten
  #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
Mit Zitat antworten
  #8 (permalink)  
Alt 14.09.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 412
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.
Mit Zitat antworten
  #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)
Mit Zitat antworten
  #10 (permalink)  
Alt 14.09.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
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.
Mit Zitat antworten
Antwort

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



-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2016 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2016 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------