Kodlama yardımı - sayfa 485

 
NWFstudent:
Diyelim ki 1 saatlik grafikle işlem yapıyorsunuz ve 4 saatlik grafiği gösteren bir mtf göstergesi kullanıyorsunuz, o zaman ayarın bir sonraki zaman dilimini kullanmasını istiyorum.

yani. 1 saatlik grafikle işlem yapıyorum ve gösterge 4 saatlik verileri kullanıyor, zaman çerçevemi 4 saate değiştirdiğimde göstergenin 4 saatin üzerindeki zaman dilimine geçmesini istiyorum, bu yüzden şimdi günlük verileri kullanacak.

Bu konuyu buldum, ancak kodlayıcı olmadığım için kodu nereye yapıştıracağımdan veya gerçek gösterge için herhangi bir değişiklik gerekip gerekmediğinden emin değilim.

Sonraki Zaman Çerçevesi - MQL4 forumu

Bunu eklemek istediğim gösterge, seçkin forumlardan "Traders Dynamic_Cb_ssa norm Index_alerts+oklar yeni 1.01".

NWFöğrenci

Bunu basit bir şekilde nasıl yapabileceğinizi burada görebilirsiniz: https://www.mql5.com/en/forum/181187/page24 (otomatik olarak 3. yüksek zaman aralığını seçme dahil)

 

Merhaba mladen.

Bir süreliğine son kez... Söz veriyorum.

Artık bileceğiniz gibi, ADX göstergesinin güçlü bir hayranıyım.

Onu çeşitli şekillerde kullanırım ve asla ona karşı bir ticarete girmem.

Ayrıca üç ördek göstergesi ilkesini de seviyorum

ve ikisini birleştirmeye çalıştım ama hiç neşe duymadan.

Bir kez daha deneyeceğim ve sonra başka bir şey deneyeceğim:

Ekli gösterge, görebildiğim kadarıyla, yalnızca bir göstergenin belirtildiği alana sahiptir - Satır 54,57,60.

Diğer her şey zaman çerçevesiyle ilgili görünüyor.

Yerinde 'sma & SMA' - & adx & ADX'in tüm sözlerini kaldırmaya çalıştım, ama şanssız.

Mümkün mü, eğer mümkünse (çok fazla zamanınızı almadan.) nasıl olduğunu bana bildirir.

Harika bir w/son geçirin.

Dosyalar:
 
Jeeves:
Merhaba mladen.

Bir süreliğine son kez... Söz veriyorum.

Artık bileceğiniz gibi, ADX göstergesinin güçlü bir hayranıyım.

Onu çeşitli şekillerde kullanırım ve asla ona karşı bir ticarete girmem.

Üç ördek göstergesi ilkesini de seviyorum

ve ikisini birleştirmeye çalıştım ama hiç neşe duymadan.

Bir kez daha deneyeceğim ve sonra başka bir şey deneyeceğim:

Ekli gösterge, görebildiğim kadarıyla, yalnızca bir göstergenin belirtildiği alana sahiptir - Satır 54,57,60.

Diğer her şey zaman çerçevesi ile ilgili görünüyor.

Yerinde 'sma & SMA' - & adx & ADX'in tüm sözlerini kaldırmaya çalıştım, ama şanssız.

Mümkün mü, eğer mümkünse (çok fazla zamanınızı almadan.) nasıl yapılacağını bana bildirir.

Harika bir w/son geçirin.

jeeves

O göstergede sma yerine adx kullanamazsınız. Adx değerleri tamamen farklı bir değer aralığındadır ve kodda bu gösterge yaptığı için Bid ile karşılaştırılamaz.

 
mladen:
NWFstudent Bunda bunu basit bir şekilde nasıl yapabileceğinizi görebilirsiniz: https://www.mql5.com/en/forum/181187/page24 (otomatik olarak 3. yüksek zaman aralığını seçme dahil)

Teşekkürler, doğrudan kopyala yapıştır oldu

 

Sayın,

biri bana yardım edebilir mi?

bu "OrderModify işlevi için geçersiz bilet"te ne oldu?

Ama diğerinde takas edebilir.

harici çift lot = 0.1;

extern double stopsize = 200;

dış çift profsize = 100;

dış çift Risk =0.01;

int hata;

int bileti;

çift durak;

çift prof;

int init() { dönüş (0); }

int deinit() { dönüş (0); }

int başlangıç()

{

int ToplamSiparişler = 0;

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

{

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if (OrderSymbol() == Symbol())

ToplamSipariş++;

}

if (ToplamSipariş<1)

{

bilet=OrderSend(Symbol(), OP_SELL, getLots(Risk), Bid, 3, 0, 0, NULL,LimeGreen);

stop=(Teklif+durdurma*Puan);

prof=(Teklif-profsize*Puan);

OrderModify(bilet, OrderOpenPrice(), stop, prof, 0, Blue);

}

err=GetLastError();

Yorum(" ");

}

 
hock87:
Sayın,

biri bana yardım edebilir mi?

bu "OrderModify işlevi için geçersiz bilet"te ne oldu?

Ama diğerinde takas edebilir.

Bu, siparişinizin kabul edilmediği / yürütülmediği ve sonuç olarak OrderSend() işlevinin -1 döndürdüğü anlamına gelir. Yeni oluşturulan bir siparişi değiştirmeye çalışmadan önce her zaman bu bilet numarasının > -1 olup olmadığını kontrol edin.

 

Basit dosya (geçmiş dosyaları değil) kullanımına ilişkin herhangi bir örnek var mı?

 
mladen:
xtractalpha Ne olduğunu görmek için test etmek zorunda kalacak. Sorunun ne olduğunu bulursam buraya yazarım

Sevgili Mladen,

İsteğim hakkında herhangi bir güncellemeniz var mı?

hafta sonunun tadını çıkar

Şimdiden teşekkürler,

Thierry

 
xtractalpha:
Sevgili Mladen,

İsteğim hakkında herhangi bir güncellemeniz var mı?

hafta sonunun tadını çıkar

Şimdiden teşekkürler,

Thierry

Thierry

Kodunuzun 74 ve 137. satırlarını silin (her iki satırdan da LotsizeCalc () işlevini çağırıyorsunuz ve bu şekilde her bir onayda lot boyutunu yapay olarak artırıyorsunuz)

Bu satırları sildikten sonra Tamam çalışması gerekir

 
mladen:
Thierry

Kodunuzun 74 ve 137. satırlarını silin (her iki satırdan da LotsizeCalc() işlevini çağırıyorsunuz ve bu şekilde yapay olarak her tikte lot boyutunu artırıyorsunuz)

Bu satırları sildikten sonra Tamam çalışması gerekir

Hızlı yanıtın için teşekkürler!

Satırları sildim, ancak EA hala yanlış lot boyutuyla esnaf açıyor.

EA'nın Martingale kodumu neden görmezden gelmesi gerçekten garip. EA yalnızca lot boyutu 0.10 veya 0.20 olan işlemler açtığı için.... (resme bakın).

Lightshot'ın ekran görüntüsü

Sanırım sorun lotsizecalc işlevim olmalı. Bir işlemi kaybettiğimde, fonksiyonun lot büyüklüğümü martingale miktarıyla çarpmasını istiyorum.

Martingale miktarım 1.5 ve lot büyüklüğüm 0.10 . Bu, art arda 5 işlem kaybettiğimde lot boyutlarının: 0,1, 0,15, 0,22, 0,34, 0,51 olacağı anlamına gelir.

double LotsizeCalc() { if(lastOrderProfit()<0 && tradeNumber <=MaximumTrades) { tradeNumber++; malot=OrderLots()*MartingaleAmount; } else { malot = LotSize; tradeNumber=1; } return(malot); }

Biri bu kodu kontrol edebilir mi?

Şimdiden teşekkürler,

Thierry

Neden: