Kodlama yardımı - sayfa 197

 
mladen:
Bu ek çizgileri bir kez daha çizmek için ekleyebilirsiniz - bunun gibi:
if (add>0) { drawLine(totalLevels,current+diff+add,addLinesColor,addLinesStyle); drawLine(totalLevels,current+diff-add ,addLinesColor,addLinesStyle); }
ve bu ek çizgileri tüm "temel" çizgilerin etrafına çizecektir.

tekrar teşekkürler mladen

 

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ş

 
Slow Moe:
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.

Dosyalar:
 
person77:
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.

Dosyalar:
 
mladen:
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ı?

Dosyalar:
 
person77:

Ç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

Dosyalar:
 

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;

 
cain82:
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.

 
mladen:
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?

//---- indicator settings

#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);

}

//+------------------------------------------------------------------+