EA'yı düzeltmeye yardım edin - sayfa 2

 
delcor wrote >>

söyle bana, bu EA çalıştığında ne olduğunu adım adım göstermek için EA programlamasında bir test sistemi var mı?

hayır, test için adım adım ftn yoktur; yıl programlarının kontrol ve çeşitli bölümleri için değerleri görüntülemek için Yazdır'ı kullanın

 

Lot Optimizasyonu için kodunuzu beğendim; Kayıplar arttıkça lot hacmini artırmak için ince ayar yaptım

 
ronaldosim :

Lot Optimizasyonu için kodunuzu beğendim; Kayıplar arttıkça lot hacmini artırmak için ince ayar yaptım

lütfen bana göster

veya bana EA'nızı gönderin

 
delcor :

lütfen bana göster

veya bana EA'nızı gönderin

bana bir hata veriyor

" CalculateCurrentOrders " işlevine başvurulmuyor ve exp dosyasından kaldırılacak
 
delcor wrote >>

bana bir hata veriyor

"CalculateCurrentOrders" işlevine başvurulmuyor ve exp dosyasından kaldırılacak

sadece bu hatayı görmezden gelin; tek söylediği, kullanmadığınız CalculateCurrentOrders adlı bir işleve sahip olduğunuzdur; yani ya silersin ya da bırakırsın; herhangi bir zarara neden olmaz; sistem, derlenmiş dosya ex4'ten bu işlevi kaldıracağını söylüyor

 
delcor wrote >>

lütfen bana göster

veya bana EA'nızı gönderin

LotOptimization işlevi altında, kodunuzu bunun gibi bir şeyle değiştirin

lot=lot*ÇarpmaFaktörü*kayıplar

MulitplyFactor = 2 veya 3 veya 4 vb.

kayıplar arttıkça yıllık parti büyüklüğünü artırmanın yıl EA için tehlikeli olduğunu söyledikten sonra, dikkatli kullanın

 
ronaldosim :

LotOptimization işlevi altında, kodunuzu bunun gibi bir şeyle değiştirin

lot=lot*ÇarpmaFaktörü*kayıplar

MulitplyFactor = 2 veya 3 veya 4 vb.

kayıplar arttıkça yıllık parti büyüklüğünü artırmanın yıl EA için tehlikeli olduğunu söyledikten sonra, dikkatli kullanın

Bunun gibi birşey mi demek istedin

//+------------------------------------------- -------------------+
//| Optimum parti boyutunu hesaplayın |
//+------------------------------------------- -------------------+
çift LotOptimize Edilmiş()
{
double lot=Lot*Çarpma*kayıplar;
int siparişler=TarihToplam(); // geçmiş sipariş toplamı
int kayıplar=0; // Kesintisiz siparişlerin sayısı
//---- parti boyutunu seç
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- Kesintisiz siparişlerin kayıp sayısını hesapla
if(DecreaseFactor>0)
{
for(int i=sipariş-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Geçmişte hata!"); kırmak; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) devam ediyor;
//----
if(OrderProfit()>0) kırılması;
if(OrderProfit()<0) kayıpları++;
}
if(kayıplar>1) lot=NormalizeÇift(lot-lot*kayıplar/AzalışFaktörü,1);
}
//---- parti boyutunu iade et
if(lot<0.1) lot=0.1;
dönüş(lot);
}
 
delcor wrote >>

Bunun gibi birşey mi demek istedin

//+------------------------------------------- -------------------+
//| Optimum parti boyutunu hesaplayın |
//+------------------------------------------- -------------------+
çift LotOptimize Edilmiş()
{
double lot=Lot*Çarpma*kayıplar;
int siparişler=TarihToplam(); // geçmiş sipariş toplamı
int kayıplar=0; // Kesintisiz siparişlerin sayısı
//---- parti boyutunu seç
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- Kesintisiz siparişlerin kayıp sayısını hesapla
if(DecreaseFactor>0)
{
for(int i=sipariş-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Geçmişte hata!"); kırmak; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) devam ediyor;
//----
if(OrderProfit()>0) kırılması;
if(OrderProfit()<0) kayıpları++;
}
if(kayıplar>1) lot= NormalizeDouble(Lots*Çarpma*kayıplar;,1); }
//---- parti boyutunu iade et
if(lot<0.1) lot=0.1;
dönüş(lot);
}

hayır, if(kayıplar>1)'den sonra koyun

 
ronaldosim :

hayır, if(kayıplar>1)'den sonra koyun

bana hata veriyor

'Çarpma' - değişken tanımlanmadı C:\Program Files\Interbank FX Trader 4\experts\jbtest4.mq4 (57, 44)

nerede tanımlayacağım

 
delcor :

bana hata veriyor

'Çarpma' - değişken tanımlanmadı C:\Program Files\Interbank FX Trader 4\experts\jbtest4.mq4 (57, 44)

onu nerede tanımlayacağım



tamam int çarpma=2 var;

Neden: