Çaydanlıktan gelen sorular - sayfa 188

 
Karlson :
Henüz denemedim.Ama onu tek bir dosyada toplama fikri anlaşılabilir.Belki geliştiriciler bir seçenek belirteceklerdir - .
Ve aşağıdaki teklifle hemen SD'desiniz: değişmemiş verileri .
 

Tünaydın!

İşte yazdığım fonksiyon. Cari oranın 2010 yılı başındaki kura oranını hesaplar.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

EA'yı 2011 veya daha önceki dönemler için test etmeye başlarsanız düzgün çalışır, ancak 2012'yi test ederseniz 0 döndürür :(

Lütfen bana sorunun ne olabileceğini söyle.

Danışman 10 dakika üzerinde çalışıyor, sunucuyu ve 2012 şampiyonasının hesabını test için kullanıyorum.

 
MegaVoin :

Tünaydın!

İşte yazdığım fonksiyon. Cari oranın 2010 yılı başındaki kura oranını hesaplar.

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

Expert Advisor'ı 2011 veya önceki dönemler için test etmeye başlarsanız düzgün çalışır, ancak 2012 için test ederseniz 0 döndürür :(

Lütfen bana sorunun ne olabileceğini söyle.

Danışman 10 dakika üzerinde çalışıyor, sunucuyu ve 2012 şampiyonasının hesabını test için kullanıyorum.

Hatanın bir çıktısını gönderin - göreceğiz.
 
Yedelkin :
Evet programın mantığı nedir bilmiyorum ama 10 dakikalık bir süre. biraz farklı ifade edilmiştir.

Diğer her şey 10 dakikada çalışır, örneğin şöyle:

CopyHigh(_Symbol, _Period , 0, 2, MaxVal ) 

Yalnızca bu işlev bir aydan veri almaya çalışır.

Nasıl hata alınır? Anladığım kadarıyla CopyOpen (_Symbol,PERIOD_ MN1 ,time,1,OtkrVal) 1 yerine -1 döndürür. Peki bu neden oluyor, bir hata çıktısı vermek mümkün mü?

 
MegaVoin :

Nasıl hata alınır? Anladığım kadarıyla CopyOpen(_Symbol,PERIOD_ MN1 ,time,1,OtkrVal) 1 yerine -1 döndürür. Peki bu neden oluyor, bir hata çıktısı vermek mümkün mü?

 double CalcKorr()
{
   double Bid = SymbolInfoDouble ( _Symbol , SYMBOL_BID ); 
   double OtkrVal[ 1 ]; 
   datetime time= D'2010.01.01 00:00:00' ;
   ResetLastError ();
   if ( CopyOpen ( _Symbol , PERIOD_MN1 ,time, 1 ,OtkrVal) != 1 ) 
     {
       Print ( "error = " , _LastError );
       return ( 0 );
     }
   return (Bid / OtkrVal[ 0 ]);
}
 
Yedelkin :
Hatanın bir çıktısını gönderin - göreceğiz.

hata = 4401

Metatrader'da hata kodlarının kodunun çözüldüğü bir şey bulamıyorum ...

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
 
MegaVoin :

hata=4401

Metatrader'da hata kodlarının kodunun çözüldüğü bir şey bulamıyorum ...

https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
MegaVoin : hata=4401

Yani, "İstenen geçmiş bulunamadı." Onlar. 2012'de Ocak 2010 görünmüyor, değil mi?

Ve bir demo hesabında ne gösteriliyor (test cihazında değil)?

 
Yedelkin :

Yani, "İstenen geçmiş bulunamadı." Onlar. 2012'de Ocak 2010 görünmüyor, değil mi?

Ve bir demo hesabında ne gösteriliyor (test cihazında değil)?

Uh-huh bulunamadı.

Yeni bir demo hesabı oluşturuldu (şampiyonluk değil). 2011 için test edilirken artık 5'ten büyük çoklar atlanıyor, ancak 2012 için aynı hata hala devam ediyor.

Muhtemelen bir yerde, test döneminden önce ne kadar geçmişin mevcut olduğunu yapılandırmanız gerekir. Ve varsayılan olarak, muhtemelen 2 yıl ... Yalnızca yapılandırıldığı yerde ...

 
MegaVoin : Yeni bir demo hesabı oluşturdu (şampiyonluk değil). 2011 için test edilirken artık 5'ten büyük çoklar atlanıyor, ancak 2012 için aynı hata hala devam ediyor.

Yani bir demo hesabında ( test cihazında değil ) böyle bir hata da mı oluşuyor?

MegaVoin : Muhtemelen bir yerde, test döneminden önce ne kadar geçmişin mevcut olduğunu yapılandırmanız gerekiyor. Ve varsayılan olarak, muhtemelen 2 yıl ... Yalnızca yapılandırıldığı yerde ...

Ve "Ticaret stratejilerini test etme" bölümünde test geçmişi hakkında okumak daha iyidir.