Kodlama yardımı - sayfa 31

 

Çok Boyutlu Dizi üzerinde çalışırken, çok basit bir şeyi engelliyorum ..

Merhaba baylar,

Sadece bir ekran satırındaki bir Diziden bir hücre almaya çalışıyorum (aynı sonuç mesajı Uyarısı), kesin olan bir şeyi özlüyor, ancak bütün gün üzerinde ve nedenini anlamıyorum ..

Yardım çok iyi olur... ..

budur :

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

//| !XTEST sur arrays.mq4 |

//| |

//| |

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

#mülkiyet telif hakkı ""

#özellik bağlantısı ""

#özellik göstergesi_chart_window

extern int Madeni Para = 1 ;

harici int X_Col = 700 ;

harici int Y_Ligne = 30 ;

dış dize FontCar = "Arial" ;

harici int TailCar = 14 ;

dış renk Couleur = Kireç ;

harici int X = 1;

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

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

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

string Tab1dim[2];

string Tab2dim[2,2];

string Tab3dim[2,2,2];

string Tab4dim[2,2,2,2];

// 5eme Otomatik olmayan tablo boyutu . int Tab5dim[20,20,20,80,2];

int init()

{

//---- göstergeler

string Tab1dim[2]={"tab1-c0","tab1C1"};

//----

dönüş(0);

}

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

//| Özel gösterge sıfırlama işlevi |

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

int tanım()

{

//----

ObjectDelete("R");

//----

dönüş(0);

}

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

//| Özel gösterge yineleme işlevi |

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

int başlangıç()

{

//----

Tab1dim[2]={"tab1-c0","tab1C1"};

string affich=Tab1dim[0];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0 );

ObjectSet ("A1", OBJPROP_CORNER, Madeni Para);

ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );

ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );

ObjectSetText("A1",affich,TailCar, FontCar, Couleur);

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

Uyarı(affich);

//----

dönüş(0);

}

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

Şimdiden teşekkürler.

 

...

Şu şekilde deneyin ( dizi başlatma farklı şekilde yapılır):

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

//| !XTEST sur arrays.mq4 |

//| |

//| |

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

#property copyright ""

#property link ""

#property indicator_chart_window

extern int Coin = 1 ;

extern int X_Col = 10 ;

extern int Y_Ligne = 10 ;

extern string FontCar = "Arial" ;

extern int TailCar = 14 ;

extern color Couleur = Lime ;

extern int X = 1;

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

//| Custom indicator initialization function |

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

string Tab1dim[] = {"tab1-c0","tab1C1"};

string Tab2dim[2,2];

string Tab3dim[2,2,2];

string Tab4dim[2,2,2,2];

// 5eme Dimension de tableau non autorisée . int Tab5dim[20,20,20,80,2];

int init()

{

//---- indicators

string Tab1dim[2]={"tab1-c0","tab1C1"};

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

ObjectDelete("A1");

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

//----

string affich=Tab1dim[0];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0 );

ObjectSet ("A1", OBJPROP_CORNER,Coin );

ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );

ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );

ObjectSetText("A1",affich,TailCar, FontCar , Couleur );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

//----

return(0);

}

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

Ilevna:
Merhaba baylar,

Sadece bir ekran satırındaki bir Diziden bir hücre almaya çalışıyorum (aynı sonuç mesajı Uyarısı), kesin olan bir şeyi özlüyor, ancak bütün gün üzerinde ve nedenini anlamıyorum ..

Yardım çok iyi olur... ..

budur :

Şimdiden teşekkürler.
 
mladen:
Bunu şöyle deneyin (dizi başlatma farklı şekilde yapılır):

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

//| !XTEST sur diziler.mq4 |

//| |*************

Çok teşekkürler, bu iyi gitti, ancak neden normal olarak beyan edebileceğimiz gibi, veya global kapsamda veya bir işlev içinde, kılavuzda yazdıkları gibi bir şeyin gerekli olduğunu anlamıyorum: double Tab2Dim[2*n- 3]; yoksa

int [] değerler =yeni int[3];

değerler[0]=5;

değerler[1]=değerler[0]*2;

değerler[2]=değerler[1]*2;

ama son günüm için güzel, teşekkürler efendim.

 

...

ArrayResize() işleviyle bu sorunu kısmen aşabilirsiniz (bu şekilde dinamik olarak boyutlandırılmış dizilere sahip olabilirsiniz)

Sorun şu ki, ArrayResize() yalnızca tek boyutlu diziler ve bir dizinin ilk boyutu için çalışır (örneğin,[][2] diziniz varsa, onu ArrayResize() ile bu dizi[anySize] gibi bir şeye yeniden boyutlandırabilirsiniz [2]). Herhangi bir başka boyut (ikinci boyut f dizilerinden yukarı) derleme zamanında bilinen sabit bir boyutta olmalıdır.

Ilevna:
Çok teşekkürler, bu iyi gitti, ancak neden normal olarak beyan edebileceğimiz kadar gerekli olduğunu anlamıyorum, veya global kapsamda veya bir fonksiyonun içinde, kılavuzda yazdıklarına benzer bir şey: double Tab2Dim[2*n- 3]; yoksa

int [] değerler =yeni int[3];

değerler[0]=5;

değerler[1]=değerler[0]*2;

değerler[2]=değerler[1]*2;

ama son günüm için güzel, teşekkürler efendim.
 

Bant Göstergem hakkında yardım

Herkese selam,

jband,tmaband vb. gibi birçok Band ind denedikten sonra, sonunda kendi Band İndikatörümü yazmaya karar verdim,

ekli bulacaksınız benim Bant Göstergem, ancak EA Düşük Bant hattı dediği zaman Sıfır Bölme veriyor, koduma baktım orada sıfır bölen yok,

Bunun gibi bir fikriniz veya deneyiminiz varsa, lütfen sorunu çözmeme yardım etmeme izin verin.

şimdiden teşekkürler....

Dosyalar:
aband.gif  20 kb
 

...

Kaynak olmadan (veya özel göstergeyi çağırma kodu olmadan) bir şey söylemek imkansızdır. Göstergeniz çalışıyorsa, hata EA'nızdadır

kemal44:
Herkese selam,

jband,tmaband vb. gibi birçok Band ind denedikten sonra, sonunda kendi Band İndikatörümü yazmaya karar verdim,

ekli bulacaksınız benim Bant Göstergem, ancak EA Düşük Bant hattı dediği zaman Sıfır Bölme veriyor, koduma baktım orada sıfır bölen yok,

Bunun gibi bir fikriniz veya deneyiminiz varsa, lütfen sorunu çözmeme yardım etmeme izin verin.

şimdiden teşekkürler....
 

MA crossover EA'yı Kodlamak için Yardıma ihtiyacınız var

Selam beyler,

Bilgisayardan uzakta olduğumda kullanabilmem için birinin bir MA crossover ea kodlamama yardım edip edemeyeceğini merak ediyorum.

Fikir şu.

1 dakikalık grafik - 3 EMA ve 8 SMA

3 EMA, 8 SMA'nın altına düşerse, para birimi çiftini parametrelerde TP ve SL ön ayarıyla sat.

3 EMA, 8 SMA'yı geçerse, parametrelerde TP ve SL ön ayarı olan döviz çiftini satın alın.

Bu kadar basit bir MA ea'yı kodlamanın mümkün olup olmadığını bilmiyorum ama biri bana yardım ederse çok minnettar olurum.

Şimdiden teşekkür ederim!

 

...

Bu konuyu kontrol ettiniz mi: https://www.mql5.com/en/forum/general ?

jacktrader:
Selam beyler,

Bilgisayardan uzakta olduğumda kullanabilmem için birinin bir MA crossover ea kodlamama yardım edip edemeyeceğini merak ediyorum.

Fikir şu.

1 dakikalık grafik - 3 EMA ve 8 SMA

3 EMA, 8 SMA'nın altına düşerse, para birimi çiftini parametrelerde TP ve SL ön ayarıyla sat.

3 EMA, 8 SMA'yı geçerse, parametrelerde TP ve SL ön ayarı olan döviz çiftini satın alın.

Bu kadar basit bir MA ea'yı kodlamanın mümkün olup olmadığını bilmiyorum ama biri bana yardım ederse çok minnettar olurum.

Şimdiden teşekkür ederim!
 
kemal44:
Herkese selam,

jband,tmaband vb. gibi birçok Band ind denedikten sonra, sonunda kendi Band İndikatörümü yazmaya karar verdim,

ekli bulacaksınız benim Bant Göstergem, ancak EA Düşük Bant hattı dediği zaman Sıfır Bölme veriyor, koduma baktım orada sıfır bölen yok,

Bunun gibi bir fikriniz veya deneyiminiz varsa, lütfen sorunu çözmeme yardım etmeme izin verin.

şimdiden teşekkürler....

BURADA band ind kodudur.

EA arama orta ve yukarı sinyali, ancak düşük bant benim için sorun,

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

//| GöstergePlan.mq4 |

//| Telif Hakkı © 2007, MetaQuotes Yazılım A.Ş. |

//| MetaTrader 5 İşlem Platformu / MetaQuotes Software Corp. |

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

#property telif hakkı "Telif hakkı © 2007, MetaQuotes Software Corp."

#özellik bağlantısı "http://www.metaquotes.net/"

//---- göstergenin ana pencerede çizilmesi

#özellik göstergesi_chart_window

//---- gösterge arabelleği sayısı

#özellik göstergesi_tamponları 3

//---- gösterge rengi

#özellik göstergesi_color1 Altın

#özellik göstergesi_color2 Macenta

#özellik göstergesi_color3 BlueViolet

//---- GÖSTERGE GİRİŞ PARAMETRELERİ

harici int MBand_Period = 15;

extern int UpBand_Period = 15;

harici int DnBand_Period = 15;

extern int ABand_Timeframe =15;

harici int kaydırma =0;

//---- gösterge arabellekleri

çift Ind_Buffer0[];

çift Ind_Buffer1[];

çift Ind_Buffer2[];

çift Ind_Buffer3[];

çift Ind_Buffer4[];

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

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

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

int init()

{

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

GöstergeShortName("ABand"+ABand_Timeframe);

//---- grafik yürütme stilini tanımlama

SetIndexStyle(0, DRAW_LINE);

SetIndexLabel(0,"MBand "+MBand_Period);

SetIndexStyle(2, DRAW_LINE);

SetIndexLabel(2,"UpBand "+UpBand_Period);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(1,"DnBand "+DnBand_Period);

//---- Hesaplama için 3 gösterge tamponu kullanılır

GöstergeTamponları(5);

SetIndexBuffer(0, Ind_Buffer0);

SetIndexBuffer(1, Ind_Buffer1);

SetIndexBuffer(2, Ind_Buffer2);

SetIndexBuffer(3, Ind_Buffer3);

SetIndexBuffer(4, Ind_Buffer4);

//---- óñòàíîâêà íîìåğà áàğà, íà÷èíàÿ ñ êîòîğîãî áóäåò îòğèñîâûâàòüñÿ èíäèêàòîğ

//---- Óñòàíîâêà ôîğìàòà òî÷íîñòè îòîáğàæåíèÿ èíäèêàòîğà

GöstergeDigits(Rakamlar);

//---- ğàçìåğ êàíàëà â ïóíêòàõ

//---- başlatmanın sonu

dönüş(0);

}

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

//| Özel gösterge yineleme işlevi |

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

int başlangıç()

{

//---- Ïğîâåğêà êîëè÷åñòâà áàğîâ íà äîñòàòî÷íîñòü äëÿ äàëüíåéøåãî ğàñ÷¸òà

if(Barlar < MBand_Period + UpBand_Period + DnBand_Period)

dönüş(0);

//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ

if(ArraySize(Ind_Buffer0) < Çubuklar)

{

ArraySetAsSeries(Ind_Buffer0, yanlış);

ArraySetAsSeries(Ind_Buffer1, yanlış);

ArraySetAsSeries(Ind_Buffer2, false);

ArraySetAsSeries(Ind_Buffer3, false);

ArraySetAsSeries(Ind_Buffer4, yanlış);

//----

ArrayResize(Ind_Buffer0, Barlar);

ArrayResize(Ind_Buffer1, Barlar);

ArrayResize(Ind_Buffer2, Barlar);

ArrayResize(Ind_Buffer3, Barlar);

ArrayResize(Ind_Buffer4, Barlar);

//----

ArraySetAsSeries(Ind_Buffer0, true);

ArraySetAsSeries(Ind_Buffer1, true);

ArraySetAsSeries(Ind_Buffer2, true);

ArraySetAsSeries(Ind_Buffer3, true);

ArraySetAsSeries(Ind_Buffer4, true);

}

//----+ ÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ

statik int IndCounted;

//----+ Kayan noktalı değişkenlerin eklenmesi

double Resalt0, Resalt1, Resalt2;

çift fiyat;

//----+ Tamsayı değişkenlerinin eklenmesi ve hesaplanan çubukların alınması

int limit, MaxBar,bar, counted_bars = IndicatorCounted();

int i,k;

//---- olası hataları kontrol etme

if(sayılan_barlar < 0)

dönüş(-1);

//---- son hesaplanan çubuk yeniden hesaplanmalıdır

if(sayılan_barlar > 0)

counted_bars--;

//---- en eski çubuğun numarasını tanımlayarak,

// hangi yeni çubukların yeniden hesaplanacağından başlayarak

limit = Çubuklar - counted_bars - 1;

//---- en eski çubuğun numarasını tanımlayarak,

// hangi yeni çubukların yeniden hesaplanacağından başlayarak

MaxBar = Çubuklar - 1 - (MBand_Period + UpBand_Period + DnBand_Period);

//---- sıfırın başlatılması

if(limit > MaxBar)

{

sınır = MaksBar;

for(bar = Barlar - 1; bar >= MaxBar; bar--)

{

Ind_Buffer0 = 0.0;

Ind_Buffer1 = 0.0;

Ind_Buffer2 = 0.0;

Ind_Buffer3 = 0.0;

Ind_Buffer4 = 0.0;

}

}

//----+ GÖSTERGE HESAPLAMANIN BİRİNCİ DÖNGÜSÜ

i=Barlar-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

i=Barlar-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

çift dak=1000000;

k=i+DnBand_Period-1;

süre(k>=i)

{

fiyat=Resalt1[k];

if(min>fiyat) min=fiyat;

k--;

}

Ind_Buffer1=dk;

ben--;

}

}

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

{

// İşte Resalt0 hesaplama değişkeninin kodu

// UpBand[] tamponunun değerlerine göre

// ve harici değişken0

Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period ,shift, ma_method,i);

}

//----+ GÖSTERGE HESAPLAMA İKİNCİ DÖNGÜSÜ

{

i=Bars-UpBand_Period;

if(counted_bars>UpBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

çift maks=-1000000;

k=i+UpBand_Period-1;

süre(k>=i)

{

fiyat=Resalt2[k];

if(max<fiyat) max=fiyat;

k--;

}

Ind_Buffer2=maks;

ben--;

}

}

//---- sinyal hattı basit hareketli ortalama

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

{

// İşte Resalt0 hesaplama değişkeninin kodu

// UpBand[] tamponunun değerlerine göre

// ve harici değişken0

Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift,ma_method,i);

}

//----+ GÖSTERGE HESAPLAMA ANA DÖNGÜSÜ

//---- sinyal hattı basit hareketli ortalama

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

{

// İşte Resalt0 hesaplama değişkeninin kodu

// UpBand[] tamponunun değerlerine göre

// ve harici değişken0

Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;

}

dönüş(0);

}

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

 

...

iCustom() çağrısını nasıl kullandığınızı gönderebilir misiniz?

kemal44:
BURADA band ind kodudur.

EA arama orta ve yukarı sinyali, ancak düşük bant benim için sorun,

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

//| GöstergePlan.mq4 |

//| Telif Hakkı © 2007, MetaQuotes Yazılım A.Ş. |

//| MetaTrader 5 İşlem Platformu / MetaQuotes Software Corp. |

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

#property telif hakkı "Telif hakkı © 2007, MetaQuotes Software Corp."

#özellik bağlantısı "http://www.metaquotes.net/"

//---- göstergenin ana pencerede çizilmesi

#özellik göstergesi_chart_window

//---- gösterge arabelleği sayısı

#özellik göstergesi_tamponları 3

//---- gösterge rengi

#özellik göstergesi_color1 Altın

#özellik göstergesi_color2 Macenta

#özellik göstergesi_color3 BlueViolet

//---- GÖSTERGE GİRİŞ PARAMETRELERİ

harici int MBand_Period = 15;

extern int UpBand_Period = 15;

harici int DnBand_Period = 15;

extern int ABand_Timeframe =15;

harici int kaydırma =0;

//---- gösterge tamponları

çift Ind_Buffer0[];

çift Ind_Buffer1[];

çift Ind_Buffer2[];

çift Ind_Buffer3[];

çift Ind_Buffer4[];

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

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

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

int init()

{

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

GöstergeShortName("ABand"+ABand_Timeframe);

//---- grafik yürütme stilini tanımlama

SetIndexStyle(0, DRAW_LINE);

SetIndexLabel(0,"MBand "+MBand_Period);

SetIndexStyle(2, DRAW_LINE);

SetIndexLabel(2,"UpBand "+UpBand_Period);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(1,"DnBand "+DnBand_Period);

//---- Hesaplama için 3 gösterge tamponu kullanılır

GöstergeTamponları(5);

SetIndexBuffer(0, Ind_Buffer0);

SetIndexBuffer(1, Ind_Buffer1);

SetIndexBuffer(2, Ind_Buffer2);

SetIndexBuffer(3, Ind_Buffer3);

SetIndexBuffer(4, Ind_Buffer4);

//---- óñòàíîâêà íîìåğà áàğà, íà÷èíàÿ ñ êîòîğîãî áóäåò îòğèñîâûâàòüñÿ èíäèêàòîğ

//---- Óñòàíîâêà ôîğìàòà òî÷íîñòè îòîáğàæåíèÿ èíäèêàòîğà

GöstergeDigits(Rakamlar);

//---- ğàçìåğ êàíàëà â ïóíêòàõ

//---- başlatmanın sonu

dönüş(0);

}

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

//| Özel gösterge yineleme işlevi |

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

int başlangıç()

{

//---- Ïğîâåğêà êîëè÷åñòâà áàğîâ íà äîñòàòî÷íîñòü äëÿ äàëüíåéøåãî ğàñ÷¸òà

if(Barlar < MBand_Period + UpBand_Period + DnBand_Period)

dönüş(0);

//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ

if(ArraySize(Ind_Buffer0) < Çubuklar)

{

ArraySetAsSeries(Ind_Buffer0, yanlış);

ArraySetAsSeries(Ind_Buffer1, yanlış);

ArraySetAsSeries(Ind_Buffer2, false);

ArraySetAsSeries(Ind_Buffer3, false);

ArraySetAsSeries(Ind_Buffer4, yanlış);

//----

ArrayResize(Ind_Buffer0, Barlar);

ArrayResize(Ind_Buffer1, Barlar);

ArrayResize(Ind_Buffer2, Barlar);

ArrayResize(Ind_Buffer3, Barlar);

ArrayResize(Ind_Buffer4, Barlar);

//----

ArraySetAsSeries(Ind_Buffer0, true);

ArraySetAsSeries(Ind_Buffer1, true);

ArraySetAsSeries(Ind_Buffer2, true);

ArraySetAsSeries(Ind_Buffer3, true);

ArraySetAsSeries(Ind_Buffer4, true);

}

//----+ ÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ

statik int IndCounted;

//----+ Kayan noktalı değişkenlerin eklenmesi

double Resalt0, Resalt1, Resalt2;

çift fiyat;

//----+ Tamsayı değişkenlerinin eklenmesi ve hesaplanan çubukların alınması

int limit, MaxBar,bar, counted_bars = IndicatorCounted();

int i,k;

//---- olası hataları kontrol etme

if(sayılan_barlar < 0)

dönüş(-1);

//---- son hesaplanan çubuk yeniden hesaplanmalıdır

if(sayılan_barlar > 0)

counted_bars--;

//---- en eski çubuğun numarasını tanımlayarak,

// hangi yeni çubukların yeniden hesaplanacağından başlayarak

limit = Çubuklar - counted_bars - 1;

//---- en eski çubuğun numarasını tanımlayarak,

// hangi yeni çubukların yeniden hesaplanacağından başlayarak

MaxBar = Çubuklar - 1 - (MBand_Period + UpBand_Period + DnBand_Period);

//---- sıfırın başlatılması

if(limit > MaxBar)

{

sınır = MaksBar;

for(bar = Barlar - 1; bar >= MaxBar; bar--)

{

Ind_Buffer0 = 0.0;

Ind_Buffer1 = 0.0;

Ind_Buffer2 = 0.0;

Ind_Buffer3 = 0.0;

Ind_Buffer4 = 0.0;

}

}

//----+ GÖSTERGE HESAPLAMANIN BİRİNCİ DÖNGÜSÜ

i=Barlar-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

i=Barlar-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

çift dak=1000000;

k=i+DnBand_Period-1;

süre(k>=i)

{

fiyat=Resalt1[k];

if(min>fiyat) min=fiyat;

k--;

}

Ind_Buffer1=dk;

ben--;

}

}

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

{

// İşte Resalt0 hesaplama değişkeninin kodu

// UpBand[] tamponunun değerlerine göre

// ve harici değişken0

Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period ,shift, ma_method,i);

}

//----+ GÖSTERGE HESAPLAMA İKİNCİ DÖNGÜSÜ

{

i=Bars-UpBand_Period;

if(counted_bars>UpBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

çift maks=-1000000;

k=i+UpBand_Period-1;

süre(k>=i)

{

fiyat=Resalt2[k];

if(max<fiyat) max=fiyat;

k--;

}

Ind_Buffer2=maks;

ben--;

}

}

//---- sinyal hattı basit hareketli ortalama

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

{

// İşte Resalt0 hesaplama değişkeninin kodu

// UpBand[] tamponunun değerlerine göre

// ve harici değişken0

Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift,ma_method,i);

}

//----+ GÖSTERGE HESAPLAMA ANA DÖNGÜSÜ

//---- sinyal hattı basit hareketli ortalama

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

{

// İşte Resalt0 hesaplama değişkeninin kodu

// UpBand[] tamponunun değerlerine göre

// ve harici değişken0

Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;

}

dönüş(0);

}

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