Sormak! - sayfa 7

 

Merhaba, cci<-150 olduğunda uyarı veren mq4'e bir gösterge ekledim

Tık tık bazında uyarı verir; Sadece mumun kapanışında uyarı vermesi için herhangi biri onu değiştirebilir mi?

Bu durumda, yalnızca 5m'lik bir mumun sonunda cci < -150 olduğunda uyarılmak isterim.

Şimdiden teşekkürler

Dosyalar:
 

tamam, 2. soru, bence bu kolay:

Fiyat kapanışı MA'yı geçtiğinde beni uyarmak için bir kullanıcı göstergesi oluşturuyorum

MA göstergesini içe aktarmak için iCustom kullanıyorum

ve sonra fiyatı nasıl kullanacağımı bilmiyorum; CLOSE ve PRICE_CLOSE denedim ama sonuç alamadım:

eğer (KAPALI?>ma1)

adxdeğeri= -1;

eğer (PRICE_CLOSE?>ma1)

adxdeğeri= -1;

Ayrıca, uyarının yalnızca 5m'lik bir çubuğun sonunda çalmasını ve kene bazında çalışmamasını istiyorum: başka neyi değiştirmeliyim (bu soru önceki mesajımdaki sorudur)

teşekkürler

 

Merhaba Codersguru,

Renkler değiştiğinde uyarı vermesi için Osma Color'a bir uyarı kodlamama yardım eder misiniz?

teşekkürler

Duncan

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

//| OsMA_color.mq4 |

//| Rafael |

//| marynarz15@wp.pl |

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

# mülkiyet telif hakkı "Rafael"

#özellik bağlantısı "marynarz15@wp.pl"

//---- gösterge ayarları

#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 Kireç

#özellik göstergesi_renk2 Kırmızı

//---- gösterge parametreleri

harici int FastEMA=12;

harici int YavaşEMA=26;

harici int SignalSMA=9;

//---- gösterge tamponları

çift ind_buffer1a[];

çift ind_buffer1b[];

çift ind_buffer2[];

çift ind_buffer3[];

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

//| Özel gösterge başlatma işlevi |

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

int init()

{

//---- Sayım için 2 ek tampon kullanılır.

Gösterge Tamponları(4);

//---- çizim ayarları

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexDrawBegin(0,SignalSMA);

SetIndexDrawBegin(1,SignalSMA);

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);

//---- 3 gösterge arabelleği eşlemesi

if(!SetIndexBuffer(0,ind_buffer1a) &&

!SetIndexBuffer(1,ind_buffer1b) &&

!SetIndexBuffer(2,ind_buffer2) &&

!SetIndexBuffer(3,ind_buffer3))

Print("gösterge arabellekleri ayarlanamıyor!");

//---- DataWindow ve gösterge alt pencere etiketi için isim

IndicatorShortName("OsMA("+FastEMA+","+SlowEMA+","+SignalSMA+")");

//---- başlatma tamamlandı

dönüş(0);

}

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

//| Osilatörün Hareketli Ortalaması |

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

int başlangıç()

{

int limiti;

int counted_bars=IndicatorCounted();

//---- olası hataları kontrol et

if(counted_bars<0) return(-1);

//---- son sayılan çubuk yeniden sayılacak

if(counted_bars>0) counted_bars--;

limit=Barlar-sayılan_barlar;

//---- 1. ek tamponda sayılan macd

for(int i=0; i<limit; i++)

ind_buffer2=iMA(NULL,0,HızlıEMA,0,MODE_EMA,PRICE_CLOSE,i)

-iMA(NULL,0,YavaşEMA,0,MODE_EMA,PRICE_CLOSE,i);

//---- 2. ek tamponda sayılan sinyal hattı

for(i=0; i<limit; i++)

ind_buffer3=iMAOnArray(ind_buffer2,Barlar,SignalSMA,0,MODE_SMA,i);

//---- Ana döngü

çift değer=0;

for(i=0; i<limit; i++)

{

ind_buffer1a=0.0;

ind_buffer1b=0.0;

değer=ind_buffer2-ind_buffer3;

if (değer>0) ind_buffer1a=değer;

if (değer<0) ind_buffer1b=değer;

}

//---- tamamlamak

dönüş(0);

}

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

 

Merhaba

kelebek desenini tanıyan bir göstergem var ama MT3 için yazılmış biri bana bir iyilik yapıp MQL4'e çevirebilir mi?

Dosyalar:
butterfly.mql  3 kb
 

iki pdf ekledim kalıbın özü ve kurallardan bahsedilmiş

Dosyalar:
attachment2.pdf  141 kb
attachment1.pdf  189 kb
 

merhaba

selam beyler,

hepiniz bu yazarın adını biliyor olabilirsiniz ama bunu asla bilmiyordunuz

onun yöntemi yazılıma kodlanmış.

Pesavento, diğerleri arasında bu harika kitapları yazdı:

* Örüntü Tanıma ile Fibonacci Oranları

* Hisse Senedi Alım Satım için Karlı Modeller

* Astro-Döngüler: Tüccarların Bakış Açısı

bu arada ENSIGN yazılımının bir sonraki bağlantıda görebileceğiniz orijinal Pesavento Patterns çalışma aracına da sahip olduğunu biliyorum.

biri ENSIGN'dan MetaTrader 4'e aktarabilirse bu harika olur.

http://www.ensignsoftware.com/help/pesavento.htm

 

tekrar merhaba

gartley 222 modelinin kodunu iki platformda buldum.

eğer biri bunu MetaTrade 4'e çevirebilirse süper olur!

işte kodlar:

1. Gartley 222 modeli için TradeStation kodu, Aaron Behle ve Mark Conway tarafından yazılan "Gartley 222 Ticareti" bölümünde bulunur, s. 38:

Girişler:

Uzunluk(100),

Mukavemet(8),

Tolerans(0.10),

BoğaRenk(Mavi),

AyıRenk(Kırmızı);

Değişkenler:

F1(0.618),

F2(0.786),

F3(1.27),

F4(1.618),

P1Bar(-1),

P2Bar(-1),

T1Bar(-1),

T2Bar(-1),

P1(0.0),

P2(0.0),

T1(0.0),

T2(0.0),

PTValid(Yanlış),

HLValid(Yanlış),

InZone(Yanlış),

GD(0.0),

XA(0.0),

AB(0.0),

M.Ö.(0.0),

CD(0.0),

AD(0.0),

C1(Yanlış),

C2(Yanlış),

C3(Yanlış),

C4(Yanlış),

ABdXA(0.0),

BCdAB(0.0),

CDdBC(0.0),

ADdXA(0.0),

TL1(-1),

TL2(-1),

TL3(-1),

TL4(-1),

TL5(-1),

TL6(-1);

P1Bar = SwingHighBar(1, Yüksek, Mukavemet, Uzunluk);

P2Bar = SwingHighBar(2, Yüksek, Mukavemet, Uzunluk);

T1Bar = SwingLowBar(1, Düşük, Mukavemet, Uzunluk);

T2Bar = SwingLowBar(2, Düşük, Mukavemet, Uzunluk);

P1Bar -1 ise ve

P2Bar -1 ve

T1Bar -1 ve

T2Bar -1 Sonra Başlayın

{Bir yükseliş testi 222}

{Oluk X T2'dir}

T2 = Düşük[T2Bar];

{Tepe A, P2'dir}

P2 = Yüksek[P2Bar];

{Oluk B, T1'dir}

T1 = Düşük[T1Bar];

{Tepe C, P1'dir}

P1 = Yüksek[P1Bar];

{D satın alma noktasıdır}

GD = Düşük;

PTValid = P1Bar < T1Bar ve T1Bar < P2Bar ve P2Bar < T2Bar;

HLValid = P1 T2 ve P1 > T1;

InZone = GD T2 ve P2 >= En Yüksek(Yüksek, T2Bar);

PTValid ve HLValid ve InZone ise Başlayın

XA = P2 - T2;

AB = P2 - T1;

BC = P1 - T1;

CD = P1 - GD;

AD = P2 - GD;

ABdXA = AB / XA; {AB, XA'nın %61,8'i olmalıdır}

C1 = ABdXA > F1 - Tolerans ve ABdXA < F1 + Tolerans;

BCdAB = BC / AB; {BC, AB'nin %61.8-78.6'sı olmalıdır}

C2 = BCdAB > F1 - Tolerans ve BCdAB < F2 + Tolerans;

CDdBC = CD / BC; {CD, BC'nin %127-161,8'i olmalıdır}

C3 = CDdBC > F3 - Tolerans ve CDdBC < F4 + Tolerans;

ADdXA = AD / XA; {AD, XA'nın %78,6'sı olmalıdır}

C4 = ADdXA > F2 - Tolerans ve ADdXA < F2 + Tolerans;

C1 ve C2 ve C3 ve C4 ise Başlayın

TL1 = TL_New(Tarih[T2Bar], Saat[T2Bar], T2, Tarih[P2Bar], Saat[P2Bar], P2);

TL1 >= 0 ise Başlayın

TL_SetColor(TL1, BullColor);

TL_SetStyle(TL1, Tool_Solid);

TL_SetSize(TL1, 2);

Son;

TL2 = TL_New(Tarih[P2Bar], Saat[P2Bar], P2, Tarih[T1Bar], Saat[T1Bar], T1);

TL2 >= 0 ise Başlayın

TL_SetColor(TL2, BullColor);

TL_SetStyle(TL2, Tool_Solid);

TL_SetSize(TL2, 2);

Son;

TL3 = TL_New(Tarih[T1Bar], Saat[T1Bar], T1, Tarih[P1Bar], Saat[P1Bar], P1);

TL3 >= 0 ise Başlayın

TL_SetColor(TL3, BullColor);

TL_SetStyle(TL3, Tool_Solid);

TL_SetSize(TL3, 2);

Son;

TL4 = TL_New(Tarih[P1Bar], Saat[P1Bar], P1, Tarih, Saat, GD);

TL4 >= 0 ise Başlayın

TL_SetColor(TL4, BullColor);

TL_SetStyle(TL4, Tool_Solid);

TL_SetSize(TL4, 2);

Son;

TL5 = TL_New(Tarih[T1Bar], Saat[T1Bar], T1, Tarih, Saat, GD);

TL5 >= 0 ise Başlayın

TL_SetColor(TL5, BullColor);

TL_SetStyle(TL5, Tool_Dotted);

Son;

TL6 = TL_New(Tarih[T2Bar], Saat[T2Bar], T2, Tarih, Saat, GD);

TL6 >= 0 ise Başlayın

TL_SetColor(TL6, BullColor);

TL_SetStyle(TL6, Tool_Dotted);

Son;

Son;

Son;

{Ayı 222 için test edin}

{Tepe X, P2'dir}

{Oluk A T2'dir}

{Tepe B, P1'dir}

{Çukur C T1'dir}

{GD kısa noktadır}

GD = Yüksek;

PTValid = T1Bar < P1Bar ve P1Bar < T2Bar ve T2Bar < P2Bar;

HLValid = T1 > T2 ve P1 < P2 ve T1 < P1;

InZone = GD > P1 ve GD < P2 ve T2 <= En Düşük(Düşük, P2Bar);

PTValid ve HLValid ve InZone ise Başlayın

XA = P2 - T2;

AB = P1 - T2;

BC = P1 - T1;

CD = GD - T1;

AD = GD - T2;

ABdXA = AB / XA; {AB, XA'nın %61,8'i olmalıdır}

C1 = ABdXA > F1 - Tolerans ve ABdXA < F1 + Tolerans;

BCdAB = BC / AB; {BC, AB'nin %61.8-78.6'sı olmalıdır}

C2 = BCdAB > F1 - Tolerans ve BCdAB < F2 + Tolerans;

CDdBC = CD / BC; {CD, BC'nin %127-161,8'i olmalıdır}

C3 = CDdBC > F3 - Tolerans ve CDdBC < F4 + Tolerans;

ADdXA = AD / XA; {AD, XA'nın %78,6'sı olmalıdır}

C4 = ADdXA > F2 - Tolerans ve ADdXA < F2 + Tolerans;

C1 ve C2 ve C3 ve C4 ise Başlayın

TL1 = TL_New(Tarih[P2Bar], Saat[P2Bar], P2, Tarih[T2Bar], Saat[T2Bar], T2);

TL1 >= 0 ise Başlayın

TL_SetColor(TL1, BearColor);

TL_SetStyle(TL1, Tool_Solid);

TL_SetSize(TL1, 2);

Son;

TL2 = TL_New(Tarih[T2Bar], Saat[T2Bar], T2, Tarih[P1Bar], Saat[P1Bar], P1);

TL2 >= 0 ise Başlayın

TL_SetColor(TL2, BearColor);

TL_SetStyle(TL2, Tool_Solid);

TL_SetSize(TL2, 2);

Son;

TL3 = TL_New(Tarih[P1Bar], Saat[P1Bar], P1, Tarih[T1Bar], Saat[T1Bar], T1);

TL3 >= 0 ise Başlayın

TL_SetColor(TL3, BearColor);

TL_SetStyle(TL3, Tool_Solid);

TL_SetSize(TL3, 2);

Son;

TL4 = TL_New(Tarih[T1Bar], Saat[T1Bar], T1, Tarih, Saat, GD);

TL4 >= 0 ise Başlayın

TL_SetColor(TL4, BearColor);

TL_SetStyle(TL4, Tool_Solid);

TL_SetSize(TL4, 2);

Son;

TL5 = TL_New(Tarih[P1Bar], Saat[P1Bar], P1, Tarih, Saat, GD);

TL5 >= 0 ise Başlayın

TL_SetColor(TL5, BearColor);

TL_SetStyle(TL5, Tool_Dotted);

Son;

TL6 = TL_New(Tarih[P2Bar], Saat[P2Bar], P2, Tarih, Saat, GD);

TL6 >= 0 ise Başlayın

TL_SetColor(TL6, BearColor);

TL_SetStyle(TL6, Tool_Dotted);

Son;

Son;

Son;

Son;

2.Varlık Laboratuvarı kodu:

prosedür Gartley222

(

VFactor: yüzer;

Tolerans: yüzer;

Yeniden inceleme: tamsayı;

HoldBar'lar: tamsayı;

VolMin: tam sayı

);

başlamak

var ATRValue, VP, Reversal: float;

var F1, F2, F3, F4, P1, P2, T1, T2: kayan nokta;

var Bar, P1Bar, P2Bar, T1Bar, T2Bar, p: tamsayı;

var XA, AB, BC, CD, AD, D, XD, DT, ABdXA, BCdAB, CDdBC, ADdXA: kayan nokta;

var PTValid, HLValid, InZone, C1, C2, C3, C4: boole;

var BT, BS, ST, SS: kayan nokta;

{Fibonacci Sabitleri}

F1 := 0.618;

F2 := 0.786;

F3 := 1.27;

F4 := 1.618;

InstallTimeBasedExit(HoldBars);

Bar için := BarCount()'a Geri Dönük - 1 do

başlamak

ApplyAutoStops(Bar);

ATRValue := ATR(Çubuk, Geri İnceleme);

SetShareSize( 1000 * Int( 10 / ATRValue ) );

VP := 100 * ATRValue / FiyatKapat(Bar);

{Dorukları ve çukurları bulun}

Ters Çevirme := Int(VPFactor * VP);

P1 := Peak(Bar, #Yüksek, F1 * Ters);

P1Bar := PeakBar(Bar, #Yüksek, F1 * Ters);

P2 := Tepe(P1Bar, #Yüksek, Ters);

P2Bar := PeakBar(P1Bar, #Yüksek, Ters);

T1 := Çukur(Bar, #Düşük, F1 * Ters);

T1Bar := TroughBar(Bar, #Düşük, F1 * Ters);

T2 := Çukur(T1Bar, #Düşük, Ters);

T2Bar := TroughBar(T1Bar, #Düşük, Ters);

{Bir yükseliş testi 222}

{Oluk X T2'dir}

{Tepe A, P2'dir}

{Oluk B, T1'dir}

{Tepe C, P1'dir}

{D satın alma bölgesidir}

D := FiyatDüşük(Bar);

PTValid := (P1Bar > T1Bar) ve (T1Bar > P2Bar) ve (P2Bar > T2Bar);

HLValid := (P1 T2) ve (P1 > T1);

InZone := (D T2);

if (Piyasa Konumu = 0) ve

(SMA(Bar, #Volume, Lookback) >= VolMin) ve

(PTValid) ve (HLValid) ve (InZone) ardından

başlamak

XA := P2 - T2;

AB := P2 - T1;

BC := P1 - T1;

XD := P2 - (F2 * XA);

CD := P1 - XD;

AD := P2 - XD;

ABdXA := AB / XA; {AB, XA'nın %61,8'i olmalıdır}

C1 := (ABdXA > F1 - Tolerans) ve (ABdXA < F1 + Tolerans);

BCdAB := BC / AB; {BC, AB'nin %61.8-78.6'sı olmalıdır}

C2 := (BCdAB > F1 - Tolerans) ve (BCdAB < F2 + Tolerans);

CDdBC := CD / BC; {CD, BC'nin %127-161,8'i olmalıdır}

C3 := (CDdBC > F3 - Tolerans) ve (CDdBC < F4 + Tolerans);

ADdXA := AD / XA; {AD, XA'nın %78,6'sı olmalıdır}

C4 := (ADdXA > F2 - Tolerans) ve (ADdXA < F2 + Tolerans);

C1 ve C2 ve C3 ve C4 ise

başlamak

DrawLine(P2Bar, P2, T2Bar, T2, 0, #Mavi, #Solid);

DrawLine(T1Bar, T1, P2Bar, P2, 0, #Mavi, #Katı);

DrawLine(P1Bar, P1, T1Bar, T1, 0, #Mavi, #Solid);

DrawLine(Çubuk, D, P1Bar, P1, 0, #Mavi, #Katı);

DrawLine(Çubuk, D, T1Bar, T1, 0, #Mavi, #Noktalı);

DrawLine(Çubuk, D, T2Bar, T2, 0, #Mavi, #Noktalı);

AnnotateBar('B', Çubuk, Doğru, #Mavi, 10);

BuyAtLimit(Bar, XD, 'G222 LE');

DT := F1 * CD;

BT := XD + DT;

BS := T2;

son;

son;

{Ayı 222 için test edin}

{Tepe X, P2'dir}

{Oluk A T2'dir}

{Tepe B, P1'dir}

{Çukur C T1'dir}

{D kısa bölgedir}

D := FiyatYüksek(Bar);

PTValid := (T1Bar > P1Bar) ve (P1Bar > T2Bar) ve (T2Bar > P2Bar);

HLValid := (T1 > T2) ve (P1 < P2) ve (T1 < P1);

InZone := (D > P1) ve (D < P2);

if (Piyasa Konumu = 0) ve

(PriceClose( Bar ) >= 5) ve

(SMA(Bar, #Volume, Lookback) >= VolMin) ve

(PTValid) ve (HLValid) ve (InZone) ardından

başlamak

XA := P2 - T2;

AB := P1 - T2;

BC := P1 - T1;

XD := T2 + (F2 * XA);

CD := XD - T1;

AD := XD - T2;

ABdXA := AB / XA; {AB, XA'nın %61,8'i olmalıdır}

C1 := (ABdXA > F1 - Tolerans) ve (ABdXA < F1 + Tolerans);

BCdAB := BC / AB; {BC, AB'nin %61.8-78.6'sı olmalıdır}

C2 := (BCdAB > F1 - Tolerans) ve (BCdAB < F2 + Tolerans);

CDdBC := CD / BC; {CD, BC'nin %127-161,8'i olmalıdır}

C3 := (CDdBC > F3 - Tolerans) ve (CDdBC < F4 + Tolerans);

ADdXA := AD / XA; {AD, XA'nın %78,6'sı olmalıdır}

C4 := (ADdXA > F2 - Tolerans) ve (ADdXA < F2 + Tolerans);

C1 ve C2 ve C3 ve C4 ise

başlamak

DrawLine(T2Bar, T2, P2Bar, P2, 0, #Kırmızı, #Solid);

DrawLine(P1Bar, P1, T2Bar, T2, 0, #Kırmızı, #Solid);

DrawLine(T1Bar, T1, P1Bar, P1, 0, #Kırmızı, #Solid);

DrawLine(Çubuk, D, T1Bar, T1, 0, #Kırmızı, #Katı);

DrawLine(Bar, D, P1Bar, P1, 0, #Kırmızı, #Noktalı);

DrawLine(Çubuk, D, P2Bar, P2, 0, #Kırmızı, #Noktalı);

AnnotateBar('S', Çubuk, Yanlış, #Kırmızı, 10);

ShortAtLimit(Çubuk, XD, 'G222 SE');

DT := F1 * CD;

ST := XD - DT;

SS := P2;

son;

son;

LastPositionActive ise

başlamak

MarketPosition = 1 ise başla

SellAtLimit(Bar+1, BT, #Tümü, 'G222 LX+');

SellAtStop(Bar+1, BS, #Tümü, 'G222 LX-');

son;

MarketPosition = -1 ise başla

CoverAtLimit(Bar+1, ST, #Tümü, 'G222 LX+');

CoverAtStop(Bar+1, SS, #Tümü, 'G222 LX-');

son;

son;

son;

son;

Gartley222(2.0, 0.1, 20, 7, 2000000);

 

SMCMA ve WCMA nedir ???

Bu 2 şey hakkında herhangi bir şey bilen var mı ve bunları Meta Trader 4 için nereden alıp kullanacağız

1. SMCMA

2. WCMA

Bunların bir çeşit MA olduğunu bilebildiğim tek şey

( Hareketli Ortalamalar) ama nereden alınır ve nasıl kullanılır?

Hoşçakal

Zero_Forex

 

Bir EA'da diğer döviz çiftlerini mi kullanıyorsunuz?

Alım veya satım yapmak isteyip istemediğinize karar vermenize yardımcı olması için bir Uzman Danışmanın diğer döviz çifti çizelgelerini kontrol etmesini nasıl sağlayacağını bilen var mı? Örneğin, bir EA'nın gbp-chf'de alıp satmayacağına karar vermesi için kriterlerin bir parçası olarak usd-chf'ye bakmasını nasıl sağlayabilirim? Şimdiye kadar beğendiğim bir EA'm var, ancak diğer ilgili çiftleri kontrol etmek için programa yazsam daha iyi olacağını düşünüyorum. Codersguru veya yardımcı olabilecek herhangi biri, lütfen bana bildirin.

Teşekkürler!

 
codersguru:
Merhaba millet,

Bazı kod parçalarına yardım etmemi isteyen çok sayıda özel mesajım var.

MQL4 ile ilgili sorularınızı buraya yazabilirsiniz, ben de cevaplamak için elimden geleni yapacağım.

Merhaba Kodlayıcı.

Her 5 Dakika çubuğu için yalnızca bir kez uyarı sesi olması mümkün müdür?

Koşul sağlandığında bir uyarının yalnızca bir kez çalması mümkün müdür?

Sonra kapatın.

Daha sonra bir sonraki barın açılması üzerine göstergeyi yenilemek için tekrar ses vermeye hazır.

Ardından 0,0005 koşulu tekrar karşılanana kadar tekrar kapatın.

Sonra tekrar açın ve böyle devam edin......

Aşağıdaki gösterge, Tetiklendiğinde çubuk başına birçok uyarı verebilir.

Aşağıya bakınız.

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

//| Suyu.mq4 |

//| Perky_z |

//| http://fxovereasy.atspace.com/index |

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

#özellik telif hakkı "şımarık"

#özellik bağlantısı "http://fxovereasy.atspace.com/index"

//---- gösterge ayarları

#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_color1 KireçYeşil

#özellik göstergesi_color2 FireBrick

//---- gösterge parametreleri

extern bool DoAlerts = false;

extern int AlertFromPips = 5;

dış int Periyod=7;

dış çift Seviye=5;

extern bool JuiceLevelsVisible = true;

extern int JuiceStartPips = 5;

extern int JuiceStepPips = 5;

extern int JuiceLevelsNumber = 4;

dış renk JuiceLevelColor = Gümüş;

//---- gösterge tamponları

çift OsMAUpBuffer[];

çift OsMADownBuffer[];

çift OsMAValue;

çift akımJuiceLevel;

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

//| Özel gösterge başlatma işlevi |

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

int init()

{

//---- Sayım için 2 ek tampon kullanılır.

Gösterge Tamponları(2);

//---- çizim ayarları

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1);

SetIndexDrawBegin(0,Seviye);

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);

//---- 2 gösterge arabelleği eşlemesi

if(!SetIndexBuffer(0,OsMAUpBuffer) &&

!SetIndexBuffer(1,OsMADownBuffer))

Print("gösterge arabellekleri ayarlanamıyor!");

//---- DataWindow ve gösterge alt pencere etiketi için isim

GöstergeShortName("Suyu("+Periyod+","+Seviye+")");

//---- başlatma tamamlandı

dönüş(0);

}

int SetLevelLines()

{

string levelLabel;

if(JuiceLevelsVisible)

{

SetLevelStyle(STYLE_DASH,1,JuiceLevelColor);

for(int i=1; i<= JuiceLevelsNumber; i++)

{

currentJuiceLevel = (JuiceStartPips + (i-1)*JuiceStepPips)*Point;

SetLevelValue(i,currentJuiceLevel);

levelLabel = "Seviye "+i+": "+currentJuiceLevel;

SetIndexLabel(i,levelLabel);

}

}başka

{

for(i=1; i<= JuiceLevelsNumber; i++)

{

SetLevelValue(i,0.0);

}

}

}

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

//| Osilatörün Hareketli Ortalaması |

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

int başlangıç()

{

//if ( Nokta != 15) Uyarı ("Meyve Suyu Yalnızca 15 Dakikalık Grafik için Tavsiye Edilir!!");

int limit,i;

int counted_bars=IndicatorCounted();

çift Suyu;

bool TurnOnAlert = doğru;

//---- olası hataları kontrol et

if(counted_bars<0) return(-1);

//---- son sayılan çubuk yeniden sayılacak

if(counted_bars>0) counted_bars--;

limit=Barlar-sayılan_barlar;

Seviye = Seviye*Puan;

if (Period()==5) Düzey=Seviye/2;

SetLevelLines();

//---- Ana döngü

for(i=0; i<limit; i++)

{

Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level;

if(Meyve suyu>0){

OsMAUpBuffer=Suyu;

OsMADownBuffer=0;

}else if(Suyu<0){

OsMADownBuffer=Suyu;

OsMAUpBuffer=0;

}başka{

OsMAUpBuffer=0;

OsMADownBuffer=0;

}

}

if (DoAlerts)

{

if (Juice > AlertFromPips*Point && Period() == 5)

{

eğer (TurnOnAlert)

{

Alert("Yukarıdaki meyve suyu",AlertFromPips*Point," için ", Symbol());

PlaySound("Tick.wav");

TurnOnAlert = yanlış;

}

}

başka

{

TurnOnAlert = doğru;

}

}

//---- tamamlamak

dönüş(0);

}

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

Yardımınız çok takdir edilecektir.

Çok teşekkürler.

Leigh.

Neden: