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
Wer weiß, wie man im MT4-Terminal eine Verbindung zur Systemzeit des Computers herstellt, bitte ich um Rat:
- Karten
- offene Aufträge
- Geschäftsgeschichte
- Protokolle
- Protokolle
Das Problem ist, dass die Zeit nicht synchronisiert ist.
Was könnte das Problem sein?
Guten Tag!
Ich habe einen derVolumenindikatoren als Grundlage genommen, ihn an meine Parameter angepasst und nur das Nötigste übrig gelassen, jetzt zeigt er nur die Pfeile an, die benötigt werden.
Ich schaffe es nicht, den ALERT so anzuhängen, dass beim Aufleuchten des grünen oder roten Pfeils die Meldung erscheint.
Bitte um Hilfe!
Z.U. schaute sich verschiedene Tutorials an, wie man etwas tut, das nicht funktioniert.
Guten Tag!
Ich habe einen derVolumenindikatoren als Grundlage genommen, ihn an meine Parameter angepasst und nur das Nötigste übrig gelassen, jetzt zeigt er nur die Pfeile an, die benötigt werden.
Ich schaffe es nicht, den ALERT so anzuhängen, dass beim Aufleuchten des grünen oder roten Pfeils die Meldung erscheint.
Bitte um Hilfe!
Z.U. schaute sich verschiedene Tutorials an, wie man etwas tut, das nicht funktioniert.
Fügen Sie den gesamten Code des Indikators hier ein
#Eigenschaft streng
#property indicator_chart_window
#property indicator_minimum 0
#Eigenschaft indicator_buffers 2
#property indicator_color1 Rot
#Eigenschaft indicator_color2 Lime
#Eigenschaft indicator_width1 4
#Eigenschaft indicator_width2 4
extern ENUM_APPLIED_PRICE price = PRICE_CLOSE;
extern double Overbought = 80;
extern double Oversold = 20;
extern int NumberOfBars = 500;
extern string Note = "0 bedeutet Alle Balken anzeigen";
extern int MAPeriod = 100;
extern int LookBack = 20;
extern bool Alert=True;
double red[],lime[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
int init()
{
//---- Indikatoren
SetIndexPuffer(0,rot);
SetIndexStyle(0,DRAW_ARROW, STYLE_SOLID,3);
SetIndexPfeil(0,234);
SetIndexLabel(0, "Climax High ");
SetIndexPuffer(1,lime);
SetIndexStyle(1,DRAW_ARROW, STYLE_SOLID,3);
SetIndexPfeil(1,233);
SetIndexLabel(1, "Climax Low ");
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,0);
SetIndexDrawBegin(1,0);
IndicatorShortName("MKSP_Volume" );
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Iterationsfunktion |
//+------------------------------------------------------------------+
int start()
{
double VolLowest,Range,Value2,Value3,HiValue2,HiValue3,LoValue3,tempv2,tempv3
int-Grenze;
int counted_bars=IndicatorCounted();
//---- zuletzt gezählte Takt wird nachgezählt
if(gezählte_Balken>0) gezählte_Balken--;
wenn ( Anzahl der Balken == 0 )
NumberOfBars = Bars-counted_bars;
limit=NumberOfBars; //Bars-counted_bars;
for(int i=0; i<limit; i++)
{
rot[i] = 0; lime[i] = 0;
Value2=0;Value3=0;HiValue2=0;HiValue3=0;LoValue3=99999999;tempv2=0;tempv3=0;tempv=0;
VolLowest = Volume[iLowest(NULL,0,MODE_VOLUME,20,i)];
if (Volumen[i] == VolLowest)
{
}
Bereich = (High[i]-Low[i]);
Wert2 = Volumen[i]*Bereich;
if ( Bereich != 0 )
Wert3 = Volumen[i]/Bereich;
for ( int n=i;n<i+MAPeriode;n++ )
{
tempv= Volumen[n] + tempv;
}
for ( int n=i;n<i+LookBack;n++)
{
tempv2 = Volumen[n]*((Hoch[n]-Tief[n]));
wenn ( tempv2 >= HiValue2 )
HiValue2 = tempv2;
wenn ( Volumen[n]*((Hoch[n]-Tief[n])) != 0 )
{
tempv3 = Volumen[n] / ((Hoch[n]-Tief[n]);
wenn ( tempv3 > HiValue3 )
HiValue3 = tempv3;
wenn ( tempv3 < LoValue3 )
LoWert3 = tempv3;
}
}
if ( Value2 == HiValue2 && Close[i] > (High[i] + Low[i]) / 2 )
{
rot[i] = Hoch[i]+10*Punkt;
}
wenn ( Wert3 == HiValue3 )
{
NormalizeDouble(Volumen[i],0);
rot[i]=0;
}
if ( Wert2 == HiValue2 && Wert3 == HiValue3 )
{
NormalizeDouble(Volumen[i],0);
rot[i]=0;
}
if ( Value2 == HiValue2 && Close[i] <= (High[i] + Low[i]) / 2 )
{
lime[i] = Low[i]-10*Point;
}
}
//----
//----
zurück(0);
}
//+------------------------------------------------------------------+
Und ein Bildschirmfoto
Geben Sie den gesamten Code für den Indikator hier ein.
Und ein Bildschirmfoto
{
red[i] = High[i]+10*Point;
Alert("===================");
}
if ( Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Close[i] <= (High[i] + Low[i]) / 2 )
{
lime[i] = Low[i]-10*Point;
Alert("===================");
}
{
red[i] = High[i]+10*Point;
Alert("===================");
}
if ( Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Close[i] <= (High[i] + Low[i]) / 2 )
{
lime[i] = Low[i]-10*Point;
Alert("===================");
}
#property strict
#property indicator_chart_window
#property indicator_minimum 0
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_width1 4
#property indicator_width2 4
extern ENUM_APPLIED_PRICE price = PRICE_CLOSE;
extern double Overbought = 80;
extern double Oversold = 20;
extern int NumberOfBars = 500;
extern string Note = "0 means Display all bars";
extern int MAPeriod = 100;
extern int LookBack = 20;
extern bool Alert=True;
double red[],lime[];
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0,red);
SetIndexStyle(0,DRAW_ARROW, STYLE_SOLID,3);
SetIndexArrow (0,234);
SetIndexLabel(0,"Climax High ");
SetIndexBuffer(1,lime);
SetIndexStyle(1,DRAW_ARROW, STYLE_SOLID,3);
SetIndexArrow (1,233);
SetIndexLabel(1,"Climax Low ");
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,0);
SetIndexDrawBegin(1,0);
IndicatorShortName("MKSP_Volume" );
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
int start()
{
double VolLowest,Range,Value2,Value3,HiValue2,HiValue3,LoValue3,tempv2,tempv3,tempv;
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
if ( NumberOfBars == 0 ) NumberOfBars = Bars-counted_bars;
limit=NumberOfBars; //Bars-counted_bars;
for(int i=0; i<limit; i++)
{
red[i] = 0; lime[i] = 0;
Value2=0;Value3=0;HiValue2=0;HiValue3=0;LoValue3=99999999;tempv2=0;tempv3=0;tempv=0;
VolLowest = Volume[iLowest(NULL,0,MODE_VOLUME,20,i)];
if (Volume[i] == VolLowest)
{
}
Range = (High[i]-Low[i]);
Value2 = Volume[i]*Range;
if ( Range != 0 ) Value3 = Volume[i]/Range;
for ( int n=i;n<i+MAPeriod;n++ )
{
tempv= Volume[n] + tempv;
}
for( int n=i;n<i+LookBack;n++)
{
tempv2 = Volume[n]*((High[n]-Low[n]));
if ( tempv2 >= HiValue2 )
HiValue2 = tempv2;
if ( Volume[n]*((High[n]-Low[n])) != 0 )
{
tempv3 = Volume[n] / ((High[n]-Low[n]));
if ( tempv3 > HiValue3 ) HiValue3 = tempv3;
if ( tempv3 < LoValue3 ) LoValue3 = tempv3;
}
}
if ( Value2 == HiValue2 && Close[i] > (High[i] + Low[i]) / 2 )
{
red[i] = High[i]+10*Point;
if(i==0) Alert("Вроде бы красная стрелка");
}
if ( Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Close[i] <= (High[i] + Low[i]) / 2 )
{
lime[i] = Low[i]-10*Point;
if(i==0) Alert("Вроде бы зеленая стрелка");
}}
return(0);
}
Geben Sie den Code nicht als reinen Text ein, sondern verwenden Sie ein spezielles Layout dafür.
Ich habe es nicht wirklich verstanden,
In der Regel wird ein Alarm ausgelöst, wenn es ein Signal auf dem letzten Balken (Null) gibt.
#property strict
#property indicator_chart_window
#property indicator_minimum 0
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_width1 4
#property indicator_width2 4
extern ENUM_APPLIED_PRICE price = PRICE_CLOSE;
extern double Overbought = 80;
extern double Oversold = 20;
extern int NumberOfBars = 500;
extern string Note = "0 means Display all bars";
extern int MAPeriod = 100;
extern int LookBack = 20;
extern bool Alert=True;
double red[],lime[];
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0,red);
SetIndexStyle(0,DRAW_ARROW, STYLE_SOLID,3);
SetIndexArrow (0,234);
SetIndexLabel(0,"Climax High ");
SetIndexBuffer(1,lime);
SetIndexStyle(1,DRAW_ARROW, STYLE_SOLID,3);
SetIndexArrow (1,233);
SetIndexLabel(1,"Climax Low ");
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,0);
SetIndexDrawBegin(1,0);
IndicatorShortName("MKSP_Volume" );
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
int start()
{
double VolLowest,Range,Value2,Value3,HiValue2,HiValue3,LoValue3,tempv2,tempv3,tempv;
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
if ( NumberOfBars == 0 ) NumberOfBars = Bars-counted_bars;
limit=NumberOfBars; //Bars-counted_bars;
for(int i=0; i<limit; i++)
{
red[i] = 0; lime[i] = 0;
Value2=0;Value3=0;HiValue2=0;HiValue3=0;LoValue3=99999999;tempv2=0;tempv3=0;tempv=0;
VolLowest = Volume[iLowest(NULL,0,MODE_VOLUME,20,i)];
if (Volume[i] == VolLowest)
{
}
Range = (High[i]-Low[i]);
Value2 = Volume[i]*Range;
if ( Range != 0 ) Value3 = Volume[i]/Range;
for ( int n=i;n<i+MAPeriod;n++ )
{
tempv= Volume[n] + tempv;
}
for( int n=i;n<i+LookBack;n++)
{
tempv2 = Volume[n]*((High[n]-Low[n]));
if ( tempv2 >= HiValue2 )
HiValue2 = tempv2;
if ( Volume[n]*((High[n]-Low[n])) != 0 )
{
tempv3 = Volume[n] / ((High[n]-Low[n]));
if ( tempv3 > HiValue3 ) HiValue3 = tempv3;
if ( tempv3 < LoValue3 ) LoValue3 = tempv3;
}
}
if ( Value2 == HiValue2 && Close[i] > (High[i] + Low[i]) / 2 )
{
red[i] = High[i]+10*Point;
if(i==0) Alert("Вроде бы красная стрелка");
}
if ( Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Close[i] <= (High[i] + Low[i]) / 2 )
{
lime[i] = Low[i]-10*Point;
if(i==0) Alert("Вроде бы зеленая стрелка");
}}
return(0);
}
Fügen Sie den Code nicht im Klartext in Ihre Nachrichten ein, sondern verwenden Sie das Code-Layout.
Ich habe es nicht wirklich herausgefunden,
In der Regel wird ein Alarm ausgegeben, wenn es ein Signal auf dem letzten Balken gibt, ich denke, ich habe es an die richtigen Stellen gesetzt...
#property strict
#property indicator_chart_window
#property indicator_minimum 0
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Lime
#property indicator_width1 4
#property indicator_width2 4
extern ENUM_APPLIED_PRICE price = PRICE_CLOSE;
extern double Overbought = 80;
extern double Oversold = 20;
extern int NumberOfBars = 500;
extern string Note = "0 means Display all bars";
extern int MAPeriod = 100;
extern int LookBack = 20;
extern bool Alert=True;
double red[],lime[];
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0,red);
SetIndexStyle(0,DRAW_ARROW, STYLE_SOLID,3);
SetIndexArrow (0,234);
SetIndexLabel(0,"Climax High ");
SetIndexBuffer(1,lime);
SetIndexStyle(1,DRAW_ARROW, STYLE_SOLID,3);
SetIndexArrow (1,233);
SetIndexLabel(1,"Climax Low ");
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,0);
SetIndexDrawBegin(1,0);
IndicatorShortName("MKSP_Volume" );
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
int start()
{
double VolLowest,Range,Value2,Value3,HiValue2,HiValue3,LoValue3,tempv2,tempv3,tempv;
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
if ( NumberOfBars == 0 ) NumberOfBars = Bars-counted_bars;
limit=NumberOfBars; //Bars-counted_bars;
for(int i=0; i<limit; i++)
{
red[i] = 0; lime[i] = 0;
Value2=0;Value3=0;HiValue2=0;HiValue3=0;LoValue3=99999999;tempv2=0;tempv3=0;tempv=0;
VolLowest = Volume[iLowest(NULL,0,MODE_VOLUME,20,i)];
if (Volume[i] == VolLowest)
{
}
Range = (High[i]-Low[i]);
Value2 = Volume[i]*Range;
if ( Range != 0 ) Value3 = Volume[i]/Range;
for ( int n=i;n<i+MAPeriod;n++ )
{
tempv= Volume[n] + tempv;
}
for( int n=i;n<i+LookBack;n++)
{
tempv2 = Volume[n]*((High[n]-Low[n]));
if ( tempv2 >= HiValue2 )
HiValue2 = tempv2;
if ( Volume[n]*((High[n]-Low[n])) != 0 )
{
tempv3 = Volume[n] / ((High[n]-Low[n]));
if ( tempv3 > HiValue3 ) HiValue3 = tempv3;
if ( tempv3 < LoValue3 ) LoValue3 = tempv3;
}
}
if ( Value2 == HiValue2 && Close[i] > (High[i] + Low[i]) / 2 )
{
red[i] = High[i]+10*Point;
if(i==0) Alert("Вроде бы красная стрелка");
}
if ( Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Value3 == HiValue3 )
{
NormalizeDouble(Volume[i],0);
red[i]=0;
}
if ( Value2 == HiValue2 && Close[i] <= (High[i] + Low[i]) / 2 )
{
lime[i] = Low[i]-10*Point;
if(i==0) Alert("Вроде бы зеленая стрелка");
}}
return(0);
}
Geben Sie den Code nicht als reinen Text ein, sondern verwenden Sie ein spezielles Layout dafür.
Ich habe es nicht wirklich verstanden,
In der Regel wird ein Alarm ausgelöst, wenn es ein Signal auf dem letzten Balken (Null) gibt.