Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 167

 
Mevcut grafiğin Open[]'ı nasıl elde edilir, ancak mevcut zaman çerçevesi nasıl elde edilmez?
 

Merhaba canım!

Fedakarlık artık değerini yitirmiş olmasına rağmen, yeni gelenlere zaman ayırmayan, yardımcı olan herkese teşekkürler.

Forum üyelerinden yardım istiyorum, İgor şubesinin tamamını okudum ama ihtiyacım olanı bulamayınca buraya yazmaya karar verdim.

Ve işlevin karmaşık olmadığından ve bir yerlerde zaten var olduğundan şüpheleniyorum, ama ...

Mevcut (önceki,...) günlük (haftalık,...) mumun yüksek/düşük değeri nasıl hesaplanır DAKİKA(5,15,30,60,...) GERİ ?

Cevap veren profesyonel fedakarlara çok minnettar olurum.

 
KAVrus :

Merhaba canım!

Fedakarlık artık değerini kaybetmiş olmasına rağmen, yeni gelenlere zaman ayırmayan, yardımcı olan herkese teşekkürler.

Forum üyelerinden yardım istiyorum, Igor şubesinin tamamını okudum ama ihtiyacım olanı bulamadım, bu yüzden buraya yazmaya karar verdim.

Ve işlevin karmaşık olmadığından ve bir yerlerde zaten var olduğundan şüpheleniyorum, ama ...

Mevcut (önceki,...) günlük (haftalık,...) mumun yüksek/düşük değeri nasıl hesaplanır DAKİKA(5,15,30,60,...) GERİ ?

Cevap veren profesyonel fedakarlara çok minnettar olurum.


:))) - güldü.

Okuyun - birçok ilginç şey bulacaksınız. :)))

 
boing9267 :
Mevcut grafiğin Open[]'ı nasıl elde edilir, ancak mevcut zaman çerçevesi nasıl elde edilmez?
iOpen() .
 
TarasBY :

:))) - güldü.

Okuyun - birçok ilginç şey bulacaksınız. :)))


Gülmek yanlış .....)))


Okudum... "Diğer zaman dilimlerinin ciltleri modellenmemiş"

Muhtemelen o zaman sorunun özünü doğru bir şekilde belirtmedim ... Basitleştirmeye çalışacağım:

Mevcut günlük mumun en yüksek/düşük DAKİKA ÖNCE nasıl hesaplanır?

 
TarasBY :
iOpen() .


teşekkürler
 
KAVrus :

Gülmek yanlış .....)))


Okudum... "Diğer zaman dilimlerinin ciltleri modellenmemiş"

Muhtemelen o zaman sorunun özünü doğru bir şekilde belirtmedim ... Basitleştirmeye çalışacağım:

Mevcut günlük mumun en yüksek/düşük DAKİKA ÖNCE nasıl hesaplanır?

Gülmek okumaktan daha kolay ("anlamak" konusunda zaten sessizim... :)))

Sorunu kodda çözmeye çalışalım:

     //---- Находим последний расчётный бар на нужном нам тамфрейме
     int li_Shift = iBarShift ( Symbol (), PERIOD_M1 , iTime (Sumbol(), PERIOD_D1 , 0 )),
         //---- Ищем на нужном промежутке номер бара с High
        li_Bar = iHighest ( Symbol (), PERIOD_M1 , MODE_HIGH, li_Shift, 1 );
     //---- Получаем значение High
     double ld_HIGH = iHigh ( Symbol (), PERIOD_M1 , li_Bar);

Görüntü ve benzerlikte, minimumla başa çıkabilir misiniz?! ;)

Not Fiyat geçmişinde minimum boyutu 1 dakika olan ayrıklığa sahip olduğumuz için, "bir dakika önce" değil, "son dakikadan ayrı" demek doğru olur.

 
TarasBY :

Gülmek okumaktan daha kolay ("anlamak" konusunda zaten sessizim... :)))

Sorunu kodda çözmeye çalışalım:

Görüntü ve benzerlikte, minimumla başa çıkabilir misiniz?! ;)

Not Fiyat geçmişinde minimum boyutu 1 dakika olan ayrıklığa sahip olduğumuz için, "bir dakika önce" değil, "son dakikadan ayrı" demek doğru olur.


Teşekkürler!!!
 
Merhaba arkadaşlar lütfen sAccelerator.mq4 göstergesi ile ilgili yardım edin 0 çizgisini geçerken uyarı yapmak ve repaint uyarısını kaldırmak istedim işe yaramıyor ama mql'de açıkçası anlamıyorum.
 //+------------------------------------------------------------------+
//|                                                 sAccelerator.mq4 |
//|                      Copyright © 2005, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2005, MetaQuotes Software Corp."
#property  link       "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Black
#property  indicator_color2  Lime
#property  indicator_color3  Red
//---- indicator buffers
double ExtBuffer0[];
double ExtBuffer1[];
double ExtBuffer2[];
double ExtBuffer3[];
double ExtBuffer4[];
// Номер бара, по которому будет искаться сигнал
#define SIGNAL_BAR 1
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 2 additional buffers are used for counting.
   IndicatorBuffers( 5 );
//---- drawing settings
   SetIndexStyle( 0 , DRAW_NONE );
   SetIndexStyle( 1 , DRAW_HISTOGRAM );
   SetIndexStyle( 2 , DRAW_HISTOGRAM );
   IndicatorDigits( Digits + 2 );
   SetIndexDrawBegin( 0 , 38 );
   SetIndexDrawBegin( 1 , 38 );
   SetIndexDrawBegin( 2 , 38 );
//---- 4 indicator buffers mapping
   SetIndexBuffer ( 0 , ExtBuffer0);
   SetIndexBuffer ( 1 , ExtBuffer1);
   SetIndexBuffer ( 2 , ExtBuffer2);
   SetIndexBuffer ( 3 , ExtBuffer3);
   SetIndexBuffer ( 4 , ExtBuffer4);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName( "sAC" );
   SetIndexLabel( 1 , NULL );
   SetIndexLabel( 2 , NULL );
//---- initialization done
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Accelerator/Decelerator Oscillator                               |
//+------------------------------------------------------------------+
int start()
  {
   int     limit;
   int     counted_bars = IndicatorCounted();
   double prev, current;
//---- last counted bar will be recounted
   if (counted_bars > 0 ) 
       counted_bars--;
   limit = Bars - counted_bars;
//---- macd counted in the 1-st additional buffer
   for ( int i = 0 ; i < limit; i++)
       ExtBuffer3[i] = iMA ( NULL , 0 , 5 , 0 , MODE_SMA , PRICE_MEDIAN , i) - 
                       iMA ( NULL , 0 , 34 , 0 , MODE_SMA , PRICE_MEDIAN , i);
//---- signal line counted in the 2-nd additional buffer
   for (i = 0 ; i < limit; i++)
       ExtBuffer4[i] = iMAOnArray(ExtBuffer3, Bars , 5 , 0 , MODE_SMA , i);
//---- dispatch values between 2 buffers
   bool up = true ;
   for (i = limit - 1 ; i >= 0 ; i--)
     {
       current = ExtBuffer3[i] - ExtBuffer4[i];
       prev = ExtBuffer3[i+ 1 ] - ExtBuffer4[i+ 1 ];
       if (current > prev) 
           up = true ;
       if (current < prev) 
           up = false ;
       if (!up)
         {
           ExtBuffer2[i] = current;
           ExtBuffer1[i] = 0.0 ;
         }
       else
         {
           ExtBuffer1[i] = current;
           ExtBuffer2[i] = 0.0 ;
         }
       ExtBuffer0[i] = current;
     }
//---- done
     //---- Статические переменные, в которых хранятся
     //---- время последнего бара и направление последнего сигнала
     static int PrevSignal = 0 , PrevTime = 0 ;
 
     //---- Если баром для анализа выбран не 0-й, нам нет смысла проверять сигнал
     //---- несколько раз. Если не начался новый бар, выходим.
     if (SIGNAL_BAR > 0 && Time[ 0 ] <= PrevTime ) 
         return ( 0 );
     //---- Отмечаем, что этот бар проверен
    PrevTime = Time[ 0 ];
           if (PrevSignal <= 0 )
      {
         if (MainBuffer[SIGNAL_BAR] - 0.0 > 0 && 
           0.0 - MainBuffer[SIGNAL_BAR+ 1 ] >= 0 )
          {
            PrevSignal = 1 ;
             Alert ( "sAC (" , Symbol (), ", " , Period (), ")  -  BUY!!!" );
          }
      }
     if (PrevSignal >= 0 )
      {
         if ( 0.0 - MainBuffer[SIGNAL_BAR] > 0 && 
           MainBuffer[SIGNAL_BAR+ 1 ] - 0.0 >= 0 )
          {
            PrevSignal = - 1 ;
             Alert ( "sAC (" , Symbol (), ", " , Period (), ")  -  SELL!!!" );
          }
      } 
   return ( 0 );
  }
//+------------------------------------------------------------------+

 

Beyler, lütfen bana bardaki ortalama keneyi nasıl bulacağımı söyleyin. Ben şöyle tahmin ediyorum:

ortalama[i] = (toplam tik sayısı[i])/Hacim[i]; İstenen çubuğun toplam kene miktarı nasıl bulunur?