Hatalar, hatalar, sorular - sayfa 133

 
Interesting :
Anladığım kadarıyla tahakkuk, demoda veya testte olduğu gibi...
nasıl oluyor? yeniden keşif veya tahakkuk
 
Dmitriy2 :

Bu nedenle, değerleri günlüğe çıkarırken, yalnızca bir kez (ilk kez) parabolik işlev, yani. CopyBuffer, bir hata durumunda olması gerektiği gibi -1 değil 0 döndürür (bunun olmaması gerekir, tüm veriler oradadır, her şey yüklenir, harika çok boyutlu diziler yoktur, hata olmamalıdır! ). Ve bu SADECE test cihazında ve SADECE BİR KEZ olur. Sonra her şey iyi çalışıyor.

Ana kodda, fonksiyonların bana ne döndürdüğü benim için önemli değil, sonunda, bir ticaret talebi söz konusu olduğunda, istek için alınan değerler evrensel bir fonksiyon tarafından kontrol edilir ve eğer her şey yolunda, isteği gönderiyoruz, hayır - normale dönene kadar bekliyoruz...

Bu kodu parabolik alıcı işlevinizde deneyin.

 double Параболик( ENUM_TIMEFRAMES период, double step, double maximum, int бар)
  {
   double ЗначениеParabolic[ 1 ];
   int Parabolic= iSAR ( Symbol (),период,step,maximum);
   int cb= CopyBuffer (Parabolic, 0 ,бар, 1 ,ЗначениеParabolic);
   if (cb!= 1 ) Print ( "BarsCalculated " , BarsCalculated (Parabolic), ", CopyBuffer " , cb, ", ArrayValue " ,ЗначениеParabolic[ 0 ]);
   return (ЗначениеParabolic[ 0 ]);
  }

Günlükte böyle bir şey alacaksınız

 2010.09 . 15 14 : 53 : 53      Core 1    2010.09 . 01 00 : 00 : 07    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
2010.09 . 15 14 : 53 : 53      Core 1    2010.09 . 01 00 : 00 : 07    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
2010.09 . 15 14 : 53 : 53      Core 1    2010.09 . 01 00 : 00 : 07    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
2010.09 . 15 14 : 53 : 53      Core 1    2010.09 . 01 00 : 00 : 07    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
2010.09 . 15 14 : 53 : 53      Core 1    2010.09 . 01 00 : 00 : 07    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
2010.09 . 15 14 : 53 : 53      Core 1     SLпоПервойТочкеПараболика=true

Bu, neden -1 değil de 0 aldığınızı açıklayacaktır.

3. kez tekrar edeceğim. Veri mevcuttur, ancak gösterge değerleri o sırada hesaplanmayabilir. Kılavuzda yazıyor!

 
maryan.dirtyn :
nasıl oluyor? yeniden keşif veya tahakkuk
FC yeniden açılmaktan muzdarip, MT'de hayatı boyunca tahakkuk etti. Normal günlerde tek ve Çarşamba günü x3 ( Üçlü takas günü belirtilecektir)...
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Interesting :
FC yeniden açılmaktan muzdarip, MT'de hayatı boyunca tahakkuk etti. Normal günlerde tek ve Çarşamba günü x3 ( Üçlü takas günü belirtilecektir)...
FK'nin ne olduğunu bilmiyorum.. Sadece şampiyonada NASIL OLACAĞINI bilmem gerekiyor.
 
alexvd :

Bu kodu parabolik alıcı işlevinizde deneyin.

Günlükte böyle bir şey alacaksınız

Bu, neden -1 değil de 0 aldığınızı açıklayacaktır.

3. kez tekrar edeceğim. Veri mevcuttur, ancak gösterge değerleri o sırada hesaplanmayabilir. Kılavuzda yazıyor!

tam olarak, CopyBuffer'ın yanıtını değil, parabolik değerini alıyoruz ...

tamam... parabolik fonksiyonu senin verdiğinle değiştirelim (baskılarla).

For döngüsüne baskılar ekliyorum (sıfır koruması yok)

 if (НапрСигнала== ORDER_TYPE_BUY )
     {
       if (SLпоПервойТочкеПараболика==true)
         for (i= 0 ;;i=i+ 1 )
           {
             Print ( "бай, параболик до иф " ,Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i+ 1 ));
             if (iLow( PERIOD_CURRENT ,i+ 1 , 1 )<Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i+ 1 )) // || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0
              {
               Print ( "бай, параболик после иф " ,Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i+ 1 ));
               break ;
              }
           }
      ЗначениеSAR= NormalizeDouble (Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i)/ТИК, 0 )*ТИК;
       if (БИД>ЗначениеSAR) //bay
         slтики=( int ) NormalizeDouble ((АСК-ЗначениеSAR)/ТИК, 0 );
     }
   if (НапрСигнала== ORDER_TYPE_SELL )
     {
       if (SLпоПервойТочкеПараболика==true)
         for (i= 0 ;;i=i+ 1 )
           {
             Print ( "селл, параболик до иф " ,Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i+ 1 ));
             if (iHigh( PERIOD_CURRENT ,i+ 1 , 1 )>Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i+ 1 )) // || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0
              {
               Print ( "селл, параболик после иф " ,Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i+ 1 ));
               break ;
              }
           }
      ЗначениеSAR= NormalizeDouble (Параболик( PERIOD_CURRENT , 0.02 , 0.2 ,i)/ТИК, 0 )*ТИК;
       if (БИД<ЗначениеSAR) //sell
         slтики=( int ) NormalizeDouble ((ЗначениеSAR-БИД)/ТИК, 0 );
     }

Test cihazında çalıştır

JQ       0        Core 1    15 : 16 : 37         agent process started
NJ       0        Core 1    15 : 16 : 37         connecting to 127.0 . 0.1 : 3000
NJ       0        Core 1    15 : 16 : 39         connected
GP       0        Core 1    15 : 16 : 39         authorized (agent build 328 )
LK       0        Tester   15 : 16 : 39         EURUSD,H1 (MetaQuotes-Demo): testing of Experts\Отладка.ex5 from 2010.01 . 01 00 : 00 to 2010.09 . 11 00 : 00 to be started
RH       0        Core 1    15 : 16 : 41         common synchronization completed
RS       0        Core 1    15 : 16 : 41          3124 bytes of account info loaded
RI       0        Core 1    15 : 16 : 41          3768 bytes of group info loaded
MN       0        Core 1    15 : 16 : 41          7170 bytes of tester parameters loaded
EL       0        Core 1    15 : 16 : 41          275 bytes of selected symbols loaded
IK       0        Core 1    15 : 16 : 41         expert file added: Experts\Отладка.ex5. 6597 bytes loaded
LE       0        Core 1    15 : 16 : 41         initial deposit 10000.00 USD, leverage 1 : 100
KO       0        Core 1    15 : 16 : 41         successfully initialized
RQ       0        Core 1    15 : 16 : 41          23 Kb of total initialization data received
KK       0        Core 1    15 : 16 : 41         performance: 72
HP       0        Core 1    15 : 16 : 41         EURUSD: symbol synchronized, 2904 bytes of symbol info received
RI       0        Core 1    15 : 16 : 43         EURUSD: load 27 bytes of history data to synchronize
MG       0        Core 1    15 : 16 : 43         EURUSD: history synchronized from 1993.05 . 13 to 2010.09 . 10
MP       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
CD       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
IK       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
ON       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
ER       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
KI       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
QL       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
GP       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
MG       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
CK       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
IN       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
OE       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
EI       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
KL       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
QS       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
GG       0        Core 1    15 : 16 : 45          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
KJ       0        Core 1    15 : 16 : 47          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0
EN       0        Core 1    15 : 16 : 47          2010.01 . 04 00 : 00 : 02    BarsCalculated - 1 , CopyBuffer - 1 , ArrayValue 0

ve siz iptal tuşuna basana kadar sonsuza kadar devam eder

uzmanı çizelgeye koy

PJ      0       Experts 15:27:14        expert Отладка (EURUSD,M20) removed
MR      0       Trades  15:27:18        '677265' : instant buy 0.10 EURUSD at 1.29697
EH      0       Trades  15:27:19        '677265' : accepted instant buy 0.10 EURUSD at 1.29697
GL      0       Trades  15:27:21        '677265' : order #1350474 buy 0.10 EURUSD at 1.29697 done
LH      0       Trades  15:27:21        '677265' : deal #1426626 buy 0.10 EURUSD at 1.29697 done (based on order #1350474)
LI      0       Experts 15:27:56        expert Отладка (EURUSD,M20) loaded successfully
IR      0       Trades  15:28:07        '677265' : instant sell 0.10 EURUSD at 1.29690 sl: 1.30136 tp: 1.29502
IM      0       Trades  15:28:08        '677265' : accepted instant sell 0.10 EURUSD at 1.29690 sl: 1.30136 tp: 1.29502
RK      0       Trades  15:28:10        '677265' : order #1350477 sell 0.10 EURUSD at 1.29690 done
RO      0       Trades  15:28:10        '677265' : deal #1426629 sell 0.10 EURUSD at 1.29690 done (based on order #1350477)

günlükte hata yok

uzmanlar sekmesinde resme bakıyoruz, ayrıca hata yok

parabolik noktaları sayabilirsin, her şey açıkça çakışıyor, on ikide döngüden çıkıyoruz ...

 

Uzun zaman önce fark ettim ki MQL5'te "o anda" veya şu anda... veriler şurada burada hesaplanmayabilir... Ama bu doğru değil, düzeltmeniz gerekiyor ve koda koltuk değneği yazmamalısınız.

ve bu arada, bu sadece parabolik ile değil, diğer tüm göstergelerde de geçerlidir.

 
maryan.dirtyn :
FK'nin ne olduğunu bilmiyorum.. Sadece şampiyonada NASIL OLACAĞINI bilmem gerekiyor.

FC - Forex Kulübü ve diyelim ki Rumus2 terminali.

Şampiyonluk için bir test hesabı var mı? Deneyin ve her şey netleşecek...

 
Dmitriy2 :

Uzun zaman önce fark ettim ki MQL5'te "o anda" veya şu anda... veriler şurada burada hesaplanmayabilir... Ama bu doğru değil, düzeltmeniz gerekiyor ve koda koltuk değneği yazmamalısınız.

ve bu arada, bu sadece parabolik ile değil, diğer tüm göstergelerde de geçerlidir.

Tartışmalara başlamayalım.

Bu konu defalarca tartışıldı. Çok uzun zaman önce değil, tekrar geri döndüler ( https://www.mql5.com/en/forum/1951 )

Тестер стратегий. Помогите разобраться с ошибкой.
Тестер стратегий. Помогите разобраться с ошибкой.
  • www.mql5.com
mq5) handle индикатора объявляется как глобальная переменная, индикатор инициализируется в OnInit() и передается в функцию.
 

oturuyorum.. izliyorum..

MQL5 ve MQL4'ün aynı ekip tarafından yazıldığına inanamıyorum..(((

MQ4 - uçuş..

MQ5 - bebek konuşması .. Kimseyi kırmak istemedim - ama .. (((

 
alexvd :

Tartışmalara başlamayalım.

Bu konu defalarca tartışıldı. Çok uzun zaman önce değil, tekrar geri döndüler ( https://www.mql5.com/en/forum/1951 )

bu konuyu görmemiştim evet aynı şey...

Gerçek şu ki, tüm durumlar için her satırda aptalca kontroller yapmayacağım, kodu karıştırıp yığmayacağım. Bu tartışılmazsa ... koltuk değnekleri eklenir, oldukça büyük bir proje nihayet tamamen yeniden yapılır ve çalışmaya başlar ...

Ama genel olarak, bu yaklaşıma sadece şaşırdım ... Böyle bir sorunun ilk kez sorulmadığı ortaya çıktı (eminim gelecekte diğer insanlar bunu bir kereden fazla yaşayacaktır), ve her seferinde “ilk seferki gibi” bu hatayı aşmak için ne yapılması gerektiğini açıklamak için kendilerinin ve diğer insanların çalışma zamanlarının çoğunu harcarlar ...

Yapmanız gereken tek şey, Expert Advisor'ı başlatırken bu branşta önerilen, sadece ONE Sleep(1000)'i TESTER'a eklemektir.

Kabuk, aksaklıkları ve oldukça kesin olarak tanımlanmış olanları ima edecek şekilde olmamalı ve bu aksaklıkların kodda atlanması gerekiyordu. Üstelik TERMİNAL doğru ve düzgün çalışıyor, HATA YOK (bu durumda). Ancak test edenin işi terminalin çalışmasından FARKLIDIR.

ps denk merhaba :)