Sipariş göndermek zor geliyor. - sayfa 3

 
CT Trade'e benziyor.
 
Dinamik parti boyutunu beğenmiyor mu? Sabit bir lot büyüklüğü kullandığımda ct ticareti ile çalışır.
 
MetaNt :
Dinamik parti boyutunu beğenmiyor mu? Sabit bir lot büyüklüğü kullandığımda ct ticareti ile çalışır.

CTrade , OrderSend() için bir sarmalayıcıdır.

0,07 ve hatta 1 hacimde çalışmadığını yazmışsınız. Bunu nasıl tanımlarsınız? Parti = 0.07 ?

 
angevoyageur :

CTrade, OrderSend() için bir sarmalayıcıdır.

0,07 ve hatta 1 hacimde çalışmadığını yazmışsınız. Bunu nasıl tanımlarsınız? Parti = 0.07 ?

Mqlrequest ve Mqlresult'u doğru yazıp yazmadığımdan emin değildim ve bunun yerine CTrade kullandım, sabit hacimler kullanırsam işe yaradığını gördüm ve şimdi sabit hacimleri tamsayılarla çarpabileceğimi gördüm, ama denersem hacimleri kesirlerle değiştirmek için geçersiz lot boyutu gibi hatalar alıyorum, değiştirilen lot boyutunun sonucu [ geçersiz hacim ] hatasıyla yazdırılıyor.
 
Belirli karmaşıklıkta ondalık sayılar, çift normalleştirmeyi deneyeceğim.
 
MetaNt :
Belirli karmaşıklıkta ondalık sayılar, çift normalleştirmeyi deneyeceğim.
Çifte normalleştirme, karmaşık ondalık sayılar için bir düzeltme sağlandı, bunu dinamik lotumda deneyeceğim.
 
MetaNt :
Çifte normalleştirme, karmaşık ondalık sayılar için bir düzeltme sağlandı, bunu dinamik lotumda deneyeceğim.

Sabit.

CT Al/Sat'ın dışında kalan bazı denklemlerdeki ölçekleme faktörlerimden biri gibi görünüyor. Bu mql4'te karşılaştığım bir sorun değildi, bu yüzden bulmam biraz zaman aldı, mql4 tekrar güncellenirse buna dikkat etmem gerekecek.

Bu sorunu yaşayan başka biri için NormalizeDouble() işlevinin rakam kısmı için 2'yi kullanın.  

 

007 mi diyorsun?

Belki de Bay Bond'a sormalısın ;-)

 

Burada da aynı sorunla karşılaşıyorum gibi görünüyor. Parti boyutunun SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX ve SYMBOL_VOLUME_STEP gereksinimlerini karşıladığını onayladım.

Örneğin şunu alıyorum:

2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: 1.36934 sl'de 0,53 EURUSD anında satış: 1.37434 tp: 1.35934 [geçersiz hacim]

EA'yı bu sembol ve şu özelliklerle geriye dönük test ederken:


İşte sipariş göndermek için kullanıyorum kodu:

 int    losses=1 ;
int    DecimalPoints=2;
double Risk= 0.03 ;
double Inc= 0.1 ;
my_symbol= Symbol ();
leverage= AccountInfoInteger ( ACCOUNT_LEVERAGE );
contract= SymbolInfoDouble (my_symbol, SYMBOL_TRADE_CONTRACT_SIZE );
min_lot= SymbolInfoDouble (my_symbol, SYMBOL_VOLUME_MIN );
max_lot= SymbolInfoDouble (my_symbol, SYMBOL_VOLUME_MAX );
trade_size=equity*(Risk/ 100 )*leverage;
trade_size/=contract;
trade_size+=losses*Inc;
NormalizeDouble (trade_size,DecimalPoints);
   if (trade_size<min_lot)
    {
     trade_size=min_lot;
    }
   else if (trade_size>max_lot)
    {
     trade_size=max_lot;
    }
trade.Sell(trade_size,my_symbol,price, 0 ,price-tp, "Expert Sell" );

DÜZENLE:

Elbette, tam olarak bu lot boyutuyla işlemleri manuel olarak yapabilirim.

 
Candles :

Burada da aynı sorunla karşılaşıyorum gibi görünüyor. Parti boyutunun SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX ve SYMBOL_VOLUME_STEP gereksinimlerini karşıladığını onayladım.

Örneğin şunu alıyorum:

2014.04.07 14:49:35 2014.04.04 16:00:00 CTrade::OrderSend: 1.36934 sl'de 0,53 EURUSD anında satış: 1.37434 tp: 1.35934 [geçersiz hacim]

EA'yı bu sembol ve şu özelliklerle geriye dönük test ederken:


İşte sipariş göndermek için kullanıyorum kodu:

DÜZENLE:

Elbette, tam olarak bu lot boyutuyla manuel olarak işlem yapabilirim.

Bu satır etkisizdir:

 NormalizeDouble (trade_size,DecimalPoints);

Sonucu bir değişkene etkilemeniz gerekir, NormalizeDouble belgelerine bakın.

trade_size= NormalizeDouble (trade_size,DecimalPoints);