![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Bu ek çizgileri bir kez daha çizmek için ekleyebilirsiniz - bunun gibi:
tekrar teşekkürler mladen![](https://c.mql5.com/forextsd/smiles/regular_smile.png)
Bir Uyarı programlamada yardıma ihtiyacınız var
Merhaba, tüm mql4 programlamasında yeniyim .
Yeni bir "hepsi bir arada" alarm oluşturmak istiyorum.
Alarm sinyalleri ile Fx MNT, Süper Sinyal ve CHT Değer Tablom var.
Artık MNT, Super Signal, Value Chart & RSI doğru yerdeyken sadece bir alarm istiyorum.
Bu nasıl kodlanır? Var olan alarm parçalarını kullanıp hepsini tek bir büyük koda koyabilir miyim?
Saygılarımla Yavaş
Merhaba, tüm mql4 programlamasında yeniyim.
Yeni bir "hepsi bir arada" alarm oluşturmak istiyorum.
Alarm sinyalleri ile Fx MNT, Süper Sinyal ve CHT Değer Tablom var.
Artık MNT, Super Signal, Value Chart & RSI doğru yerdeyken sadece bir alarm istiyorum.
Bu nasıl kodlanır? Var olan alarm parçalarını kullanıp hepsini tek bir büyük koda koyabilir miyim?
Saygılarımla YavaşYavaş
Bunu yapabilirsiniz, ancak tüm bu göstergelerden veri almaktan "sorumlu" olacak kod basit olmayacaktır (özellikle bulmak için çağrılacak tüm göstergelere harici parametreler bildirmeniz gereken parametreler içeren kısım). uyarının tetiklenip tetiklenmeyeceği dışında)
ardışık yüksek/düşük kapanışlar
Ekli dosya, doğru/yanlış seçilerek eklenebilecek bir dizi koşula sahiptir.
Başka bir koşulu doğru/yanlış olarak dahil etmek istiyorum: var mı
Longlar için art arda 2 yüksek kapanış?
Varsa, true tarafından etkinleştirilen diğer koşullar mevcutsa, yukarı ok üretilir.
Şortlar için art arda 2 düşük kapanış mı?
Varsa, true tarafından etkinleştirilen diğer koşullar mevcutsa, aşağı ok üretilir.
Kapanış sayısı bir değişken olabilir mi?
Birisi bu ekstra koşulu Stoch_Indy göstergesine kodlayabilir mi? Teşekkür ederim.
Ekli dosya, doğru/yanlış seçilerek eklenebilecek bir dizi koşula sahiptir.
Başka bir koşulu doğru/yanlış olarak dahil etmek istiyorum: var mı
Longlar için art arda 2 yüksek kapanış?
Varsa, true tarafından etkinleştirilen diğer koşullar mevcutsa, yukarı ok üretilir.
Şortlar için art arda 2 düşük kapanış mı?
Varsa, true tarafından etkinleştirilen diğer koşullar mevcutsa, aşağı ok üretilir.
Kapanış sayısı bir değişken olabilir mi?
Birisi bu ekstra koşulu Stoch_Indy göstergesine kodlayabilir mi? Teşekkür ederim.
kişi77
Bunu bir deneyin
Bu amaçla UseConsecutiveCloseBars seçeneği eklendi. Test edilen sadece bir kapanış kimliği değil, aynı zamanda ardışık bir yükseliş yapmak için bu tür çubuklarda bir kapanışın açıktan daha büyük olması veya ardışık düşüş yapmak için bu tür çubuklarda açıktan daha düşük olması gerekir.
kişi77
Bunu bir deneyin
Bu amaçla UseConsecutiveCloseBars seçeneği eklendi. Test edilen sadece bir kapanış kimliği değil, aynı zamanda ardışık bir yükseliş yapmak için bu tür çubuklarda bir kapanışın açıktan daha büyük olması veya ardışık düşüş yapmak için bu tür çubuklarda açıktan daha düşük olması gerekir.Çok güzel mladen - çok iyi çalışıyor. Teşekkür ederim!
Karşılaştığım birkaç durumda, C = O'ya izin verilmesi büyük ölçüde olumludur.
Buna izin verecek şekilde değiştirebilir misiniz, yoksa daha iyisi, C = O'ya izin verilip verilmeyeceği konusunda bir seçeneğiniz var mı?
Çok güzel mladen - çok iyi çalışıyor. Teşekkür ederim!
Karşılaştığım birkaç durumda, C = O'ya izin verilmesi büyük ölçüde olumludur.
Buna izin verecek şekilde değiştirebilir misiniz, yoksa daha iyisi, C = O'ya izin verilip verilmeyeceği konusunda bir seçeneğiniz var mı?kişi77
Bir seçenek daha eklendi: AllowCloseEqualOpen. böylece şimdi bu seçenekle kontrol edebilirsiniz
Merhaba millet,
kodlama ile ilgili bir sorum var
Bu tercihlerle genel çizelgede Hareketli ortalama çizmek mümkün müdür?
nCountedBars = IndicatorCounted();
dFaktörü = 2*3.14159/180.0;
mFaktörü = 10000.0;
Merhaba millet,
kodlama ile ilgili bir sorum var
Bu tercihlerle genel çizelgede Hareketli ortalama çizmek mümkün müdür?
nCountedBars = IndicatorCounted();
dFaktörü = 2*3.14159/180.0;
mFaktörü = 10000.0;Yazdıklarınız (dFactor ve mFactor), fiyat ve çubuk numarasından bağımsız olarak sabit bir değer olarak değerlendirilir, böylece grafikte yatay bir çizginiz olur.
Yazdıklarınız (dFactor ve mFactor), fiyat ve çubuk numarasından bağımsız olarak sabit bir değer olarak değerlendirilir, böylece grafikte yatay bir çizginiz olur.
Cevap için teşekkürler!
Ancak bu indi histogram kodundaki gibi genel grafikte MA'nın açı çizgilerini nasıl alabilirim?
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 FireBrick
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//---- indicator parameters
extern int TimeFrame = 60;
extern int MAMode = 0;
extern int MAPeriod = 50;
extern int Price = 4;
extern double AngleTreshold = 0.25;
extern int StartMAShift = 2;
extern int EndMAShift = 0;
extern int MaxBars = 500;
string TF1;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
double ZeroBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2 );
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,UpBuffer) &&
!SetIndexBuffer(1,DownBuffer) &&
!SetIndexBuffer(2,ZeroBuffer))
Print("cannot set indicator buffers!");
SetIndexLabel(0,"");
SetIndexLabel(1,"");
SetIndexLabel(2,"");
switch(TimeFrame)
{
case 1: TF1="M1"; break;
case 5: TF1="M5"; break;
case 15: TF1="M15"; break;
case 30: TF1="M30"; break;
case 60: TF1="H1"; break;
case 240: TF1="H4"; break;
case 1440: TF1="D1"; break;
case 10080: TF1="W1"; break;
case 43200: TF1="MN1"; break;
default: {TimeFrame = Period(); init(); return(0);}
}
IndicatorShortName("MAAngle MTF * "+TF1+" *");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| The angle for EMA |
//+------------------------------------------------------------------+
int start()
{
double fEndMA, fStartMA;
double fAngle, mFactor, dFactor;
int nLimit, i;
int nCountedBars;
double angle;
int ShiftDif;
string Sym;
if (MAMode >= 4) MAMode = 0;
if(EndMAShift >= StartMAShift)
{
Print("Error: EndMAShift >= StartMAShift");
StartMAShift = 6;
EndMAShift = 0;
}
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Sym = StringSubstr(Symbol(),3,3);
if (Sym == "JPY") mFactor = 100.0;
ShiftDif = StartMAShift-EndMAShift;
mFactor /= ShiftDif;
//---- check for possible errors
if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
nLimit=MathMax(nLimit,TimeFrame/Period());
nLimit=MathMin(nLimit,MaxBars );
//---- main loop
for(i=0; i<nLimit; i++)
{
int y = iBarShift(NULL,TimeFrame,Time);
if (TimeFrame<Period()) TimeFrame=Period();
fEndMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+EndMAShift);
fStartMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+StartMAShift);
// 10000.0 : Multiply by 10000 so that the fAngle is not too small
// for the indicator Window.
fAngle = mFactor * (fEndMA - fStartMA)/2.0;
//fAngle = MathArctan(fAngle)/dFactor;
DownBuffer = 0.0;
UpBuffer = 0.0;
ZeroBuffer = 0.0;
if(fAngle > AngleTreshold)
UpBuffer = fAngle;
else if (fAngle < -AngleTreshold)
DownBuffer = fAngle;
else ZeroBuffer = fAngle;
}
return(0);
}
//+------------------------------------------------------------------+