Hatalar, hatalar, sorular - sayfa 112

 
sandex :

OrderCheck işlevini kimler kullandı?

İşte böyle bir tasarım:

           MqlTradeRequest request;
           request.action=TRADE_ACTION_DEAL;
           request.symbol=_Symbol;
           request.volume=volume_exe;
           request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
           request.sl=0;
           request.tp=0;
           request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
           request.type=ORDER_TYPE_BUY;
           request.type_filling=ORDER_FILLING_CANCEL;
           MqlTradeResult result;
           OrderCheck(request, result);
           if(OrderSend(request, result)==false)

Derlerken bir hata alıyorum: 'sonuç' - parametre dönüştürmeye izin verilmiyor.

OrderCheck kaldırılırsa, her şey normal şekilde derlenir ve test cihazında bir pozisyon açılır.

Fonksiyonun açıklamasına bakın. MqlTrade Kontrol Sonucu yanıtının yapısını gösterir.
 
Yedelkin :
Fonksiyonun açıklamasına bakın. MqlTrade Kontrol Sonucu yanıtının yapısını gösterir.

Çok teşekkürler.

 
Dmitriy2 :

Ve işte ne olduğu...

Belirtilen tarihten itibaren işlemlerden elde edilen kar dikkate alınmalıdır. Gerçekte olduğundan tamamen farklı bir sonuç üretir. Örneğin 2000 civarı bir sonuç yerine 611 alıyorum. Güne göre kontrol etmeye başladım (yorum satırı). Sonucun aynı olduğu (!!) günler oluyor ama genelde olması gerektiği gibi olmuyor... (Kelime bulamadım). Ayrıca, hata ayıklayıcıda döngü, tüm işlem sayısından doğru bir şekilde geçer. Doğru, sadece bu işlem sayısını takip edebiliyorum çünkü int değişkenleri dışında başka hiçbir değer görüntülenmiyor (Expression değerlendirilemedi diyor).

Kod doğru mu ve hata ayıklayıcıyı doğru mu kullanıyorum...?

İşlem döngüsü şu şekilde olmalıdır:

 for (i= 0 ;i< HistoryDealsTotal ();i=i++)
Hata ayıklayıcıda 'Step Into' (F11) seçeneğini kullanın. Ardından, bir değişken veya ifadenin tanımlandığı bir fonksiyona girildiğinde değerini gösterecektir.
 
Valmars :

İşlem döngüsü şu şekilde olmalıdır:

Hata ayıklayıcıda 'Step Into' (F11) seçeneğini kullanın. Ardından, bir değişken veya ifadenin tanımlandığı bir fonksiyona girildiğinde değerini gösterecektir.

Peki, diyelim ki döngü sıfırdan başlıyor... gerçi anlaşma numaralarının sıfırdan başladığı nerede yazıyor? Şimdi 10611 olduğu gerçeğine bakılırsa (yaklaşık 2000 yerine 611 idi), yani. artı ilk depozitonun büyüklüğü, o zaman bundan emin değilim ... en az sıfır en az bir, hala 10.000'in nereden geldiğini anlamıyorum

Hata ayıklayıcı, açıkçası, F11 ..

[Silindi]  
Dmitriy2 :

Peki, diyelim ki döngü sıfırdan başlıyor... gerçi anlaşma numaralarının sıfırdan başladığı nerede yazıyor? Şimdi 10611 olduğu gerçeğine bakılırsa (yaklaşık 2000 yerine 611 idi), yani. artı ilk depozitonun büyüklüğü, o zaman bundan emin değilim ... en az sıfır en az bir, hala 10.000'in nereden geldiğini anlamıyorum

Hata ayıklayıcı, açıkçası, F11 ..

İlk işlem genellikle bir depozitodur. Görünüşe göre işlemler tarihte 0'dan başlayarak değerlendiriliyor. Dolayısıyla yanılmıyorsam 0. işlem hesabın yenilenmesi olacak.

İşlem karının hesaplandığı formülü açıklayabilir misiniz?

not

Hafızam bana hizmet ediyorsa, sonuç şöyle düşünülmeli - TotalProfit = Profit+Swap-Commision;


 
Kos :
SymbolInfoDouble(Symbol(), SYMBOL_VOLUME_LIMIT ), neden boş dönüyor?
0 kısıtlama olmadığı anlamına gelir.
 
Interesting :

İlk işlem genellikle bir depozitodur. Görünüşe göre işlemler tarihte 0'dan başlayarak değerlendiriliyor. Dolayısıyla yanılmıyorsam 0. işlem hesabın yenilenmesi olacak.

İşlem karının hesaplandığı formülü açıklayabilir misiniz?

not

Hafızam bana hizmet ediyorsa, sonuç şöyle düşünülmeli - TotalProfit = Profit+Swap-Commision;


son sayfada tam kod

koda göre, hiçbir durumda hesabın yenilenmesi düşünülmemelidir.

komisyon da artı - eksi ..

 
Yedelkin :

İlk başta derleyici "#import "lbS7N_Servis.ex5"" dosyasının yokluğundan şikayet etti.

Bu satırı kaldırdıktan sonra şunu anladım:

2010.08.28 22:19:51 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) A=101699 B=101699 C=661701
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !!! Başlangıç parametrelerinin hazırlanmasının başlangıcı !!!

Koddaki hesap numarasını kendi numaramla değiştirdiğimde:

2010.08.28 22:26:46 Servis[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000

2010.08.28 22:26:46 Servis[1] (EURUSD,H1) A=101699 B=101699 C=101699

2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !!! Başlangıç parametrelerinin hazırlanmasının başlangıcı !!!

MQ sunucusu, 316 oluştur.

Teşekkür ederim. Her şeyi olması gerektiği gibi yapıyorsun. Henüz kendim çözemedim.
 
sergey1294 :

ve benim M1 eşleşmedi

Bu, senin de rahatsız eden bir şeyin olduğu anlamına geliyor, ama benimkinden daha az.

Belki de sistemle programla bağlantılı olarak bunu aramanız gerekir.

Sisteminiz nedir?

Core2duo 1.3 Ghz 64 Win7 HB lisansım, 4GB RAM ddr 2, derlemem var. 316

 
simpleton :

Ayrıca, üç benzersiz durum kadar. Bu keşfedilir. Ve kaç tanesi bulunamadı?

Ve bu durum göz önüne alındığında, MetaQuotes 2010 Şampiyonası'na bir ay sonra mı başlayacak?

Ah, MetaTrader 5 bizim için kaç tane "harika" keşif hazırlıyor...

Kazananlar, programlarında o kadar çok hata olacak ki, küçük program aksaklıklarına eklendiğinde, birlikte kimsenin yetişemeyeceği bir etki yaratacak olan katılımcılar olacak.