Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
MQL4:
MODE_LOTSTEP
24
Partileri değiştirmek için adım
MQL5:
SYMBOL_VOLUME_STEP
Anlaşmanın yürütülmesi için minimum hacim değişikliği adımı
çift
Bu nedenle, eğer 0,01 ise, lot boyutundaki en küçük yukarı veya aşağı adım hakkında sizi bilgilendirir, o zaman lotlarınız 0.01, 0.02, 0.03, 0.04 vb. kabul etmelidir.
0,1 olsaydı, lot büyüklüğündeki değişikliğiniz 0,1 sonraki 0,2 sonraki 0,3'ü karşılaması gerekirdi.
Bu yüzden anlamıyorum:
{
lotstep=lotstep* 100 ;
Print ( "lot step: " ,lotstep);
}
Belki farklı bir parti adımı demek istiyorsun?
Normalde değeri değiştirmezsiniz çünkü her bir sembol için sabittir.
if (sparam==lotbuttonplus)
{
if (lotsize>=(lotstep* 100 ))
{
lotstep=lotstep* 100 ;
Print ( "lot step: " ,lotstep);
}
Sezgisel olarak adlandırılmış bir değişkenin değerini değiştirirseniz işler kafa karıştırıcı olabilir. Ben lotstep'in her zaman lotstep olduğunu öneririm, başka bir şey değil.
Böyle bir şeye ne dersin?
lotmaxdivide=lotmax/lotmax *(lotvalue* 10 );
lotsize= fmin (lotmaxdivide,lotsize+(( ctrlfalse) ? increment * 10 : increment ));
Marco vd Heijden :
Bu yüzden anlamıyorum:
{
lotstep=lotstep* 100 ;
Print ( "lot step: " ,lotstep);
}
Belki farklı bir parti adımı demek istiyorsun?
Normalde değeri değiştirmezsiniz çünkü her bir sembol için sabittir.
Evet! Farklı lot adımını kastediyorum, yani lot büyüklüğü EURUSD için lot büyüklüğü 1.00'e ulaştığında. O zaman parti boyutunu 1.00 artırmam gerekiyor. Parti büyüklüğü 1.00'e ulaşmadan önce - parti büyüklüğü 0.01, 0.02 vb. (hangisini istiyorum) - ama parti büyüklüğü 1.00'e ulaştıktan sonra - parti büyüklüğü 1.00, 2.00, 3.00 vb.
Bu alt başlıkta yapmak istediğim şey bu.
Çok daha fazla teşekkürler.
Sezgisel olarak adlandırılmış bir değişkenin değerini değiştirirseniz işler kafa karıştırıcı olabilir. Ben lotstep'in her zaman lotstep olduğunu öneririm, başka bir şey değil.
Böyle bir şeye ne dersin?
lotmaxdivide=lotmax/lotmax *(lotvalue* 10 );
lotsize= fmin (lotmaxdivide,lotsize+(( ctrlfalse) ? increment * 10 : increment ));
( Ben sadece biraz değiştim - ... ? lotstep : lotstep*100 - ...? lotstep : lotstep*10 )
Evet! Orijinal kodumda işler karışıyor.
Büyük yardımınızdan sonra sorunumu çözüyorum. Çok teşekkürler.
Ayrıca lot büyüklüğünün böyle artmasını diliyorum.
Böylece parti büyüklüğü 0.99, 1.00, 1. 01 , 1. 11 gibi artar.
Ama buna 0.99, 1.00, 1.10, 1.20 vb. ihtiyacım var.
Şimdiden teşekkürler.
Bence 0.99, 1.00, 1. 01 , 1.02 . en iyi fikir olur.
Sanırım mevcut en küçük adıma bağlı kalın.
Bu ULTRA BÜYÜK adımları neden atmak istiyorsunuz?
Bunu denediniz mi?
Lütfen dene.Bence 0.99, 1.00, 1. 01 , 1.02 . en iyi fikir olur.
Lütfen dene.Sanırım mevcut en küçük adıma bağlı kalın.
Bu ULTRA BÜYÜK adımları neden atmak istiyorsunuz?
Bunu denediniz mi?
Zaten denedim, lot büyüklüğüne 5.00 ulaşmam gerekiyorsa 40 kez lot artı düğmesine ( + ctrl ) tıklamam gerektiğini düşünüyorum.
Vay ve neden beş?
* yerine + ve - kullanabilirsiniz
Ama robotumda onu tamamen yok olmaktan kurtaran bir satır var ve o da şu:
Ama robotumda onu tamamen yok olmaktan kurtaran bir satır var ve o da şu:
Bu kesinlikle doğru, tabii ki o ortama da saygı duyuyorum.
Ama bu sadece bir sorun - yani her an ayarlayabilirim.
Belki bu parti büyüklüğü hakkında biraz deneyime ihtiyacım var.
Bence bu alt konu şimdilik kapanabilir.
Teşekkürler @Marco vd Heijden ve @honest_knave
#Lot Adımı - Kapalı
#Lot Size Maks - Açık
@Marco vd Heijden - EA'larım için kodun bu bölümünü yazmak için ilham aldığım en son yorumunuz için çok daha fazla teşekkürler. (Diğer işlevleri yazmayı bıraktım - bunu diğerlerinden önce yazmaya çalışıyorum)
Bu yüzden, genellikle olduğu gibi parti büyüklüğü max için bir şey test etmeye çalışıyorum.
Parti boyutu maksimum lot boyutundan daha iyi olduğunda, yazdırma işlevi ticaret modu hakkında bana izin vermiyor.
Bu sorunu çözdükten sonra bu fonksiyonu Sat ve Al buton fonksiyonlarını koymam gerekiyor.
S: Yazdırma işlevini nasıl yapabilirim, ticaret modu hakkında da bana izin verir mi? (- parti büyüklüğü parti büyüklüğü maks ya da daha az olduğundan daha iyi )
S: Bu yöntem parti büyüklüğü max için faydalı mı?
Şimdiden teşekkürler.
{
string trademode;
ENUM_ACCOUNT_TRADE_MODE accounttype=( ENUM_ACCOUNT_TRADE_MODE ) AccountInfoInteger ( ACCOUNT_TRADE_MODE );
if (accounttype== ACCOUNT_TRADE_MODE_DEMO )
{
switch (accounttype)
{
case ACCOUNT_TRADE_MODE_DEMO :
if ( lotsize > ( lotstep * lotsizemax ) ) return ;
trademode= "demo" ;
break ;
case ACCOUNT_TRADE_MODE_CONTEST :
trademode= "contest" ;
break ;
default :
trademode= "live" ;
break ;
}
}
Print ( "Trade Mode: " ,trademode);
}
Demo hesap mı yoksa canlı hesap mı olduğunu doğrulamak için hayır, yarışma nadiren kullanılır.
Lot max çok kolay olabilir.
// calculate lotsize here
//---
// check if lotsize is not too high
if (lotsize>lotsize_max)
{
lotsize=losize_max;
}