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

 
Herkese merhaba! Forumda bir gösterge vardı
https://forum.mql4.com/ru/56236/page933, Lütfen bana terminalde nasıl açacağımı söyle?

 #property   indicator_separate_window
#property   indicator_buffers 3
#property   indicator_color1  Aqua
#property   indicator_width1   1
#property   indicator_color2  Red
#property   indicator_width2   1
#property   indicator_color3  Yellow
#property   indicator_width3   1

extern int        Fperiod= 1 ;
extern int        Speriod= 2 ;
extern int        Method= 3 ;
extern int        PRICE_MODE= PRICE_WEIGHTED ;

double    Buf0[];
double    Buf1[];                                
double    Buf2[];                                
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
   {
     SetIndexBuffer ( 0 ,Buf0);
     SetIndexBuffer ( 1 ,Buf1);
     SetIndexBuffer ( 2 ,Buf2);

    SetIndexStyle( 0 , DRAW_LINE );
    SetIndexStyle( 1 , DRAW_LINE );
    SetIndexStyle( 2 , DRAW_LINE );

    SetIndexEmptyValue( 1 , EMPTY_VALUE );   
    SetIndexEmptyValue( 2 , EMPTY_VALUE );   

    IndicatorShortName( "Proba " );                
   
    SetIndexDrawBegin( 0 , 0 );  
    SetIndexDrawBegin( 1 , 0 );
    SetIndexDrawBegin( 2 , 0 );

     return ( 0 );
   }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
   {
     int i; 
     int limit;
     int counted_bars=IndicatorCounted();
     if (counted_bars< 0 ) return (- 1 );
     if (counted_bars> 0 ) counted_bars--;
    limit= Bars -counted_bars;
     for (i = limit;i>= 0 ;i--)
        {  
         Buf0[i]= iMA ( NULL , 0 ,Fperiod, 0 ,Method,PRICE_MODE,i)- iMA ( NULL , 0 ,Speriod, 0 ,Method,PRICE_MODE,i);
         if (Buf0[i] > Buf0[i+ 1 ])
             {
              Buf1[i] = Buf0[i];
//              if(Buf0[i+1] > Buf0[i+2])
//                   Buf1[i+1] = Buf0[i+1];
//              else Buf2[i+1] = Buf0[i+1];
             }
         else
             {
              Buf2[i] = Buf0[i];
//              if(Buf0[i+1] < Buf0[i+2])
//                   Buf2[i+1] = Buf0[i+1];
//              else Buf1[i+1] = Buf0[i+1];
             }
        }              
     return ( 0 );
   }

 

Merhaba! Expert Advisor'da alım satım koşullarından biri olarak CCİ rotasyonunu kullanıyorum ancak nedense çalışmayacak. Söyle bana, lütfen, hata nedir?

C_1=iCCI(NULL,0,C_period,PRICE_TYPICAL,0);

C_2=iCCI(NULL,0,C_period,PRICE_TYPICAL,1);

C_3=iCCI(NULL,0,C_period,PRICE_TYPICAL,2);


if(C_1 > C_2 > C_3)Opn_B=true;

if(C_1 < C_2 < C_3)Cls_B=true;

 
Ratmirf :

Merhaba! Expert Advisor'da alım satım koşullarından biri olarak CCİ rotasyonunu kullanıyorum ancak nedense çalışmayacak. Söyle bana, lütfen, hata nedir?

C_1=iCCI(NULL,0,C_period,PRICE_TYPICAL,0);

C_2=iCCI(NULL,0,C_period,PRICE_TYPICAL,1);

C_3=iCCI(NULL,0,C_period,PRICE_TYPICAL,2);


if(C_1 > C_2 > C_3)Opn_B=true;

if(C_1 < C_2 < C_3)Cls_B=true;

if (C_1 > C_2 && C_2 > C_3) Opn_B=true;

if (C_1 < C_2 && C_2 < C_3) Cls_B=true;

 
paladin80 :
if (C_1 > C_2 && C_2 > C_3) Opn_B=true;

if (C_1 < C_2 && C_2 < C_3) Cls_B=true;

Çok teşekkürler!
 

Lütfen bana burada neyin yanlış olduğunu söyle? Anlaşmaların yukarıdan aşağıya (Al) 70'i ve aşağıdan yukarıya (Sat) 30'u geçtiği anda kapanmasını istiyorum. Nedense Buy anlaşmaları yetmişin çok altında, Sell ise 30'un çok üzerinde kapanıyor. RSI'ın 70 ve 30 seviyelerine bile ulaşmak için zamanı bile yok. Teşekkürler!

R_1=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,1);

if((R_1 < 70 && R_2 > 70)) Cls_B=true;
if((R_1 > 30 && R_2 < 30)) Cls_S=true;
 
Ratmirf :

Lütfen bana burada neyin yanlış olduğunu söyle? Anlaşmaların yukarıdan aşağıya (Al) 70'i ve aşağıdan yukarıya (Sat) 30'u geçtiği anda kapanmasını istiyorum. Nedense Buy anlaşmaları yetmişin çok altında, Sell ise 30'un çok üzerinde kapanıyor. RSI'ın 70 ve 30 seviyelerine bile ulaşmak için zamanı bile yok. Teşekkürler!

R_1=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(NULL,0,RSI_Period,PRICE_TYPICAL,1);

if((R_1 < 70 && R_2 > 70)) Cls_B=true;
if((R_1 > 30 && R_2 < 30)) Cls_S=true;

Bir önceki gönderide: if (C_1 < C_2 && C_2 < C_3) Cls_B =true; Şimdi aynı değişkeni farklı bir koşul altında değiştirdiniz: if((R_1 < 70 && R_2 > 70)) Cls_B =true; Kontrol etmek.

Bu kodu deneyin:

 double C_1= iCCI ( NULL , PERIOD_CURRENT ,C_period, PRICE_TYPICAL , 0 );
double C_2= iCCI ( NULL , PERIOD_CURRENT ,C_period, PRICE_TYPICAL , 1 );
double C_3= iCCI ( NULL , PERIOD_CURRENT ,C_period, PRICE_TYPICAL , 2 );

bool Opn_B= false , Opn_S= false ;

if (C_1>C_2 && C_2>C_3) Opn_B= true ;
if (C_1<C_2 && C_2<C_3) Opn_S= true ;

//---
double R_1= iRSI ( NULL , PERIOD_CURRENT ,RSI_Period, PRICE_TYPICAL , 0 );
double R_2= iRSI ( NULL , PERIOD_CURRENT ,RSI_Period, PRICE_TYPICAL , 1 );

bool Cls_B= false , Cls_S= false ;

if (R_1 > 70.0 && R_2 < 70.0 ) Cls_B= true ; 
if (R_1 < 30.0 && R_2 > 30.0 ) Cls_S= true ;
 

Hepinize sağlık!!!!

Bunun birçok kez yapıldığından eminim, ama belki birileri size fonlara bağlı olarak parti büyüklüğü formülünü söyler???

Örneğin, 2000'den fazlaysa lot 0,02'dir, 3000'den fazlaysa 0,03'tür, vb.

 
nikelodeon :

Hepinize sağlık!!!!

Bunun birçok kez yapıldığından eminim, ama belki birileri size fonlara bağlı olarak parti büyüklüğü formülünü söyler???

Örneğin, 2000'den fazlaysa lot 0,02'dir, 3000'den fazlaysa 0,03'tür, vb.

Hesaplamalar için farklı formüller var
 
paladin80 :

Bir önceki gönderide: if (C_1 < C_2 && C_2 < C_3) Cls_B =true; Şimdi aynı değişkeni farklı bir koşul altında değiştirdiniz: if((R_1 < 70 && R_2 > 70)) Cls_B =true; Kontrol etmek.

Bu kodu deneyin:


Yardımın için çok teşekkürler! Şimdi RSI danışmanının nasıl çalıştığını anlıyorum. Yani ilginç olan, aşağıdaki şemada, fırsatlar tam olarak ihtiyaç duyulan yerde açılıyor, ancak tamamen yanlış yerde kapatılıyor (Anlaşmaların yukarıdan aşağıya doğru (Satın Al) 70'i geçtiği anda kapanmasını istiyorum ve 30 aşağıdan yukarıya (Satış) Önerdiğiniz Kapanış şeması da çalışmıyor.RSI periyodunu 2'ye ayarlayıp M1'e bakıyorum.Yanlışlığın nerede olduğunu bulamıyorum.

R_1=iRSI(BOŞ, PERIOD_CURRENT ,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(BOŞ,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);


if(R_1>60 && R_2<60) Opn_B=true;

if(R_1<40 && R_2>40) Opn_S=true;


if(R_1<70.0 && R_2>70.0) Cls_B=true;

if(R_1<30.0 && R_2<30.0) Cls_S=true;

 
Ratmirf :

Yardımın için çok teşekkürler! Şimdi RSI danışmanının nasıl çalıştığını anlıyorum. Yani ilginç olan, aşağıdaki şemada, fırsatlar tam olarak ihtiyaç duyulan yerde açılıyor, ancak tamamen yanlış yerde kapatılıyor (Anlaşmaların yukarıdan aşağıya doğru (Satın Al) 70'i geçtiği anda kapanmasını istiyorum ve 30 aşağıdan yukarıya (Satış) Önerdiğiniz Kapanış şeması da çalışmıyor.RSI periyodunu 2'ye ayarlayıp M1'e bakıyorum.Yanlışlığın nerede olduğunu bulamıyorum.

R_1=iRSI(BOŞ,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,0);

R_2=iRSI(BOŞ,PERIOD_CURRENT,RSI_Period,PRICE_TYPICAL,1);


if(R_1>60 && R_2<60) Opn_B=true;

if(R_1<40 && R_2>40) Opn_S=true;


if(R_1<70.0 && R_2>70.0) Cls_B=true;

if(R_1<30.0 && R_2<30.0) Cls_S=true;

Son koşulun doğru yazıldığından emin olun
Neden: