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

 

tartışmayacağım! Deneyin - neler olduğunu anlayacaksınız. Sadece bu sorunla karşılaşacak olanlar için yazıyorum. TERS İNDEKSLEME VAR. böylece grafik zaman içinde ters çevrilir. Göstergenin metnini gönderiyorum. SAĞ. Grafiğe bakın, üzerinde çok ilginç girişler bulunabilir. Bana öyle geldi ki, MASD'den daha erken ve daha doğru giriyor

#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 1
#özellik göstergesi_renk1 Kırmızı

double Buf_0[1000],Bears_array[1000],Bulls_array[1000],Line1[1000],Line2[1000];
int init()
{
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
dönüş;
}
harici çift PeriodPower=13;
harici çift MA_Period=5;

int başlangıç()
{
int i=Bars-IndicatorCounted()-1;
while(i>=0)
{
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
ArraySetAsSeries(Bears_array,true); // iMAOnArray işlevinde indekslemeyi senkronize etmek için kullanılır
ArraySetAsSeries(Bulls_array,true);
Line1[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMMA,i);
Line2[i]=iMAOnArray(Bulls_array,0,MA_Period,0,MODE_SMMA,i);
Buf_0[i]=(Satır2[i]+Satır1[i])/Nokta/10;

ben--;
}
dönüş;
}


 
Stepan241 писал(а) >>

tartışmayacağım! Deneyin - neler olduğunu anlayacaksınız. Sadece bu sorunla karşılaşacak olanlar için yazıyorum. TERS İNDEKSLEME VAR. böylece grafik zaman içinde ters çevrilir. Göstergenin metnini gönderiyorum. SAĞ. Grafiğe bakın, üzerinde çok ilginç girişler bulunabilir. Bana öyle geldi ki, MASD'den daha erken ve daha doğru giriyor

#özellik göstergesi_separate_window
#özellik göstergesi_tamponları 1
#özellik göstergesi_renk1 Kırmızı

double Buf_0[1000],Bears_array[1000],Bulls_array[1000],Line1[1000],Line2[1000];
int init()
{
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
dönüş;
}
harici çift PeriodPower=13;
harici çift MA_Period=5;

int başlangıç()
{
int i=Bars-IndicatorCounted()-1;
while(i>=0)
{
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
ArraySetAsSeries(Bears_array,true); // iMAOnArray işlevinde indekslemeyi senkronize etmek için kullanılır
ArraySetAsSeries(Bulls_array,true);
Line1[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMMA,i);
Line2[i]=iMAOnArray(Bulls_array,0,MA_Period,0,MODE_SMMA,i);
Buf_0[i]=(Satır2[i]+Satır1[i])/Nokta/10;

ben--;
}
dönüş;
}

Kaçabilirsin, ama doğru yapabilirsin.

Gösterge en fazla 8 arabellek içerebilir. Parça ara hesaplamalar için kullanılabilir.

Performans kendiniz için kritik değilse de, evet, bu şekilde yapabilirsiniz.

 
Vinin >> :

Kaçabilirsin, ama doğru yapabilirsin.

Gösterge en fazla 8 arabellek içerebilir. Parça ara hesaplamalar için kullanılabilir.

Performans kendiniz için kritik değilse de, evet, bu şekilde yapabilirsiniz.

Kavram normal görecelidir. Hem de konsept doğru. Bunlar daha felsefi sorular. Algoritmayı EN İYİ şekilde uygulamaya çalıştım. TEK döngüde bir hindi inşa etmek. Bence bu, AYNI GÜVENİLİR SONUÇLA en az demir yüküdür.

Pekala, 8 tampon var ve savaş zamanında sayıları 54 buçuk'a ulaşabilir, yani herhangi bir kazıcı bunu bilir. :-)

 
Stepan241 писал(а) >>

Kavram normal görecelidir. Hem de konsept doğru. Bunlar daha felsefi sorular. Algoritmayı EN İYİ şekilde uygulamaya çalıştım. TEK döngüde bir hindi inşa etmek. Bence bu, AYNI GÜVENİLİR SONUÇLA en az demir yüküdür.

Pekala, 8 tampon var ve savaş zamanında sayıları 54 buçuk'a ulaşabilir, yani herhangi bir kazıcı bunu bilir. :-)

Her şeyi tek bir döngüde yapabilir ve arabellek sayısını minimumda kullanabilirsiniz, ancak bu tamamen farklı bir hikaye.

Bir diziyle (arabellek değil) herhangi bir işlem uzun zaman alır. Ve bu nedenle, birkaç döngü yapmak, her şeyi tek bir döngüye koymaktan daha kolay ve hızlıydı.

Gösterge anlamında daha hızlı

 
Vinin >> :

Her şeyi tek bir döngüde yapabilir ve arabellek sayısını minimumda kullanabilirsiniz, ancak bu tamamen farklı bir hikaye.

Bir diziyle (arabellek değil) herhangi bir işlem uzun zaman alır. Ve bu nedenle, birkaç döngü yapmak, her şeyi tek bir döngüye koymaktan daha kolay ve hızlıydı.

Gösterge anlamında daha hızlı

Sevgili Vinin, Söyle bana, önerdiğin fikrin ne çizdiğini görmeye çalıştın mı?

 
Vinin >> :

Her şeyi tek bir döngüde yapabilir ve arabellek sayısını minimumda kullanabilirsiniz, ancak bu tamamen farklı bir hikaye.

Bir diziyle (arabellek değil) herhangi bir işlem uzun zaman alır. Ve bu nedenle, birkaç döngü yapmak, her şeyi tek bir döngüye koymaktan daha kolay ve hızlıydı.

Gösterge anlamında daha hızlı

Sevgili Vinin, Söyle bana, önerdiğin fikrin ne çizdiğini görmeye çalıştın mı?

int başlangıç()
{
int i, limit=Bars-IndicatorCounted()-1;
for (i=limit;i>=0;i--){
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i);
}
for (i=limit;i>=0;i--){
MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_EMA,i);
MA_Bulls[i]=iMAOnArray(Bulls_array,100,MA_Period,0,MODE_SMA,i);
}
dönüş;
}

İlk döngüde bir dizi boğa ve ayı oluşturduğunuzu anladım. İkinci döngüde bu iki diziyi düzeltirsiniz. O zaman her şey çok çikolata ise, o zaman sadece bu yumuşatmanın sonucuna bakın ve her şeyi anlayacaksınız ve zor olmasa da AYNI DÖNEM İÇİN ORİJİNAL Boğalar ve Ayılar ile karşılaştırın.

 


SMOOTHED GRAPH'e yakından bakın

 
Stepan241 писал(а) >>

Genelde benzer bir gösterge kodundan bahsetmiştim.

Dosyalar:
test.mq4  2 kb
 
Benim versiyonumla sizinkinin hızını karşılaştırın
 

Kabul ediyorum. Her şey iyi çalışıyor ve her şey doğru. Sadece ekrandaki çıktıya ihtiyacım vardı

Buf_0[i]=(Satır2[i]+Satır1[i])/Nokta/10;

Ayrı bir döngüde yapın. Senin seçeneğin benim için daha çok tercih ediliyor çünkü FOR döngüsü daha çok hoşuma gidiyor. Yardımınız ve ilginiz için teşekkürler.