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 TrendAn= 0;
input int TrendStartkerze= 1;
input int TrendEndkerze=60;
input int TrendAnzahlkerzen= 18;
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);
TrendDate2= Time[Trendkerze2];
ObjectCreate(Trend2, OBJ_TREND, 0, TrendDate2,TrendWert2, TrendDate1, TrendWert1);
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);
TrendlowDate2= Time[Trendlowkerze2];
ObjectCreate(Trendlow2, OBJ_TREND, 0, TrendlowDate2,TrendlowWert2, TrendlowDate1, TrendlowWert1);
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.