Hatalar, hatalar, sorular - sayfa 1921

 

Derleme sırasında hata

 template < typename T1, typename T2>
void f( T2 t )
{
         Print ( typename ( T1 ), ":" , typename ( T2 ), ":" , t );
}
void OnStart ()
{
         char ch = 5 ;
        f< int >( ch ); //(1) //error: 'f' - wrong template parameters count
}

kayıt derlendi

         f< int , char >( ch ); //(2)
gereksiz bilgiler ve ayrıca ch karakter değilse belirsizlik içerir. Ayrıca, bir makroda, ch türüyle ilgili bilgiler genellikle mevcut değildir (bağlama bağlıdır)
 
A100 :

Derlerken hata

Ve artılarda mümkün mü?

 
Комбинатор :

Ve artılarda mümkün mü?

C++ her ikisini de derler, ancak (1) daha doğru ve sezgisel görünüyor. (2)'de, uygun olmayan ve basitleştirmek yerine türleri aklınızda tutmanız gerekir - <> içinde birkaç tür adı varsa açıkça görülebilen gereksiz bir karmaşıklık elde ederiz.
 

Bildirimler kaybolmuyor, her şeyi denedim, her şey okundu, sitede bildirim yok, sadece terminalde ..


 
Vladimir Pastushak :

Bildirimler kaybolmuyor, her şeyi denedim, her şey okundu, sitede bildirim yok, sadece terminalde ..

En başından beri böyleydi.

Okundu olarak işaretlenmesi için hangi dosyanın silinmesi gerektiğinin öğrenildiği bir konu vardı. Ama sonra "hayaletler" hala ortaya çıkıyor.

 
Merhaba. Biri bana demo altın fiyatlarının neden giderek eksik olduğunu söyleyebilir mi?
 

.log dosyaları %AppData%\MetaQuotes\Terminal\...\MQL5\Logs\YYYYMMDD.log hemen güncellenmez

Güncelleme yalnızca şu durumlarda gerçekleşir: terminali yeniden başlattıktan sonra veya Görünüm menüsünü seçerken. Yeniden yüklemezseniz ve günün başından Görünüm'ü seçmezseniz, ilgili dosya boş olacaktır.

Önceden her şey çalışıyordu (ve hatta MetaEditor'da açılan YYYYMMDD.log dosyasının kendisi bile Uzmanlar sekmesinde satırlar görüntülendikten birkaç saniye sonra güncelleniyordu) ve gereksiz, açık olmayan işlemler yapmaya gerek yoktu.

 

İyi geceler! Danışmanın RSI ve STO'su var ve şimdi bir alım veya satım sinyali tetiklendiğinde, mevcut mumda değil yeni bir mumda açılmasını sağlayamıyorum!

kod şöyle:

geçersiz OnTick(){

(int i=0; i<SiparişToplam(); i++) için

if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())
dönüş;

double RSI0 = iRSI(NULL, 0, RSIPerod, PRICE_CLOSE, 0);
double RSI1 = iRSI(NULL, 0, RSIPerod, PRICE_CLOSE, 1);

double STO0=iStochastic(NULL, 0, KPerod, DPeriyod, Yavaşlama, MODE_SMA, STO_LOWHIGH, MODE_MAIN, 0);
double STO1=iStochastic(NULL, 0, KPerod, DPeriyod, Yavaşlama, MODE_SMA, STO_LOWHIGH, MODE_MAIN, 1);

double STO2 = iStochastic(NULL, 0, KPerod, DPeriyod, Yavaşlama, MODE_SMA, STO_LOWHIGH, MODE_SIGNAL, 0);
double STO3 = iStochastic(NULL, 0, KPerod, DPeriyod, Yavaşlama, MODE_SMA, STO_LOWHIGH, MODE_SIGNAL, 1);

çift SL=0,TP=0;

if (RSI1 < RSIDownLevel && RSIDownLevel < RSI0 && STO2 < STO0){

if (kar al!=0) TP = NormalizeDouble(Sor + kar al*Puan,Rakamlar);
if (stoploss!=0) SL = NormalizeDouble(Sor - stoploss* Nokta,Rakamlar);
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,NUL L,Magic)==-1) Print(GetLastError());
}

if (RSI1 > RSIUpLevel && RSIUpLevel > RSI0 && STO3 > STO1){

if (kar al!=0) TP = NormalizeDouble(Teklif - kar al*Puan,Rakamlar);
if (stoploss!=0) SL = NormalizeDouble(Teklif + stoploss* Nokta,Rakamlar);
if (OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bi d,Digits),slippage,SL,TP,NULL,Magic)==-1) Print(GetLastError());
}

dönüş(0);
}


Tekrar ediyorum, mevcut mumda bir siparişin açılması benim için çalışıyor ve bir sonraki mumda siparişin açılmasına ihtiyacım var !!! Lütfen yapmama yardım et!!

 
sviter-pro :

İyi geceler! Danışmanın RSI ve STO'su var ve şimdi bir alım veya satım sinyali tetiklendiğinde, mevcut mumda değil yeni bir mumda açılmasını sağlayamıyorum!

Tekrar ediyorum, mevcut mumda bir siparişin açılması benim için çalışıyor ve bir sonraki mumda siparişin açılmasına ihtiyacım var !!! Lütfen yapmama yardım et!!


 //+------------------------------------------------------------------+
void OnTick ()
  {

   for ( int i= 0 ; i< OrdersTotal (); i++)
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ))
         if ( OrderSymbol ()== Symbol () && Magic== OrderMagicNumber ())
             return ;

   double RSI0 = iRSI ( NULL , 0 , RSIPeriod, PRICE_CLOSE , 0 );
   double RSI1 = iRSI ( NULL , 0 , RSIPeriod, PRICE_CLOSE , 1 );

   double STO0= iStochastic ( NULL , 0 , KPeriod, DPeriod, Slowing, MODE_SMA , STO_LOWHIGH , MODE_MAIN , 0 );
   double STO1= iStochastic ( NULL , 0 , KPeriod, DPeriod, Slowing, MODE_SMA , STO_LOWHIGH , MODE_MAIN , 1 );

   double STO2 = iStochastic ( NULL , 0 , KPeriod, DPeriod, Slowing, MODE_SMA , STO_LOWHIGH , MODE_SIGNAL , 0 );
   double STO3 = iStochastic ( NULL , 0 , KPeriod, DPeriod, Slowing, MODE_SMA , STO_LOWHIGH , MODE_SIGNAL , 1 );

   double SL= 0 ,TP= 0 ;
   
   if (NewBar())
     {
       if (RSI1<RSIDownLevel && RSIDownLevel<RSI0 && STO2<STO0)
        {

         if (takeprofit!= 0 ) TP= NormalizeDouble ( Ask +takeprofit* Point , Digits );
         if (stoploss!= 0 ) SL= NormalizeDouble ( Ask -stoploss * Point , Digits );
         if ( OrderSend ( Symbol (), OP_BUY ,Lot, NormalizeDouble ( Ask , Digits ),slippage,SL,TP,NUL L,Magic)==- 1 ) Print ( GetLastError ());
        }

       if (RSI1>RSIUpLevel && RSIUpLevel>RSI0 && STO3>STO1)
        {

         if (takeprofit!= 0 ) TP= NormalizeDouble ( Bid -takeprofit* Point , Digits );
         if (stoploss!= 0 ) SL= NormalizeDouble ( Bid +stoploss * Point , Digits );
         if ( OrderSend ( Symbol (), OP_SELL ,Lot, NormalizeDouble (Bi d, Digits ),slippage,SL,TP, NULL ,Magic)==- 1 ) Print ( GetLastError ());
        }
     }

   return ( 0 );
  }
//+------------------------------------------------------------------+
bool NewBar()
  {
   static datetime time= 0 ;
   if (time== 0 )
     {
      time= Time [ 0 ];
       return false ;
     }
   if (time!= Time [ 0 ])
     {
      time= Time [ 0 ];
       return true ;
     }
   return false ;
  }
//+------------------------------------------------------------------+
 
sviter-pro :

İyi geceler! Danışmanın RSI ve STO'su var ve bir alım veya satım sinyali tetiklendiğinde, mevcut mumda değil yeni bir mumda açılmasını sağlayamıyorum!

kod şöyle:

Tekrar ediyorum, mevcut mumda bir siparişin açılması benim için çalışıyor ve bir sonraki mumda siparişin açılmasına ihtiyacım var !!! Lütfen yapmama yardım et!!

0 ve 1 çubuklarından gösterge değerleri alırsınız.

0 ve 1 yerine sırasıyla 1 ve 2'den değerler alın.