Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Trendlinie im Strategietester (http://www.expert-advisor.com/forum/showthread.php?t=6329)

Hippo25 03.02.19 11:06

Trendlinie im Strategietester
 
Hallo Leute

Ich Habe mir mal eine Art Trendlinie Programmiert. Sie soll verhindern das bei einer Buy Order zu Hoch gekauft wird. Außerdem soll Sie Die High und Low Linie in den Chart einzeichnen. Das tut sie aber nicht.

PHP-Code:

//  Trendlinie.mq4 |


// Daten für Trendlinie 
input int TrendAn0;
input int TrendStartkerze1;
input int TrendEndkerze=60;
input int TrendAnzahlkerzen18;
input int TrendAbstand=10;
int Trendkerze1;
double TrendWert1
datetime TrendDate1
int Trendkerze2;
double TrendWert2 ;
datetime TrendDate2

int Trendlowkerze1;
double TrendlowWert1 ;
datetime TrendlowDate1
int Trendlowkerze2;
double TrendlowWert2 ;
datetime TrendlowDate2

double TrendaenderungsWert1 
double TrendlowaenderungsWert1 
double TrendDiverenzwert;
double TrendMaximumwert;
double Trend;
double Trend2;
double Trendlow2;
int Trendkaufen;
// Trendlinie ende---------------------------------------------------------------
void OnTick()
    
  {
  
ObjectDelete("Trend2");
  
ObjectDelete("TrendLow2");
TrendWert1 =iHigh(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,TrendAnzahlkerzen,TrendStartkerze));
Trendkerze1=iHighest(NULL,PERIOD_M1,MODE_HIGH,TrendAnzahlkerzen,TrendStartkerze);
TrendDate1=Time[Trendkerze1];
TrendWert2 =iHigh(NULL,PERIOD_M1,iHighest(NULL,PERIOD_M1,MODE_HIGH,TrendAnzahlkerzen,TrendEndkerze));
Trendkerze1=iHighest(NULL,PERIOD_M1,MODE_HIGH,TrendAnzahlkerzen,TrendEndkerze);
TrendDate2Time[Trendkerze2];

ObjectCreate(Trend2OBJ_TREND0TrendDate2,TrendWert2TrendDate1TrendWert1);

TrendlowWert1 =iLow(NULL,PERIOD_M1,iLowest(NULL,PERIOD_M1,MODE_LOW,TrendAnzahlkerzen,TrendStartkerze));
Trendlowkerze1=iLowest(NULL,PERIOD_M1,MODE_LOW,TrendAnzahlkerzen,TrendStartkerze);
TrendlowDate1=Time[Trendlowkerze1];
TrendlowWert2 =iLow(NULL,PERIOD_M1,iLowest(NULL,PERIOD_M1,MODE_LOW,TrendAnzahlkerzen,TrendEndkerze));
Trendlowkerze1=iLowest(NULL,PERIOD_M1,MODE_LOW,TrendAnzahlkerzen,TrendEndkerze);
TrendlowDate2Time[Trendlowkerze2];

ObjectCreate(Trendlow2OBJ_TREND0TrendlowDate2,TrendlowWert2TrendlowDate1TrendlowWert1);

TrendaenderungsWert1=(TrendWert2-TrendWert1);
TrendlowaenderungsWert1 =(TrendlowWert2-TrendlowWert1);
TrendDiverenzwert=  TrendWert2-TrendlowWert2;
TrendMaximumwert=TrendWert2-(TrendDiverenzwert/100*TrendAbstand);
if(
Ask <TrendMaximumwert) { Trendkaufen=1;}      
       else 
Trendkaufen=0;
if(
TrendAn==0) { Trendkaufen=1;}         
   
Comment (
       
              
"TrendAn: ",TrendAn,"\n"
               "TrendWert1: "
,TrendWert1,"\n"
               "Trendkerze1: "
,Trendkerze1,"\n"
               "TrendDate1: "
,TrendDate1,"\n"
               "TrendWert1: "
,TrendWert1,"\n"
               "TrendWert2: "
,TrendWert2,"\n"    
               "TrendDate2: "
,TrendDate2,"\n"
               "TrendLOWWert1: "
,TrendlowWert1,"\n"
               "TrendLOWkerze1: "
,Trendlowkerze1,"\n"
               "TrendLOWDate1: "
,TrendlowDate1,"\n"
               "TrendLOWWert1: "
,TrendlowWert1,"\n"
               "TrendLOWWert2: "
,TrendlowWert2,"\n"    
               "TrendLOWDate2: "
,TrendlowDate2,"\n"
               "TrendDiverenzwert: "
,TrendDiverenzwert,"\n"    
               "TrendMaximumwert: "
,TrendMaximumwert,"\n"
               "Ask: "
,Ask,"\n"
               "Trendkaufen: "
,Trendkaufen,"\n"
               
);
  } 

Die frage ist jetzt, Funktioniert dies nur im Strategietester nicht oder hab ich einen Fehler drin.



Gruss Hippo

Hippo25 04.02.19 08:48

Trendlinie im Strategietester und im Chart
 
Also seit heute Morgen wies ich das er auch nicht im Normalbetrieb funktioniert.

Vieleicht könnt ihr mir sagen was ich Falsch habe

ObjectCreate (funktion )

(Trend2, ( Name )
OBJ_TREND, ( Trendlinie Zeichnen )
0, ( Aktuelles Chartfenster )
TrendDate2, ( Start der Linie)
TrendWert2, (Startwert )
TrendDate1, ( Ende der Linie)
TrendWert1); (Endwert )

Könnte es an der Ermittlung der Start.- und EndZeit durch Time liegen?

Danke im Voraus
Hippo


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:46 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum