[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 198

 
SK. писал(а) >>

Buraya bak.

SK'ye çok teşekkürler, Vinin!

geçici çözüm için mükemmel bir örnek.

Doğruyu bulmak için harcanan çabaya değmiş olmalı. :-)

Görünüşe göre MQL4'te bir programcının zamanını boşa harcamanın ne kadar "iyi" olduğunu biliyorlar. :-)

 
SK. >> :

Buraya bak.

Teşekkürler, çok faydalı bir makale.

 
stera писал(а) >>

SK'ye çok teşekkürler, Vinin!

granit77 yazdı >>

Teşekkürler, çok faydalı bir makale.

Bu konuyla ilgileniyorsanız, bu makaleye bakın http://www.forextrade.ru/mqlabs/sozdaniie-indikatora-kaghi

Ufuk için pek çok detay düşünülmüş. çizgiler, gösterilen teknoloji. çözüm (değişim).

Dikey de çıktı. Ama yapımlarının bazı kurallarını anlayamadım. Örneğin parite endeksini değiştirmek yeterlidir. arabellekler, görüntü hareket ettikçe (blok 4-5, arabellek numaralarını 6 ve 7'den 5 ve 6'ya değiştirin ve 5. 7m'yi yapın).

 
Acemi soru. Düzenli olarak belirli bir saatte açılıp kapanan otomatik alım satımı içeren mql4'te Expert Advisor yazılabilir mi? test etmek istiyorum. Ben esas olarak roulang kullandım, ancak bu fikirler görünüşe göre orada uygulanabilir değil.
 

Göstergelerin ve uzmanların yürütme sırası nedir?

Bir grafikte 2 göstergem var.

Ayrıca, toplamda, yürütme süreleri bazen keneler arasındaki süreyi önemli ölçüde aşmaktadır.

İlk önce hangi gösterge yürütülür?

Paralel olarak çalışmıyorlarsa, farklı çizelgelerde yürütme sırası olmadığı sürece, onları farklı çizelgelere yerleştirmek mantıklı olabilir.

Aynı çizelgede ve farklı çizelgelerde ise bir gösterge veya uzmandan önce ne yapılır?

 

x[i]=(Aç[i]-Kapat[i]);

MomBuffer[i]=x[i];

Çalışmıyor.:(


Lütfen bana ne yapacağımı söyle. Zaten kafamı kırdı.

 
Feonix >> :

x[i]=(Aç[i]-Kapat[i]);

MomBuffer[i]=x[i];

Çalışmıyor.:(

Lütfen bana ne yapacağımı söyle. Zaten kafamı kırdı.

Ne yapalım? Tüm kodu göster!

 
OneDepo >> :

Ne yapalım? Tüm kodu göster!

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

//| Momentum.mq4 |

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

//| http://www.metaquotes.net/ |

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

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

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


#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 1

#özellik göstergesi_color1 DodgerBlue

//---- giriş parametreleri

harici int MomPeriod=14;

int ret;

Çift x[];

//---- arabellekler

çift MomBuffer[];

çift ocfor[];

çift oktan[];

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

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

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

int init()

{

string kısa_adı;

//---- gösterge çizgisi

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,MomBuffer);

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

short_name="Anne("+MomPeriod+")";

GöstergeShortName(short_name);

SetIndexLabel(0,short_name);

//----

SetIndexDrawBegin(0,MomPeriod);

//----

dönüş(0);

}

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

//| momentum |

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

int başlangıç()

{

int i,counted_bars=IndicatorCounted();

//----

if(Bars<=MomPeriod) return(0);

//----

i=barlar;

while(i>=0)

{

x[i]=(Aç[i]-Kapat[i]);

MomBuffer[i]=x[i];

ben--;


}

dönüş(0);

}

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



Double x[] yerine koyarsak; x'i ikiye katlamak; o zaman her şey çalışır, ancak ismin anlamı mombuffer[i]= x[i] atamak

 
Feonix писал(а) >>

 //+------------------------------------------------------------------+
//| Momentum.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+

#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"


#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 DodgerBlue

//---- input parameters

extern int MomPeriod = 14 ;

int ret ;
double x [ ] ;

//---- buffers
double MomBuffer [ ] ;
double ocfor [ ] ;
double octen [ ] ;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+

int init ( )
{
string short_name ;
//---- indicator line
IndicatorBuffers ( 2 ) ;
SetIndexStyle ( 0 , DRAW_LINE ) ;
SetIndexBuffer ( 0 , MomBuffer ) ;
SetIndexBuffer ( 1 , x ) ;

//---- name for DataWindow and indicator subwindow label
short_name = "Mom(" + MomPeriod + ")" ;
IndicatorShortName ( short_name ) ;
SetIndexLabel ( 0 , short_name ) ;

//----
SetIndexDrawBegin ( 0 , MomPeriod ) ;

//----
return ( 0 ) ;

}

//+------------------------------------------------------------------+
//| Momentum |
//+------------------------------------------------------------------+

int start ( )
{
int i , counted_bars = IndicatorCounted ( ) ;

//----
if ( Bars < = MomPeriod ) return ( 0 ) ;
//----
i = Bars ;

while ( i > = 0 )
{
x [ i ] = ( Open [ i ] - Close [ i ] ) ;
MomBuffer [ i ] = x [ i ] ;
i - - ;
}

return ( 0 ) ;
}

//+------------------------------------------------------------------+
Bunu yapabilir misin
 
Feonix >> :

.

.

int başlangıç()

{

int i,counted_bars=IndicatorCounted();

//----

if(Bars<=MomPeriod) return(0);

//----

i=barlar;


ArrayResize(x, i+1);


while(i>=0)

{

x[i]=(Aç[i]-Kapat[i]);

MomBuffer[i]=x[i];

ben--;

}

dönüş(0);

}



Double x[] yerine koyarsak; x'i ikiye katlamak; o zaman her şey çalışır, ancak ismin anlamı mombuffer[i]= x[i] atamak

Bir dizi bildirdiniz, ancak bunun için bellek ayırmadınız.

Vinin , bellek ayırmanın bir yolunu verdi , ikincisini ArrayResize() işlevi aracılığıyla kullanabilirsiniz.