Hatalar, hatalar, sorular - sayfa 1755

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Hatalar, hatalar, sorular

fxsaber , 2016.08.03 22:16

HistoryOrderGetInteger(OrderTicket, ORDER_TIME_DONE_MSC ) - test cihazında sıfır döndürür!

Lütfen düzeltin.
 

Siparişler ping'den daha hızlı verilir.

 
Karşılaşılan durumlar
HistorySelect ( 0 , TimeCurrent ())

tamamlanmamış bir geçmiş tablosu oluşturur. Bununla sadece hesaba girdikten sonraki ilk aramada karşılaştım. Daha sonra - tüm hikaye verir.

Oynamak mümkün değil. Ya çalışır ya da çalışmaz. Hesap Lütfen.

 
fxsaber :

Siparişler ping'den daha hızlı verilir.

Pingler nadiren yeniden hesaplanır.
 
fxsaber :
Karşılaşılan durumlar
HistorySelect ( 0 , TimeCurrent ())

tamamlanmamış bir geçmiş tablosu oluşturur. Bununla sadece hesaba girdikten sonraki ilk aramada karşılaştım. Daha sonra - tüm hikaye verir.

Oynamak mümkün değil. Ya çalışır ya da çalışmaz. Hesap Lütfen.

Bitiş tarihi olarak asla TimeCurrent()'i kullanmayın, tüm son işlemlerin yakalanmasını sağlamak için TimeCurrent()+86400'ü kullanın.

TimeCurrent tam olarak en son zaman değil, %100 doğru bir zaman olmayan "güncellemeler sırasında bilinen son sunucu zamanı "dır. Özellikle başlangıçta.

 
Renat Fatkhullin :

Bitiş tarihi olarak asla TimeCurrent()'i kullanmayın, tüm son işlemlerin yakalanmasını sağlamak için TimeCurrent()+86400'ü kullanın.

TimeCurrent tam olarak en son zaman değil, %100 doğru bir zaman olmayan "güncellemeler sırasında bilinen son sunucu zamanı"dır. Özellikle başlangıçta.

Teşekkür ederim, öyle yapacağım. Ama kesinlikle hatayı ele almıyor.

Uzun zaman önce işlem yapılan hesaplara giriş yaptım. O kadar uzun zaman önce ki, Geçmiş sekmesi boştu (fare ile tam geçmiş için bir istekte bulunmanız gerekiyor).

Ve onlarla birlikte, HistorySelect bazen sıfır döndürdü, bazen değer sonraki çalıştırmalardan birer daha az. Genel olarak, kesinlikle bir sorun var.

 
Renat Fatkhullin :

Bitiş tarihi olarak asla TimeCurrent()'i kullanmayın, tüm son işlemlerin yakalanmasını sağlamak için TimeCurrent()+86400'ü kullanın.

TimeCurrent tam olarak en son zaman değil, %100 doğru bir zaman olmayan "güncellemeler sırasında bilinen son sunucu zamanı"dır. Özellikle başlangıçta.

+60 yeterli mi?
 

SB'ye baktım ve HİÇBİR HistorySelect ve HistoryOrderGetTicket yok! Hiç!

Bu nasıl çalışacak?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex( const int index)
  {
   ulong ticket= HistoryDealGetTicket (index);
   if (ticket== 0 )
       return ( false );
   Ticket(ticket);
//---
   return ( true );
  }
//+------------------------------------------------------------------+

Güvenlik Konseyi'ni kullanmanın kısıtlamalarla dolu olduğuna giderek daha fazla ikna oluyorum (kısmi infaz da yok).

Neden en başından SB için harika MQL4 dereceli dil sistemini kullanmıyorsunuz?

 
fxsaber :

SB'ye baktım ve HİÇBİR HistorySelect ve HistoryOrderGetTicket yok! Hiç!

Bu nasıl çalışacak?

//+------------------------------------------------------------------+
//| Select a deal on the index                                       |
//+------------------------------------------------------------------+
bool CDealInfo::SelectByIndex( const int index)
  {
   ulong ticket= HistoryDealGetTicket (index);
   if (ticket== 0 )
       return ( false );
   Ticket(ticket);
//---
   return ( true );
  }
//+------------------------------------------------------------------+

SB kullanmanın biraz angarya olduğuna giderek daha fazla ikna oluyorum - kısıtlamalarla karşılaşıyorsunuz (kısmi yürütme de yok).

Neden en başından SB için harika MQL4 dereceli dil sistemini kullanmıyorsunuz?

Cahillik mazeret değildir.

CDealInfo sınıfı, anlaşma özelliklerine erişimi kolaylaştırmak için kullanılır. Ancak fırsatlara erişmek için herkes her zaman önce HistorySelect aracılığıyla geçmişin bir anlık görüntüsünü ister.

Açıkça noob sorular yazmadan ve sonuçlar çıkarmadan önce daha fazla örneğe bakmak ve makaleleri okumak daha iyi olur.

 
Vladimir Karputov :

Cahillik mazeret değildir.

CDealInfo sınıfı, anlaşma özelliklerine erişimi kolaylaştırmak için kullanılır. Ancak fırsatlara erişmek için herkes her zaman önce HistorySelect aracılığıyla geçmişin bir anlık görüntüsünü ister.

Açıkça noob sorular yazmadan ve sonuçlar çıkarmadan önce daha fazla örneğe bakmak ve makaleleri okumak daha iyi olur.

Sana kendi tarzınla cevap verirdim ama moderatör hakkında düşüncelerini dile getirmek için ban alabilirsin.

Güvenlik Konseyi'nde kısıtlamalar varsa, bu tartışılabilir ve tartışılmalıdır.