Ben olsam maksimum değeri kaydederdim. Bir sonraki TesterTradeState kaydının oluşturulma zamanı muhtemelen geliştiriciler tarafından seçilen sıklığa ve diğer bazı koşullara bağlıdır.
Orijinaline çok benzer bir tst dosyası oluşturmak için bir görevim olsaydı, aynı TesterTradeState[] elde edemezdim.
SingleTesterCache_Example.ex5 komut dosyası çalıştırıldıktan sonra, strateji test aracında “Önceki Sonuçlar” düğmesi aracılığıyla Test.tst dosyasının sonuçları açılmıyor.
Komut dosyasının çalışma sonucunu ve komut dosyasını çalıştırdığım hesabın geçmişini ekte sunuyorum.
Ivan Titov strateji test aracında "Önceki Sonuçlar" düğmesine tıklandığında Test.tst dosyasının sonucu açılmıyor.
Kütüphaneyi oluşturduğumdan beri (yakında yedi yıl olacak) Save yöntemini kullanmıyorum. Bu süre zarfında, büyük olasılıkla MQ tarafında değişiklikler yapılmıştır.
Orijinal tst dosyasını alıp incelemeli, ardından kaydetmeliyim. Ardından farkın ne olduğunu kontrol etmeliyim.
Şu anda ben bu işle ilgilenmeye hazır değilim. Bu işlevi kullanmıyorum.
Ivan Titov #: Yani, "tst dosyalarını yazma" konusundabu kütüphaneyi kullanmamak daha iyi olur. Sadece "okuma" konusunda kullanılabilir. Doğru mu anladım?
Tester ile okuma amacıyla yazmak gerekiyorsa, açıkça bir düzenleme yapılması gerekiyor. Ne tür bir düzenleme olacağı ise incelenmelidir.
Eğer reklam içermeyen bir backtest sonucunu tartışmak gerekirse (örneğin, Market'ten bir danışman), tst dosyasını anonim hale getirip forumda rahatlıkla paylaşabilirsiniz.
İşlem şu şekilde yapılır.
#include <fxsaber\SingleTesterCache\SingleTesterCache.mqh> // https://www.mql5.com/tr/code/27611#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/tr/code/26132template <typename T>
void ChangeComments( T &Array[], conststring NewComment = NULL )
{
for (uint i = ArraySize(Array); (bool)i--;)
Array[i].comment = NewComment;
return;
}
void ChangeName( SINGLETESTERCACHE &SingleTesterCache, conststring Name = "Deleted", constbool Comments = false )
{
SingleTesterCache.Header.expert_name = Name; // uzmanın adı
SingleTesterCache.Header.expert_path = Name; // MQL5'ten gelen yoluyla birlikte uzmanın adıif (!Comments)
{
ChangeComments(SingleTesterCache.Deals);
ChangeComments(SingleTesterCache.Orders);
}
return;
}
voidOnStart()
{
uchar Bytes2[];
if (MTTESTER::GetLastTstCache(Bytes2) != -1) // Tek bir çalıştırma ile ilgili son önbellek kaydını okumayı başardıysa
{
SINGLETESTERCACHE SingleTesterCache(Bytes2); // Onu ilgili nesneye atıyoruz.
ChangeName(SingleTesterCache);
SingleTesterCache.Save("ForumBacktest.tst");
}
}
Önce backtest'i yapın, ardından Terminal'de bu komut dosyasını çalıştırın. Sonuç olarak, kimlik bilgileri içermeyen backtest'inizi elde edeceksiniz. Böylece, forumda endişe duymadan paylaşabileceğiniz tüm backtest istatistikleri korunmuş olacaktır.
При составлении портфеля ТС стараются опираться на статистику. Например, пробуют составлять таблицу корреляции на основе вычислений соответствующих коэффициента (КК). Основная причина такого подхода -
Ben olsam maksimum değeri kaydederdim. Bir sonraki TesterTradeState kaydının oluşturulma zamanı muhtemelen geliştiriciler tarafından seçilen sıklığa ve diğer bazı koşullara bağlıdır.
Orijinaline çok benzer bir tst dosyası oluşturmak için bir görevim olsaydı, aynı TesterTradeState[] elde edemezdim.
SingleTesterCache_Example.ex5 komut dosyası çalıştırıldıktan sonra, strateji test aracında “Önceki Sonuçlar” düğmesi aracılığıyla Test.tst dosyasının sonuçları açılmıyor.
Komut dosyasının çalışma sonucunu ve komut dosyasını çalıştırdığım hesabın geçmişini ekte sunuyorum.
Kütüphaneyi bugün güncelledim.
MT5 sürümü 6230.
Kütüphaneyi oluşturduğumdan beri (yakında yedi yıl olacak) Save yöntemini kullanmıyorum. Bu süre zarfında, büyük olasılıkla MQ tarafında değişiklikler yapılmıştır.
Orijinal tst dosyasını alıp incelemeli, ardından kaydetmeliyim. Ardından farkın ne olduğunu kontrol etmeliyim.
Şu anda ben bu işle ilgilenmeye hazır değilim. Bu işlevi kullanmıyorum.
Yani, "tst dosyalarını yazma" konusundabu kütüphaneyi kullanmamak daha iyi olur. Sadece "okuma" konusunda kullanılabilir. Doğru mu anladım?
Eğer Testçi tarafından okunmak üzere yazılıyorsa, açıkça bir düzeltme yapılması gerekiyor. Ne tür bir düzeltme olacağı ise incelenmelidir.
505 ile değiştirin.
Eğer reklam içermeyen bir backtest sonucunu tartışmak gerekirse (örneğin, Market'ten bir danışman), tst dosyasını anonim hale getirip forumda rahatlıkla paylaşabilirsiniz.
İşlem şu şekilde yapılır.
Önce backtest'i yapın, ardından Terminal'de bu komut dosyasını çalıştırın. Sonuç olarak, kimlik bilgileri içermeyen backtest'inizi elde edeceksiniz. Böylece, forumda endişe duymadan paylaşabileceğiniz tüm backtest istatistikleri korunmuş olacaktır.
Buradaki kaynak kodda, herhangi bir sayıda tek geçişli önbellekle eşzamanlı çalışmanın nasıl organize edileceğini görebilirsiniz.
Özellikle, işlemler bu şekilde ayrıştırılır.