Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1066

 
yiduwi :

Sayesinde.

Igor Makanu :... sadece koşulun karşılandığı yere bir ok koymalı ...

Ancak, ikinci çubuk üzerine bahisler.


Gösterge tamponunun indeksleme yönünü kontrol edin.

 
Artyom Trishkin :

Gösterge tamponunun indeksleme yönünü kontrol edin.

Ne kontrol edilmeli, ok hangi çubuğa yerleştirilmelidir?

 {
//---
   int limit=rates_total-prev_calculated;
   if (limit> 1 || prev_calculated== 0 )
     {
      limit=rates_total- 2 ;
       ArrayInitialize (BufferUP, EMPTY_VALUE );
       ArrayInitialize (BufferDN, EMPTY_VALUE );
     }
   for ( int i=limit; i>= 0 ; i--)
     {
       if ( fabs (high[i+ 1 ]-high[i])<= _Point *( double )Pips) BufferDN[i]=high[i]; else BufferDN[i]= EMPTY_VALUE ;
     }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
 
yiduwi :

Ne kontrol edilmeli, ok hangi çubuğa yerleştirilmelidir?

BufferUP ve BufferDN ne tür bir indeksleme özelliğine sahiptir?

Документация по MQL5: Операции с массивами / ArraySetAsSeries
Документация по MQL5: Операции с массивами / ArraySetAsSeries
  • www.mql5.com
//| Custom indicator initialization function                         | //| Custom indicator iteration function                              |
 
Artyom Trishkin :

BufferUP ve BufferDN ne tür bir indeksleme özelliğine sahiptir?

geriye doğru yaptı

 for ( int i= 0 ;i<limit;i++) 

hala ikinci bara bahis oynuyor

 
yiduwi :

geriye doğru yaptı

hala ikinci bara bahis oynuyor

Tüm diziler aynı yönde olmalıdır

 
Artyom Trishkin :

Tüm diziler aynı yönde olmalıdır

Peki, o zaman ilk seçenek doğru, sorun ne?

 
yiduwi :

Peki, o zaman ilk seçenek doğru, sorun ne?

Sorun, göstergenin tam listesinin görünmemesidir.

 
yiduwi :

İlk çubuğa bu şekilde bahis yapar, ancak gerçek zamanlı olarak ok, yalnızca TF'yi değiştirdikten sonra görünmez. Sorun nedir?

BufferUP ve BufferDN için OnInit() ArraySetAsSeries() içinde, yüksek ve düşük için OnCalculate() - ArraySetAsSeries() içinde

if(limit>1)

{

}

Gerekli değil prev_calculated==0

 
Artyom Trishkin :

BufferUP ve BufferDN için OnInit() ArraySetAsSeries() içinde, yüksek ve düşük için OnCalculate() - ArraySetAsSeries() içinde

Sayesinde.

 

Kodda yanlış olan ne? Testin sonunu yakalamaya çalışıyorum

 void MyHistory()
  {
//--- select history for access
//HistorySelect(0,TimeCurrent());
   HistorySelect ( 0 , TimeTradeServer ());
//---
   int     orders= HistoryDealsTotal ();   // total history deals
   int     losses= 0 ;                     // number of losses orders without a break

   for ( int i=orders- 1 ;i>= 0 ;i--)
     {
       ulong ticket= HistoryDealGetTicket (i);
       if (ticket== 0 )
        {
         Print ( "HistoryDealGetTicket failed, no trade history" );
         break ;
        }
       //--- check symbol
       if ( HistoryDealGetString (ticket, DEAL_SYMBOL )== _Symbol )
         continue ;
       //--- check profit
       string    deal_comment= HistoryDealGetString (ticket, DEAL_COMMENT );

       if (deal_comment== "end of test" )
        {
         Print ( "!!!!!!!!!!!!!!!  END TEST !!!!!!!!!!!!!!!!" );
         break ;
        }
/*
         if(deal_comment!="end of test")
            {
            return;
            }
            */
     }
//---

   return ;

  }