Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Lütfen bana kim bilir - MT4 terminalindeki bilgisayarın sistem saatine göre nasıl bağlanacağını söyleyin:
- çizelgeler
- açık siparişler
- işlem geçmişi
- dergiler
- kütükler
Sorun şu ki, zaman uyumsuz.
Sorun ne olabilir?
Tünaydın!
Hacim göstergelerinden birini temel aldım, parametrelerime uyacak şekilde değiştirdim, sadece ihtiyacım olanı bıraktım, şimdi okları sadece gerekli olanları gösteriyor.
ANCAK! Hiçbir şekilde bir UYARI ekleyemiyorum, böylece yeşil ok veya kırmızı ok yandığında bir mesaj çıkıyor.
Lütfen yardım et!
ZY Bir şeyin nasıl yapılacağına dair farklı derslere baktım, işe yaramıyor.
Tünaydın!
Hacim göstergelerinden birini temel aldım, parametrelerime uyacak şekilde değiştirdim, sadece ihtiyacım olanı bıraktım, şimdi okları sadece gerekli olanları gösteriyor.
ANCAK! Hiçbir şekilde bir UYARI ekleyemiyorum, böylece yeşil ok veya kırmızı ok yandığında bir mesaj çıkıyor.
Lütfen yardım et!
ZY İşe yaramayan bir şeyin nasıl yapılacağına dair farklı eğitimlere baktım.
hadi, tüm gösterge kodunu buraya gönderin
#mülkiyet katı
#özellik göstergesi_chart_window
#özellik göstergesi_minimum 0
#özellik göstergesi_tamponları 2
#özellik göstergesi_renk1 Kırmızı
#özellik göstergesi_color2 Kireç
#özellik göstergesi_width1 4
#özellik göstergesi_width2 4
harici ENUM_APPLIED_PRICE fiyat = PRICE_CLOSE;
harici çift Aşırı Alış = 80;
harici çift Aşırı Satış = 20;
harici int NumberOfBars = 500;
extern string Note = "0, tüm çubukları görüntüle anlamına gelir";
extern int MAPeriod = 100;
harici int LookBack = 20;
extern bool Uyarı=Doğru;
çift kırmızı[],kireç[];
//+------------------------------------------- --------------------+
//| özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//---- göstergeler
SetIndexBuffer(0, kırmızı);
SetIndexStyle(0,DRAW_OK, STYLE_SOLID,3);
SetIndexArrow(0.234);
SetIndexLabel(0,"Doruk Yüksek");
SetIndexBuffer(1, kireç);
SetIndexStyle(1,DRAW_OK, STYLE_SOLID,3);
SetIndexArrow(1,233);
SetIndexLabel(1,"Climax Low");
SetIndexEmptyValue(0,0.0);
SetIndexEmptyValue(1,0.0);
SetIndexDrawBegin(0,0);
SetIndexDrawBegin(1,0);
GöstergeShortName("MKSP_Volume");
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| özel gösterge yineleme işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
double VolDüşük,Aralık,Değer2,Değer3,HiValue2,HiValue3,LoValue3,tempv2,tempv3,tempv;
int limiti;
int counted_bars=IndicatorCounted();
//---- son sayılan çubuk yeniden sayılacak
if(counted_bars>0) counted_bars--;
if ( NumberOfBars == 0 )
NumberOfBars = Barlar-counted_bars;
limit=Çubuk Sayısı; //Barlar-sayılan_barlar;
for(int i=0; i<limit; i++)
{
kırmızı[i] = 0; kireç[i] = 0;
Value2=0;Value3=0;HiValue2=0;HiValue3=0;LoValue3=99999999;tempv2=0;tempv3=0;tempv=0;
HacimDüşük = Hacim[iDüşük(NULL,0,MODE_VOLUME,20,i)];
if (Hacim[i] == HacimDüşük)
{
}
Aralık = (Yüksek[i]-Düşük[i]);
Değer2 = Hacim[i]*Aralık;
if ( Aralık != 0 )
Değer3 = Hacim[i]/Aralık;
for ( int n=i;n<i+MAPeriod;n++ )
{
tempv= Hacim[n] + tempv;
}
for (int n=i;n<i+LookBack;n++)
{
tempv2 = Hacim[n]*((Yüksek[n]-Düşük[n]));
if ( tempv2 >= HiValue2 )
YüksekDeğer2 = tempv2;
if ( Hacim[n]*((Yüksek[n]-Düşük[n])) != 0 )
{
tempv3 = Hacim[n] / ((Yüksek[n]-Düşük[n]));
if (tempv3 > HiValue3)
HiValue3 = tempv3;
if ( tempv3 < LoValue3 )
LoValue3=tempv3;
}
}
if ( Değer2 == YüksekDeğer2 && Kapat[i] > (Yüksek[i] + Düşük[i]) / 2 )
{
kırmızı[i] = Yüksek[i]+10*Nokta;
}
if ( Değer3 == YüksekDeğer3 )
{
NormalizeDouble(Volume[i],0);
kırmızı[i]=0;
}
if ( Değer2 == YüksekDeğer2 && Değer3 == YüksekDeğer3 )
{
NormalizeDouble(Volume[i],0);
kırmızı[i]=0;
}
if ( Değer2 == YüksekDeğer2 && Kapat[i] <= (Yüksek[i] + Düşük[i]) / 2 )
{
kireç[i] = Düşük[i]-10*Nokta;
}
}
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
ve ekran
hadi, tüm gösterge kodunu buraya gönderin
ve ekran
{
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 );
}
Kodu mesaja düz metin olarak eklemeyin, bunun için özel bir tasarım kullanın.
gerçekten anlamadım
kural olarak, son çubukta (sıfır) bir sinyal varsa bir uyarı verilir.
#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 );
}
Mesajlara düz metin olarak kod eklemeyin , kod tasarımı kullanın.
gerçekten anlamadım
Kural olarak, son çubukta bir sinyal varsa, o yerlere yerleştirdiğim gibi bir uyarı verilir...
#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 );
}
Kodu mesaja düz metin olarak eklemeyin, bunun için özel bir tasarım kullanın.
gerçekten anlamadım
kural olarak, son çubukta (sıfır) bir sinyal varsa bir uyarı verilir.