[Archiv!] Ich schreibe jeden Experten oder Indikator kostenlos. - Seite 62
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Relevant... "Viel Vergnügen!"
/sicherheit-sommerurlaub-aktivierte-schüler/
Hallo!
Ich benötige einen Indikator, der auf TradeSig basiert. Seine Amplitudenskala sollte dieselbe sein wie die von Williams in %, und sein Amplitudenbereich sollte derselbe sein wie der von Williams in der Skala der Niveaus von 0% bis -100%.
P.S. Das ist notwendig, weil TradeSig sich "wegbewegt", wenn die Indikatoren übereinander gelegt werden.
Ich danke Ihnen im Voraus.
Mein Respekt.
//+------------------------------------------------------------------+
//| Multi.Period.mq4 |
//| Copyright © 2010, Vladimir Hlystov |
//| cmillion@narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Vladimir Hlystov"
#property link "http://cmillion.narod.ru"
//+------------------------------------------------------------------+
#property indicator_chart_window
#Eigenschaft indicator_buffers 8
#Eigenschaft indicator_color1 Lime
#Eigenschaft indicator_width1 1
#Eigenschaft indicator_color2 Lime
#Eigenschaft indicator_width2 1
#Eigenschaft indicator_color3 Blau
#Eigenschaft indicator_width3 1
#Eigenschaft indicator_color4 Blau
#Eigenschaft indicator_width4 1
#property indicator_color5 Grün
#Eigenschaft indicator_width5 1
#property indicator_color6 Grün
#Eigenschaft indicator_width6 1
#property indicator_color7 Rot
#Eigenschaft indicator_width7 1
#Eigenschaft indicator_color8 Rot
#Eigenschaft indicator_width8 1
//---- Eingabeparameter
/*
PERIOD_M1 1 1 Minute
PERIOD_M5 5 5 Minuten
PERIOD_M15 15 15 Minuten
PERIOD_M30 30 30 Minuten
PERIOD_H1 60 1 Stunde
PERIOD_H4 240 4 Stunden
PERIOD_D1 1440 1 Tag
ZEITRAUM_W1 10080
ZEITRAUM_MN1 43200
*/
extern int timeframe1 = 5; //Periode. Kann einer der Diagrammzeiträume sein. 0 bedeutet die Periode des aktuellen Diagramms.
extern int timeframe2 = 15; //Periode. Kann eine der Perioden des Diagramms sein. 0 bedeutet Periode des aktuellen Diagramms
extern int timeframe3 = 30; //Periode. Kann eine der Perioden des Diagramms sein. 0 bedeutet Periode des aktuellen Diagramms
extern int timeframe4 = 60; //Periode. Kann eine der Perioden des Diagramms sein. 0 bedeutet die Periode des aktuellen Diagramms
//---- Puffer
double Puffer1[];
double Puffer2[];
double Buffer3[];;
double Buffer4[]; double Buffer5[];
double Puffer5[];
double Puffer6[];
double Puffer7[];
double Buffer8[];
//+------------------------------------------------------------------+
int init()
{
if (timeframe1<Period()) timeframe1=Period();
if (timeframe2<=timeframe1) timeframe2=next_period(timeframe1+1);
if (timeframe3<=timeframe2) timeframe3=next_period(timeframe2+1);
if (timeframe4<=timeframe3) timeframe4=next_period(timeframe3+1);
//---- Anzeigezeilen
SetIndexStyle(0,DRAW_LINE);
SetIndexPuffer(0,Puffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexPuffer(1,Puffer2);
SetIndexStyle(2,DRAW_LINE);
SetIndexPuffer(2,Puffer3);
SetIndexStyle(3,DRAW_LINE);
SetIndexPuffer(3,Puffer4);
SetIndexStyle(4,DRAW_LINE);
SetIndexPuffer(4,Puffer5);
SetIndexStyle(5,DRAW_LINE);
SetIndexPuffer(5,Puffer6);
SetIndexStyle(6,DRAW_LINE);
SetIndexPuffer(6,Puffer7);
SetIndexStyle(7,DRAW_LINE);
SetIndexPuffer(7,Puffer8);
//----
SetIndexLabel(0, "4TF "+StrPer(timeframe1)+StrPer(timeframe2)+StrPer(timeframe3)+StrPer(timeframe4));
zurück(0);
}
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
if(gezählte_Balken>0) gezählte_Balken--;
int limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
{
Puffer1[i] = iMA(NULL,timeframe1,1,0,0,2,iBarShift(NULL,timeframe1,Time[i],false));
Puffer2[i] = iMA(NULL,timeframe1,1,0,0,3,iBarShift(NULL,timeframe1,Time[i],false));
Puffer3[i] = iMA(NULL,timeframe2,1,0,0,2,iBarShift(NULL,timeframe2,Time[i],false));
Puffer4[i] = iMA(NULL,timeframe2,1,0,0,3,iBarShift(NULL,timeframe2,Time[i],false));
Puffer5[i] = iMA(NULL,timeframe3,1,0,0,2,iBarShift(NULL,timeframe3,Time[i],false));
Puffer6[i] = iMA(NULL,timeframe3,1,0,0,3,iBarShift(NULL,timeframe3,Time[i],false));
Puffer7[i] = iMA(NULL,timeframe4,1,0,0,2,iBarShift(NULL,timeframe4,Time[i],false));
Puffer8[i] = iMA(NULL,timeframe4,1,0,0,3,iBarShift(NULL,timeframe4,Time[i],false));
}
zurück(0);
}
//+------------------------------------------------------------------+
int next_period(int per)
{
wenn (per > 43200) return(0);
if (per > 10080) return(43200);
if (per > 1440) return(10080);
if (per > 240) return(1440);
if (per > 60) return(240);
if (per > 30) return(60);
if (per > 15) return(30);
if (per > 5) return(15);
if (per > 1) return(5);
if (per == 1) return(1);
if (per == 0) return(Zeitraum())
}
//+------------------------------------------------------------------+
string StrPer(int per)
{
if (per == 1) return(" M1 ");
{ if (per == 5) return(" M5 ");
if (per == 15) return(" M15 ");
if (per == 30) return(" M30 ");
if (per == 60) return(" H1 ");
if (per == 240) return(" H4 ");
if (per == 1440) return(" D1 ");
if (per == 10080) return(" W1 ");
if (per == 43200) return(" MN1 ");
return("Periodenfehler");
}
//+------------------------------------------------------------------+
Hallo geschätzte Trader. Ich habe einen sehr guten Kanalindikator, der den Trend in der Kursentwicklung sehr gut anzeigt, aber auf dem realen Konto überzeichnet er. Wenn Sie nicht wissen, wie man es benutzt, können Sie fragen: Welches der folgenden Paare ist am besten geeignet? Ich werde sehr dankbar sein.
Es wäre fantastisch, wenn es so geschrieben wäre, dass es den Kanal bei echten Zitaten so zeichnen würde, wie es in der Kursgeschichte getestet wird. 100% Gral.
Was meinen Sie mit "echten Zitaten" - Zitate, die es noch nicht gibt, oder Zitate, die kurz vor der Veröffentlichung stehen?
Der Indikator erstellt einen Kanal auf der Grundlage der aktuell verfügbaren Kurse.
Wenn neue Angebote eintreffen, ändert sich der Kanal - verengt sich, erweitert sich - weil sich die Situation ändert.
oder ist sie unklar?
Es wäre fantastisch, wenn es so geschrieben wäre, dass es einen Kanal auf echte Zitate zieht, so wie es auf die Geschichte der Zitate getestet wird. 100% Gral.
Sie müssen nur verstehen, dass Ihr EA mit der Geschwindigkeit der ältesten TF arbeiten sollte.
Der Expert Advisor sollte Zeitdaten von dem Balken erhalten, der bereits auf dem ältesten Zeitrahmen aufgezeichnet wurde.
Dann wird Ihr Expert Advisor keine Probleme mit Signalüberschwingungen haben.
Hallo! Im Indikator erscheinen die Signale auf dem Balken zur Zeit des Balkens ZZ, auf dem funktionierenden ist alles korrekt.
Beschlossen, die älteren TF (Arbeits M30, H1), indem Sie die TF-Parameter ... kludah kam heraus (die Signale sind nicht auf diesen Bars, und die falsche Anzeige Strahl)
Wo habe ich Mist gebaut?...bitte beraten Sie mich...danke im Voraus!!!
//+------------------------------------------------------------------+
//| Dinapoli ZZ (ZigZag).mq4 |
//| umgeschrieben von CrazyChart |
//| |
//+------------------------------------------------------------------+
#property copyright "rewritten by CrazyChart"
#property link ""
#property indicator_chart_window
#Eigenschaft indicator_buffers 5
#property indicator_color1 Rot
#Eigenschaft indicator_color2 Gelb
#Eigenschaft indicator_color3 Aqua
#property indicator_color4 Grün
#property indicator_color5 Orchidee
//---- Eingabeparameter
extern int barn=1000;
extern Länge=6;
extern inttern TF = 0;
//---- Puffer
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
//double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
//---- Indikatoren
SetIndexEmptyValue(0,0.0);
SetIndexStyle(0,DRAW_SECTION);
SetIndexPuffer(0,ExtMapPuffer1);
SetIndexStyle(1,DRAW_ARROW);
SetIndexPfeil(1,159);
SetIndexPuffer(1,ExtMapPuffer2);
SetIndexStyle(2,DRAW_ARROW);
SetIndexPfeil(2,159);
SetIndexPuffer(2,ExtMapPuffer3);
SetIndexStyle(3,DRAW_ARROW);
SetIndexPfeil(3,186);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexStyle(4,DRAW_ARROW);
SetIndexPfeil(4,187);
SetIndexPuffer(4,ExtMapPuffer5);
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Funktion zur Deinitialisierung des Custor-Indikators |
//+------------------------------------------------------------------+
int deinit()
{
zurück(0);
}
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Iterationsfunktion |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int shift,Swing,Swing_n,i,uzl,zu,zd,mv;
doppelt LL,HH,BH,BL,NH,NL,shf;
double Uzel[10000][3];
String-Text;
// Schleife vom ersten Takt bis zum aktuellen Takt (mit Shift=0).
Swing_n=0;Swing=0;uzl=0;
BH=iHigh(NULL, TF, barn);BL=iLow(NULL, TF, barn);zu=barn;zd=barn;
for (shift=barn;shift>=0;shift--) {
ExtMapBuffer2[shift]=EMPTY_VALUE;
ExtMapBuffer3[shift]=EMPTY_VALUE;
ExtMapBuffer4[shift]=EMPTY_VALUE;
ExtMapBuffer5[shift]=EMPTY_VALUE;
shf=0,2;
LL=10000000;HH=-100000000;
for (i=shift+Length;i>=shift+1;i--) {
if (iLow(NULL, TF,i)< LL) {LL=iLow(NULL, TF,i);}
wenn (iHigh(NULL, TF,i)>HH) {HH=iHigh(NULL, TF,i);}
}
if (iLow(NULL, TF,shift)<LL && iHigh(NULL, TF,shift)>HH){
Schwung=2;
if (Swing_n==1) {zu=shift+1;}
if (Swing_n==-1) {zd=shift+1;}
} sonst {
if (iLow(NULL, TF,shift)<LL) {Swing=-1;}
wenn (iHigh(NULL,TF,shift)>HH) {Swing=1;}
}
if (Swing!=Swing_n && Swing_n!=0) {
wenn (Swing==2) {
Swing=Swing_n;BH = iHigh(NULL, TF,shift);BL = iLow(NULL, TF,shift);
}
uzl=uzl+1;
//tiefer Punkt
wenn (Swing==1) {
Uzel[uzl][1]=zd;
Uzel[uzl][2]=BL;
ExtMapBuffer2[shift]=BL;
Print("ExtMapBuffer2[shift] ", ExtMapBuffer2[shift];
ExtMapBuffer5[shift+3]=BL;
}
//Höhepunkt
wenn (Swing==-1) {
Uzel[uzl][1]=zu;
Uzel[uzl][2]=BH;
ExtMapBuffer3[shift]=BH;
ExtMapBuffer4[shift+1]=BH+shf;
Print("ExtMapBuffer3[shift] ", ExtMapBuffer3[shift];
}
BH = iHigh(NULL, TF,shift);
BL = iLow(NULL, TF,shift);
}
wenn (Swing==1) {
wenn (iHigh(NULL,TF,shift)>=BH) {BH=iHigh(NULL,TF,shift);zu=shift;}}
wenn (swing==-1) {
if (iLow(NULL, TF,shift)<=BL) {BL=iLow(NULL, TF,shift); zd=shift;}}
Schaukel_n=Schaukel;
}
for (i=1;i<=uzl;i++) {
mv=StrToInteger(DoubleToStr(Uzel[i][1],0));
ExtMapBuffer1[mv]=Uzel[i][2];
// Print("Parameter MV ", ExtMapBuffer1[mv];
}
zurück(0);
}
//+------------------------------------------------------------------+
Ich bitte um Hilfe bei der Erstellung eines Indikators.
Ich brauche einen Indikator oder ein Skript zu schreiben (was wird funktionieren und wie ist besser), die die mögliche Umkehrung der Preis auf der Grundlage der Geschichte zeigen würde.
Die Aufgabenbeschreibung befindet sich in der beigefügten Datei.
Ich danke Ihnen im Voraus.
Mit freundlichen Grüßen Kirill.
Wenn Sie Fragen haben, schreiben Sie bitte an onepips@bk.ru