Kodlama yardımı - sayfa 100

 
dasssi:
mladen

öncelikle umarım artık bana kızmazsın..

ikincisi, Ea'yı yüklemeye çalışırken bir hatam var

dasssi

EA'yı yeniden adlandırmayı deneyin (adındaki Fransızca harf nedeniyle size bir soruna neden olabilir - çok basit bir EA olduğu için başka hiçbir sorun bunun nedeni olamaz)

 

teşekkürler şimdi çalışıyor/

strateji test cihazında iyi görünmüyor

 
dasssi:
teşekkürler şimdi çalışıyor/ strateji test cihazında iyi görünmüyor

Bu sadece sinyaller söz konusu olduğunda bir göstergenin her birinden nasıl çağrılması gerektiğine bir örnektir. Tam bir EA olmaktan çok uzak (elit ve gelişmiş bölümdeki yeni EA'lara bir göz atın ve kodu karşılaştırın - ne demek istediğimi anlayacaksınız). Yani, After-rage'in kodlama problemini çözmesine yardımcı oldu.

 

Teşekkür ederim !! Giriş pozisyonları için iyi çalışır. EA'mın neden çalışmadığını bilmiyorum ama önemli değil. Bu yüzden siparişleri kapatmak için kod eklemeye çalışıyorum ama o da çalışmıyor. Garip çünkü giriş pozisyonları için yapı kodunu aldım ve lot hacmini iki katına çıkardım. bir bakabilir misin?

Dosyalar:
 
After-rage:
Teşekkür ederim !! Giriş pozisyonları için iyi çalışır. EA'mın neden çalışmadığını bilmiyorum ama önemli değil. Bu yüzden siparişleri kapatmak için kod eklemeye çalışıyorum ama o da çalışmıyor. Garip çünkü giriş pozisyonları için yapı kodunu aldım ve lot hacmini iki katına çıkardım. bir bakabilir misin?

öfke sonrası

Bunu yapmanın bir yolu (sinyal değiştiğinde açılmış bir siparişi kapatın) şimdi kodda

Dosyalar:
 

Çok teşekkür ederim ! Çok iyi çalışıyor. Bunun üzerinde çalışacağım ve neden yanıldığımı göreceğim.

 

Birisi, yürütme süresindeki bir gösterge ayarını kod yoluyla değiştirmenin mümkün olup olmadığını biliyor mu? örneğin periyodun ATR'ye eşit olduğu bir CCİ'ye sahip olmak istiyorum, bu yüzden ATR değiştiğinde CCİ periyodu da değişir..her yeni çubukta göstergeyi başlatmak gibi.. sorun şu ki nasıl yeniden yapacağımı bilmiyorum - indi'yi kod aracılığıyla init.. yeni çubuk açıkken ve periyot doğru şekilde değiştiğinde init()'i çağırmaya çalıştım ama gösterge yenilenmiyor...son çubuk değeri doğru ama bütün indi'nin yeniden boyamasını istiyorum yeni ayarlar.. umarım net olabilmişimdir..Teşekkürler

 
AtApi:
Birisi, yürütme süresindeki bir gösterge ayarını kod yoluyla değiştirmenin mümkün olup olmadığını biliyor mu? örneğin periyodun ATR'ye eşit olduğu bir CCİ'ye sahip olmak istiyorum, bu yüzden ATR değiştiğinde CCİ periyodu da değişir..her yeni çubukta göstergeyi başlatmak gibi.. sorun şu ki nasıl yeniden yapacağımı bilmiyorum - indi'yi kod aracılığıyla init.. yeni çubuk açıkken ve periyot doğru şekilde değiştiğinde init()'i çağırmaya çalıştım ama gösterge yenilenmiyor...son çubuk değeri doğru ama bütün indi'nin yeniden boyamasını istiyorum yeni ayarlar.. umarım net olabilmişimdir..Teşekkürler

Tüm indi değerlerini yeniden boyamak istiyorsanız, başlangıçtaki ana döngü sayısını Bars-1'e ayarlayın ve değerleri yeni ayarlarla hesaplayın.

 

Hızlı cevabınız için teşekkürler...

lütfen şu örneğe bir bakın:

extern int IndicatorPeriod = 10;

extern int AtrPeriod= 10;

extern bool DynamicPeriod = TRUE;

int init()

{

if (DynamicPeriod)

{

double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);

IndicatorPeriod = atr;

}

}

int start()

{

datetime lastBarOpenTime;

datetime thisBarOpenTime = Time[0];

if (DynamicPeriod)

{

if(thisBarOpenTime != lastBarOpenTime)

{

lastBarOpenTime = thisBarOpenTime;

init();

}

}

int i,counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

// is this what you are talking about?

int limit=MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--) // MAIN LOOP

{

wherever calculation

}

}

 
AtApi:
Hızlı cevabınız için teşekkürler...

lütfen şu örneğe bir bakın:

extern int IndicatorPeriod = 10;

extern int AtrPeriod= 10;

extern bool DynamicPeriod = TRUE;

int init()

{

if (DynamicPeriod)

{

double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);

IndicatorPeriod = atr;

}

}

int start()

{

datetime lastBarOpenTime;

datetime thisBarOpenTime = Time[0];

if (DynamicPeriod)

{

if(thisBarOpenTime != lastBarOpenTime)

{

lastBarOpenTime = thisBarOpenTime;

init();

}

}

int i,counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

// is this what you are talking about?

int limit=MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--) // MAIN LOOP

{

wherever calculation

}

}

AtApi

Değerleri ara belleğe kaydetmek istiyorsanız (o çubuk için tam zaman başına bir değer), o zaman evet, doğru yol budur. Ancak tüm çubukların "yeniden boyanmasını" istiyorsanız, çizgiyi her zaman Çubuk -1'e eşit olacak şekilde ayarlayın.