どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1004

 
皆さん、こんにちは。フォーラムにインジケーターがありました
https://forum.mql4.com/ru/56236/page933,Подскажите ターミナルで開く方法を教えてください。

#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);
   }

 

こんにちは!Expert Advisorで、取引条件の1つにCCIピボットを使っているのですが、なぜかうまくいきません。どのようなエラーなのか説明してください。

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:

こんにちは!Expert Advisorで、取引条件の1つにCCIピボットを使っているのですが、なぜかうまくいきません。どのようなエラーなのか説明してください。

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;

ありがとうございました。
 

何が問題なのか、教えてください。下方向に70(買い)、上方向に30(売り)を超えたら取引を終了させたい。なぜか70を大きく下回って買い、30を大きく上回って売りの取引が成立しています。RSIはまだ70と30にすらなっていない。ありがとうございます。

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:

何が問題なのか、教えてください。下方向に70(買い)、上方向に30(売り)を超えたら取引を終了させたい。なぜか70を大きく下回って買い、30を大きく上回って売りの取引が成立しています。RSIはまだ70と30にすらなっていない。ありがとうございます。

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とする。

前の投稿では、if(C_1 < C_2 && C_2 < C_3)Cls_B=true; 今度は、同じ変数が別の条件で変化しています: if((R_1 < 70 && R_2 > 70))Cls_B=true; Check.

このコードを試してみてください。

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;
 

みなさんこんにちは!!!!

このように繰り返し行われてきたと思いますが、もしかしたら資金によって、土地の広さの計算式を提案してくれる人がいるかもしれませんね?

2000以上ならロット0.02、3000以上なら0.03、みたいな?

 
nikelodeon:

みなさんこんにちは!!!!

このように繰り返し行われてきたと思いますが、もしかしたら資金によって、土地の広さの計算式を提案してくれる人がいるかもしれませんね?

2000以上ならロット0.02、3000以上なら0.03、みたいな?

さまざまな計算式があります
 
paladin80:

前の投稿では、if (C_1 < C_2 && C_2 < C_3)Cls_B=true; 今度は、同じ変数が別の条件で変化しています: if((R_1 < 70 && R_2 > 70))Cls_B=true; 確認してください。

このコードを試してみてください。


ありがとうございました。RSI EAが具体的にどのように機能するか考えているところです。面白いことに、次のチャートでは、取引はまさに正しい場所で開始されていますが、完全に間違った場所で閉じられています(私は、取引が上から下への交差点70(買い)と下から上への交差点30(売り)で閉じられることを望んで います。あなたが推奨するクロージングスキームもうまくいきません。RSIの期間を2に設定し、M1を見ているところです。どこが不正確なのか、それがわからない。

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

R_2=iRSI(NULL,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:

ありがとうございました。RSI EAがどのように機能するのかを把握している最中です。面白いのは、下のチャートで、取引はあるべきところに正確に始まり、完全に間違って終了していることです(私は、取引が上から下に交差する70(買い)、下から上に交差する30(売り)で終了することを望んで います。あなたが推奨するクロージングスキームもうまくいきません。RSIの期間を2に設定し、M1を見ているところです。どこが不正確なのか、それがわからない。

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

R_2=iRSI(NULL,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;

最後の条件が正しく書かれているかどうか