Kayıpsız MetaTrader 5'e geçmeme yardım et - sayfa 6

 
Serj74 :
Çok teşekkürler
İkincisi hazır, bu kadar uzun sürdüğü için üzgünüm, bir hafta bilgisayara yaklaşma fırsatı yoktu.
Dosyalar:
macd-rsi.mq5  7 kb
 
vdv2001 :
İkincisi hazır, bu kadar uzun sürdüğü için üzgünüm, bir hafta bilgisayara yaklaşma fırsatı yoktu.
teşekkürler
 

vdv2001 için

Belki geç kaldım elbette, ama yine de bu üç göstergeyi MKL 5'e çevirmek mümkünse sormak istiyorum, ikisi Rosh tarafından yapıldı. Ne yazık ki, ben kendim programlamada tam bir acemiyim.

Dosyalar:
 
Ek olarak, ASTTREND ticaret sistemi için bir grup gösterge var, (belki ne zaman popüler olduğunu hatırlarsınız) reddetmezseniz, MKL 5'e transfer için size gönderebilirim (6 gösterge var, üçü temel ve geri kalanı hizmet niteliğindedir)
 
vdv2001 :
İkincisi hazır, bu kadar uzun sürdüğü için üzgünüm, bir hafta boyunca bilgisayara yaklaşma fırsatı olmadı.
Görünüşe göre ilgili yazıya cevap tarzında yazmak gerekiyordu. Eğer öyleyse, lütfen önceki iki mesajıma dikkat edin. ilginiz için şimdiden teşekkürler
 

  iBarBegin = iBarShift(NULL, 0, dtTimeBegin);
  iBarEnd = iBarShift(NULL, 0, dtTimeEnd);
  dPriceHigh = High[Highest(NULL, 0, MODE_HIGH, iBarBegin-iBarEnd, iBarEnd)];
  dPriceLow = Low [Lowest (NULL, 0, MODE_LOW , iBarBegin-iBarEnd, iBarEnd)];

Bu kod MT5'te nasıl yazılır?

Forumda iBarShift prosedürünü buldum, ancak derleyici TFMigrate işlevine bunun var olmadığına yemin ediyor:

int iBarShift( string symbol,
                   int tf,
                   datetime time,
                   bool exact=false)
  {
   if (time< 0 ) return (- 1 );
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime (symbol,timeframe, 0 , 1 ,Arr);
   time1=Arr[ 0 ];
   if ( CopyTime (symbol,timeframe,time,time1,Arr)> 0 )
     {
       if ( ArraySize (Arr)> 2 ) return ( ArraySize (Arr)- 1 );
       if (time<time1) return ( 1 );
       else return ( 0 );
     }
   else return (- 1 );
  } 

 
eminsk :

  iBarBegin = iBarShift(NULL, 0, dtTimeBegin);
  iBarEnd = iBarShift(NULL, 0, dtTimeEnd);
  dPriceHigh = High[Highest(NULL, 0, MODE_HIGH, iBarBegin-iBarEnd, iBarEnd)];
  dPriceLow = Low [Lowest (NULL, 0, MODE_LOW , iBarBegin-iBarEnd, iBarEnd)];

Bu kod MT5'te nasıl yazılır?

Forumda iBarShift prosedürünü buldum, ancak derleyici TFMigrate işlevine bunun var olmadığına yemin ediyor:

int iBarShift( string symbol,
                   int tf,
                   datetime time,
                   bool exact=false)
  {
   if (time< 0 ) return (- 1 );
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime (symbol,timeframe, 0 , 1 ,Arr);
   time1=Arr[ 0 ];
   if ( CopyTime (symbol,timeframe,time,time1,Arr)> 0 )
     {
       if ( ArraySize (Arr)> 2 ) return ( ArraySize (Arr)- 1 );
       if (time<time1) return ( 1 );
       else return ( 0 );
     }
   else return (- 1 );
  } 

bkz . MQL4'ten MQL5'e geçiş
 

Lütfen Çoklu Alet göstergesini veya benzerini bir aletin tablosunu diğerinin üzerine bindirmek için yeniden yazın.


 

Çok gerekli göstergeler, mt 5'te benzer bir şey yapmak mümkün mü?

Dosyalar:
ind.rar  3 kb
 

Процедуру iBarShift я нашел на форуме, но копилятор ругается на функцию TFMigrate что она не существует:

 ENUM_TIMEFRAMES TFMigrate( int tf){ switch (tf) { case 0 : return ( PERIOD_CURRENT );   case 1 : return ( PERIOD_M1 );       case 5 : return ( PERIOD_M5 );   case 15 : return ( PERIOD_M15 );
                                               case 30 : return ( PERIOD_M30 );       case 60 : return ( PERIOD_H1 );     case 240 : return ( PERIOD_H4 ); case 1440 : return ( PERIOD_D1 );
                                               case 10080 : return ( PERIOD_W1 );     case 43200 : return ( PERIOD_MN1 ); default : return ( PERIOD_CURRENT );}}
işte buradasın.
Neden: