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: 4973
Beiträge: 43248
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Like Tree1Likes
  • 1 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 19.05.16
Neues Mitglied
 
Registriert seit: Mar 2016
Beiträge: 11
Bw-Man befindet sich auf einem aufstrebenden Ast
Standard 52 Wochen Hoch

Hi,
ich möchte in mein EA eine Art 52 Wochen Hoch mit einbauen. Er soll also z.B. wenn der Kurs über den 52 Wochen Hoch weiter geht, keine Call Order mehr öffnen.
Und wenn der der Kurs unter dem 52 Wochen Tief geht, keine Put Order mehr öffnen.
So das er immer zwischen dem Bereich bleibt.

Ich habe da 3 Optionen raus gesucht, die das machen könnten, bin mir aber nicht sicher welcher am besten dafür geeignet wäre ?

Das sind CopyHigh, iHigh und iHighest. Gibt es natürlich auch mit Low.

Wer wäre am besten dafür ?
  #2 (permalink)  
Alt 19.05.16
Mitglied
 
Registriert seit: Apr 2016
Beiträge: 45
Top-SecreT befindet sich auf einem aufstrebenden Ast
Standard

Habs zwar noch nicht benutzt aber iHighest hört sich am treffendsten an für dich.
  #3 (permalink)  
Alt 19.05.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja, definitiv iHighest() aber nur gekoppelt mit High[]:

int iHighest(
string symbol, // symbol
int timeframe, // timeframe
int type, // timeseries
int count, // cont
int start // start
);

Hiermit wird der Index der Kerze mit dem highstest High ermittelt die zwischen der Kerze mit dem Index start und von da aus gesehen count nach links gezählt (also bis zu der Kerze die die 52 Wochen darstellen) liegt.

Dieser Index ist dann in High[] einzusetzen, um den Wert des highest Highs zu ermitteln.

traderdoc
Top-SecreT likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #4 (permalink)  
Alt 23.05.16
Neues Mitglied
 
Registriert seit: Mar 2016
Beiträge: 11
Bw-Man befindet sich auf einem aufstrebenden Ast
Standard

Habe mal am WE getestet. Ich mach da was noch falsch. Er hat Fehler mit dem
"KPeriod", dann "price=High[k];" und den mag er auch nicht "HighesBuffer[i]=max;".
------------------------------------------
'KPeriod' - function can be declared only in the global scope
-------------------------------------------
'k' - integer expression expected
-------------------------------------------
'[' - array required
----------------------------------------------
Da fehlt doch bestimmt etwas ?

int iHighest(
string symbol, // symbol
int timeframe, // timeframe
int type, // timeseries
int count, // cont
int start // start
);

//--- calculating the lowest value on the 10 consequtive bars in the range
//--- from the 10th to the 19th index inclusive on the current chart
double val_high;
int val_index_high=iHighest(NULL,0,MODE_HIGH,20,4);
if(val_index_high!=-1) val_high=High[val_index_high];
else PrintFormat("Error in call iHighest. Error code=%d",GetLastError());

//---- maximums counting High
double i,k,counted_bars,price,HighesBuffer;
int KPeriod();
i=Bars-KPeriod;
if(counted_bars>KPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
double max=-1000000;
k = i + KPeriod-1;
while(k>=i)
{
price=High[k];
if(max<price) max=price;
k--;
}
HighesBuffer[i]=max;
i--;
}
  #5 (permalink)  
Alt 23.05.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Erstens ist es immer besser, den Code auch als Code hier zu schreiben. Dazu gibt es einen Button über dem Textfeld!
Zweitens ist es meistens besser, den gesamten Code zu sehen, wegen evtl. Fehlender Deklarationen, Zuweisungen, Funktionsaufrufen usw.

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

Lesezeichen

Stichworte
52 wochen hoch, copyhigh, hoch, ihigh, ihighest, mql4, programmierung, programmierung metatrader

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