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

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Indikatoren (http://www.expert-advisor.com/forum/forumdisplay.php?f=24)
-   -   Hilfe, wie kann ich den Indikator verschieben? (http://www.expert-advisor.com/forum/showthread.php?t=1304)

korak 11.02.11 15:41

Hilfe, wie kann ich den Indikator verschieben?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich bin neu hier und hoffe, dass jemand mir helfen kann. Bis jetzt habe ich ein Konto bei CMC und FX Flat, bei beiden habe ich gute Erfahrungen mit dem Indikator: Linear Regression (14,1) gemacht. Da ich in automatischen Handel einsteigen möchte habe ich jetzt den Broker gewechselt um mit Meta Trader4 handeln zu können. Leider stelle ich fest, dass der Indikator Linear Regression (14,1) für MT4 nirgendwo zu finden ist, ich habe schon wirklich eine ganze Menge durchgesucht und ausprobiert, leider ohne Erfolg.
14 im Klammern bedeutet Periode und solchen Indikator findet man überall
1 im Klammern bedeutet Verschiebung und solchen Indikator für MT4 gibts nicht.
Diese Verschiebung bedeutet, dass der Indikator bei 1 Stunden Chart um 1 Stunde nach Rechts verschoben ist.
Hier das Beispiel:
Linear Regression (14,1)
http://www7.pic-upload.de/11.02.11/6v6ilmjyqj9w.jpg
und Linear Regression (14,0)
http://www7.pic-upload.de/11.02.11/7utpwdpbjpzp.jpg

Meine Frage, weiß jemannd was man im Quellcode ändern muß um den Chart um 1 Stunde zu verschieben? Und selbstverständlich so zu verschieben, dass nicht nur das Indikatorenbild verschoben wird, sondern auch die Indikatorenwerte die man dann für das Handeln ausliest.
Hier der Quellcode für die Linear Regression ohne Verschiebung:

//+------------------------------------------------------------------+
//| Linear Regression Line.mq4 |
//+------------------------------------------------------------------+
#property copyright "MetaTrader 4"
#property link "http://metatrader.com"
//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property indicator_width1 2
//---- input parameters
extern int LRLPeriod=21;
//---- buffers
double LRLBuffer[];

int shift=0;
int n=0;
double sumx=0, sumy=0, sumxy=0, sumx2=0, sumy2=0;
double m=0, yint=0, r=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,LRLBuffer);
IndicatorDigits(Digits);
if(LRLPeriod < 2) LRLPeriod = 2;
IndicatorShortName("Linear Regression Line ("+LRLPeriod+")");
SetIndexDrawBegin(0,LRLPeriod+2);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+4 );
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Linear Regression Line |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars<0) counted_bars=0;
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

for(int shift=limit-1; shift>=0; shift--)
{
sumx = 0;
sumy = 0;
sumxy = 0;
sumx2 = 0;
sumy2 = 0;
for(n = 0; n <= LRLPeriod-1; n++)
{
sumx = sumx + n;
sumy = sumy + Close[shift + n];
sumxy = sumxy + n * Close[shift + n];
sumx2 = sumx2 + n * n;
sumy2 = sumy2 + Close[shift + n] * Close[shift + n];
}
m=(LRLPeriod*sumxy-sumx*sumy)/(LRLPeriod*sumx2-sumx*sumx);
yint=(sumy+m*sumx)/LRLPeriod;
r=(LRLPeriod*sumxy-sumx*sumy)/MathSqrt((LRLPeriod*sumx2-sumx*sumx)*(LRLPeriod*sumy2-sumy*sumy));
LRLBuffer[shift]=yint-m*LRLPeriod;
}
return(0);
}
//+------------------------------------------------------------------+


Danke voraus
korak

Bohne 12.02.11 16:09

hab jetzt mal einfach so drauf geschaut versuch mal dieses hier...

//+------------------------------------------------------------------+
//| Linear Regression Line.mq4 |
//+------------------------------------------------------------------+
#property copyright "MetaTrader 4"
#property link "http://metatrader.com"
//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property indicator_width1 2
//---- input parameters
extern int LRLPeriod=21;
//---- buffers
double LRLBuffer[];

extern int shift=0; // den wert kannst du dann beliebig ändern, verusch mal und sag bescheid ob es geklappt hat...
int n=0;
double sumx=0, sumy=0, sumxy=0, sumx2=0, sumy2=0;
double m=0, yint=0, r=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+

korak 13.02.11 11:45

Hallo Bohne,
danke für die Idee, leider funktioniert nicht. Egal was ich unter shift eintrage der Indikatorbild ändert sich nicht.
Grüßr
korak


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:51 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