MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 651

 
Taras Slobodyanik :

kodum longchartID'yi geçici bir Global değişkene yazıyor.

Görsel olarak, F3'e basarsanız, orada sıfır (veya başka bir mükemmel değer) görüntülenir.
Bunun nedeni, terminalin bunun bir çift değer olduğunu düşünmesi ve göstermeye çalışmasıdır, ancak biz onu uzun kaydırdık - bu tamamen farklı bir sayı biçimidir.

Bu değer normal bir çift olarak geri okunursa, orada ne olduğu netleşmeyecektir.
Kodum tarafından okunursa, tekrar uzun olacak (kaydedilenle aynı).
Terminal penceresinde manuel olarak bu değişkene girerseniz, terminal bir ikame algılayacağı için sıfıra sıfırlanacaktır.

CHART_BRING_TO_TOP içindeki sonucu nasıl kullanabilirim?
 
Artyom Trishkin :

OnInit()'te zamanla başlatmayı kaldır

Teşekkür ederim.

Lütfen bana hatanın nerede olduğunu söyleyin. Durum şu ki normal fraktal dediğimde ok duruma göre ayarlanıyor, olması gereken yere, iFreeNumFractals fraktal dediğimde şart karşılanıyor, ok olması lazım ama olmuyor. Teoride, satırları normal fraktal ve uncomment iFreeNumFractals ile yorumlarsanız resim aynı olmalıdır, ancak...

#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot UP
#property indicator_label1  "UP"
#property indicator_type1   DRAW_ARROW
#property indicator_color1  clrLawnGreen
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot DN
#property indicator_label2  "DN"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrDeepPink
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1


//--- indicator buffers
double         BufferUP[];
double         BufferDN[];

int dist=3;
string nameInd;
datetime timf=0;
int numf;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,BufferUP);
   SetIndexBuffer(1,BufferDN);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
   SetIndexArrow(0,233);
   SetIndexArrow(1,234);
  
   
//---
//---
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
//---
   if(rates_total<2) return(0);
     {
      int limit=rates_total-prev_calculated;
      if(limit>1) 
        {
         limit=rates_total-2;
         ArrayInitialize(BufferUP,EMPTY_VALUE);
         ArrayInitialize(BufferDN,EMPTY_VALUE);
        }
      for(int i=limit; i>=0; i--) 
        {
         
         if(fub(i))
           {
            BufferUP[i]=low[i]-dist*Point;
           }

         Comment("");
        }
      //--- return value of prev_calculated for next call

     }
   return(rates_total);
  }
//+
bool fub(int ib)//
  {
   bool bingob=false,flag_verh_f=0;
   int start_bar=0,numbarfrup=0,kfr_all=0;
   double high_old=0,prfra=0,f_up=0,f_dn=0,f=0;

     {
      for(int i_i=ib+3; i_i<Bars-2; i_i++)
        {
         if(high_old<High[i_i]) high_old=High[i_i];

        f_up=iFractals(Symbol(),0,MODE_UPPER,i_i);
        //f_up=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits);
         f_dn=iFractals(Symbol(),0,MODE_LOWER,i_i);
         //f_dn=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,1,i_i),Digits);
         if(f_up>0 && f_up>iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i)+10*Point)//Если фрактал найден выше МА+10 pips
           {
            numbarfrup=i_i;
           }
         if(f_dn>0 && f_dn<iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i))
           {
            start_bar=numbarfrup;break;
           }
        }
      for(int i_i=start_bar; i_i<Bars-2; i_i++)
        {
         f=iFractals(Symbol(),0,MODE_UPPER,i_i);
         //f=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits);
         if(f>0)kfr_all++;
         if(f>0 && Low[ib]<f+1*_Point && Open[ib]>f //Сравнение фрактала с текущ баром
            &&
            high_old-f>=100*Point//от максимума до фрактала 100 пп
            )
           {
            bingob=true;
            prfra=f;
            timf=Time[i_i];
            break;
           }
         if(kfr_all==3)break;
        }
     }
// numfb=iBarShift(NULL,PERIOD_CURRENT,timf,true);
   if(bingob)
     {flag_verh_f=true;}
   if(bingob==false)
      flag_verh_f=false;

   return(flag_verh_f);

  }
//



 
inter78 :
CHART_BRING_TO_TOP içindeki sonucu nasıl kullanabilirim?

CHART_BRING_TO_TOP öncesinde kullanılanla aynı

 
merhaba arkadaşlar bu durum piyasada aynı fiyattan 3 alış emrimiz var fiyat 10 puan artıyor her emir için +10 puanımız var
 
Ghabo :

Teşekkür ederim.

Lütfen bana hatanın nerede olduğunu söyleyin. Normal fraktal dediğimde durum şu, ok duruma göre ayarlanıyor, olması gereken yerde, iFreeNumFractals fraktal dediğimde şart sağlanıyor, ok olması lazım ama olmuyor. Teoride, satırları normal fraktal ve uncomment iFreeNumFractals ile yorumlarsanız resim aynı olmalıdır, ancak...




iFreeNumFractals göstergeleri, grafikte standart ve standart Fraktallar gibi ayarlara sahip mi?

Eğer öyleyse, sinyalleri eşleşiyor mu?

 
Aleksandr Egorov :
merhaba arkadaşlar bu durum piyasada aynı fiyattan 3 alış emrimiz var fiyat 10 puan artıyor her emir için +10 puanımız var

Tam olarak ne istediğinizi anlamak için metninizde noktalama işaretleri kullanma zahmetine girin. Ve sonra her şeyi bir yığına attılar - ne anlama geldiğini anlayın ...

 
Taras Slobodyanik :

CHART_BRING_TO_TOP öncesinde kullanılanla aynı

Kullandığımdan beri hiçbir şey çalışmıyor. Aynısını sadece bir gösterge şeklinde yapmanız ve CHART_BRING_TO_TOP'a getirmeniz muhtemelen sizin için çok zor olmayacaktır.
 
Artyom Trishkin :

Tam olarak ne istediğinizi anlamak için metninizde noktalama işaretleri kullanma zahmetine girin. Ve sonra her şeyi bir yığına attılar - ne anlama geldiğini anlayın ...

böyle bir durumda piyasada 3 alış emrimiz var aynı fiyattan fiyat 10 puan artıyor her emir için +10 puanımız var 3 sat emir ile kilitlemek istiyorum şimdi nasıl emin olabilirim bu siparişler artık µl4'te kontrol edilmiyor

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

Taras Slobodyanik , 2018.10.07 22:12

GlobalVariable Check() - zaten böyle bir değişken olup olmadığını kontrol eder, değilse, o zaman
GlobalVariableTemp() - sonraki çalıştırmada silinecek geçici bir değişken oluşturur.

Bu an açık, soru şu: GP yoksa neden GlobalVariableSet aracılığıyla sabit değil de yalnızca geçici bir tane oluşturulur?

 
Artyom Trishkin :

iFreeNumFractals göstergeleri, grafikte standart ve standart Fraktallar gibi ayarlara sahip mi?

Eğer öyleyse, sinyalleri eşleşiyor mu?

Fraktallar tamamen eşleşiyor.

Ekrandaki olağan fraktallardaki oklar

iFreeNumFractals ilk ve sonuncuyu koyar, orta üç yoktur.

aqz