Hatalar, hatalar, sorular - sayfa 841

 
faton :

Güzel gün. Söyle bana basit bir gösterge yazdım.. ve yeni bir çubuk oluştuğunda gösterge satırının bu davranışı ortaya çıkıyor. Sorun ne olabilir?

 CopyRates (FirstAktiv, PERIOD_CURRENT , 0 ,rates_total,mrate1);
CopyRates (SecondAktiv, PERIOD_CURRENT , 0 ,rates_total,mrate2);
CopyRates'in ne döndürdüğünü kontrol edin. Kopyalanan öğelerin sayısı, istenen sayıya mutlaka eşit olmayabilir . Bu nedenle, sınırların dışında bir dizi meydana gelebilir ve arabelleğin bu yerindeki veriler, olduğu gibi sıfır olacaktır.
 

Terminalin yeni sürümünün güncellenmesi sırasında, Program Files\Meta Trader 5\MQL5 klasörünün C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\00C5B588590D4A2C89EFC1E0C5301ECA\MQL5 klasörüne TAMAMEN kopyalandığı görülüyor (we Win7 hakkında konuşuyorlar, ancak diğerlerinde İşletim sistemi aynı görünüyor + belki başka klasörler de var). Aksi takdirde, birkaç gün önce yaptığım ve meyvelerini başarıyla test ettiğim birkaç saatlik çalışmanın nereye gittiğini açıklayamam.

Mesele şu ki, sınıfları bir .mqh dosyası aracılığıyla resmileştirme ve sonra onları birbirine bağlama alışkanlığım var. Bilmeden mqh ve mq5'imi Program Files\Meta Trader 5\MQL5'e attım, navigatörde görünmediklerini gördüm ve çalışma klasörüne attım (C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\ 00C5B588590D4A2C89EFC1E0C5301ECA\MQL5) . Terminal güncellenene kadar her şey yolundaydı - Daha fazla test için Expert Advisor'ı başlattım ve sonra başka bir şeyi düzeltmek istedim ve eski kodu gördüm, Program Files\Meta Trader 5\MQL5'tekinin bir kopyası. Doğru sürüm optimize edildi, çünkü mq5 değişmedi ve terminal, değişikliklerin mqh cinsinden meydana geldiğini tahmin etmedi. Yeniden derleme, eski sürüme geri dönülmesine neden oldu.

Sonuç olarak, çok sinirlenir, yine yaptığı şey için bir veya iki saat harcamak zorunda kalacak.

Bu durumda, çıkış yolları görüyorum -

1) klasörü tamamen değil, yalnızca standart teslimatta bulunan dosya listesine göre kopyalayın;

2) bir şekilde kullanıcıyı üzerine yazma olacağı konusunda uyarın (ancak standart kitaplığın birçok dosyasını değiştirirken bu bir angarya olacaktır);

3) Program Files'daki mql5 klasörünün değiştiğini bir şekilde belirleyin (örneğin crc'yi hesaplayın) ve yeni sürümü yüklemeden önce verilerinizi kaydedebilmeniz için bir uyarı verin;

4) Terminal\00C5B588590D4A2C89EFC1E0C5301ECA\'da eski MQL5'in bir kopyasını oluşturun (örneğin, MQL5.384 sürümünü ekleyin) - en kolay yol.

Sorun nadir, ama lanet olsun, zapadlistaya.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
notused :

Görünüşe göre, terminalin yeni sürümünün güncellenmesi sırasında, klasörün TAM bir kopyası var................................. ......................

................................................................................

................................................

Sonuç olarak, çok sinirlenir, yine yaptığı şey için bir veya iki saat harcamak zorunda kalacak.

Bu durumda, çıkış yolları görüyorum - ................

....................

Sorun nadir, ama lanet olsun, zapadlistaya.

Geliştiriciler için yapıcı: Yeni bir sürüm kurarken lütfen önceki derlemeden tüm MQL5 klasörünün otomatik yedeğini alın. Ömür boyu - bir sonraki derlemeye kadar , ardından değiştirme. Bu, yapıyı kurarken istemci dosyalarının dikkatli bir şekilde ele alınmasını engellemez, bu mücbir sebep durumunda (açıklanana benzer) + standart kitaplığın istemci sürümlerini kaydetmek içindir.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Kurtarma Faktörü - bu gösterge, stratejinin riskliliğini, danışmanın kâr elde etmek için ne kadar risk aldığını gösterir. Alınan karın maksimum geri çekilmeye oranı olarak hesaplanır; (hangisi söylenmedi)

STAT_RECOVERY_FACTOR

Kurtarma faktörü - STAT_PROFIT/STAT_BALANCE_DD oranı

çift



 Print ( "Factor=" , TesterStatistics ( STAT_RECOVERY_FACTOR ));                                     // Выводим Фактор Восстановления
Print ( "Profit/BalanceDD=" , TesterStatistics ( STAT_PROFIT )/ TesterStatistics ( STAT_BALANCE_DD )); // Отношение профита к просадке по балансу
Print ( "Profit/EquityDD=" , TesterStatistics ( STAT_PROFIT )/ TesterStatistics ( STAT_EQUITY_DD ));   // Отношение профита к просадке по средствам 

Geri kazanım faktörünün, kârın bakiyeye göre değil, araçlarla çekilmeye oranı olarak kabul edildiği deneysel olarak tespit edilmiştir.

Yardımda bir hata mı var?

 
ilunga :
Doğru, son 50.000 size gösterildi. günde 1440 bar

Teşekkürler..

Soru değil .. Evet ve bu bir soru değil, kederli bir iç çekiş ..

Test için sadece Haziran ayını seçersem (30 gün X 1440 < 50.000), kafamda çizelgede ne görmeliyim? ağustos ???

Bu arada, test cihazındaki zaman seçicilerin hoş olmayan bir özelliği var - bir saniye veya başka bir zamanda kendilerini kapatıyorlar..

ölümcül değil - yine de tutamaçlarla tarihi daha hızlı seçebilirsiniz, ancak ..

 
//+------------------------------------------------------------------+
//|                                                  Sample_Tick.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link       "http://www.mql5.com"
#property version   "1.00"

int Tick_All;

MqlTick            last_tick;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
   Tick_All= 0 ;

//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick ()
  {
   if (! SymbolInfoTick ( _Symbol ,last_tick))
     {
       Print ( "Failed to get Symbol info!" );
     }

   Tick_All++;
   Print (Tick_All, "   " ,last_tick.bid, "   " ,last_tick.ask, "  " ,last_tick.last, " " ,last_tick.volume);
  }
//+------------------------------------------------------------------+

Fiyat değişmemesine rağmen neden OnTick denildiğini anlamıyorum?????

2012.09.10 11:52:11 Sample_Tick (EURUSD,M5) 493 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:10 Sample_Tick (EURUSD,M5) 492 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:09 Sample_Tick (EURUSD,M5) 491 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:07 Sample_Tick (EURUSD,M5) 490 1.2787 1.2789 1.2788 300000

 
EQU :

Teşekkürler..

Soru değil .. Evet ve bu bir soru değil, kederli bir iç çekiş ..

Test için sadece Haziran ayını seçersem (30 gün X 1440 < 50.000), kafamda çizelgede ne görmeliyim? ağustos ???

Servis masasına yazın. Ayrıca, grafikteki çubukların sayısının neden test cihazında ayarlanan bitiş tarihinden değil de gerçekten _her zaman_ sayıldığını anlamıyorum.
 
sion :
Hacim - değişebilir ve başka bir şey var)

böylece hacmin değişmediği görülebilir !!!

 
dentraf :

böylece hacmin değişmediği görülebilir !!!

koda baktı.
 

Nasıl çalıştığını veya çalışmadığını anlamıyorum)


Print("<><><><><",request_action.magic);//Print((ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000);
  if(magic_num!=(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000){Print("<<<<<<<<<<<<<<<<<<<<<",(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000," magic_num=",magic_num);return;}

KG 0 prp4 (EURJPY,M15) 02:23:25 <><><><><73200011000
RR 0 prp4 (EURJPY,M15) 02:23:25 <<<<<<<<<<<<<<<<<<<<<732 magic_num=732   <-поидее числа равны и условие не должно срабатывать

Yorumsuz Yazdır

Print("<><><><><",request_action.magic); Print((ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000);
  if(magic_num!=(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000){Print("<<<<<<<<<<<<<<<<<<<<<",(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000," magic_num=",magic_num);return;}

MH 0 prp4 (EURJPY,M15) 02:28:11 <><><><><73200011000
PE 0 prp4 (EURJPY,M15) 02:28:11 92233720368 <- ve bu sayı nereden geldi, görünüşe göre ilk sayımda "(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000) /100000000 "Bunun, garip bir şey olduğu düşünülüyor

<-koşul karşılanmadı, baskı yazdırılmadı, bu nedenle sayılar eşitti.

Sabah bire kadar bir yerde, bununla ilgili hiçbir sorun yoktu.

Not Bir dizüstü bilgisayarda denedim, hala 687 yapı var, aynı turtalar.

Neden: