[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 263

 
Run >> :

正方形や長方形を背景として描かず、枠として描く方法を教えてください。

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

オブジェクトプロパティのリストで、背景として描画する矩形プロパティをfalseに設定します。

ObjectSet( string name, OBJPROP_BACK, false) ;

しかし、オブジェクトはチャートの前に描画されます。

 

編集|削除

無理な質問で申し訳ないのですが...。


インジケーターバッファーはちょっと苦手です...。あるいは、インジケーターそのものがよく分かっていない...。


BrainTrend2StopNインジケーターの参照方法について、可能であればアドバイスをお願いします。


現在のバーのオープニングがインジケータ値より高いか低いかをチェックしたい。

EAから文字列でインジケータにアクセスしています。


iCustom(NULL,0, "BrainTrend2StopN",CountBars, 1,0)

または

iCustom(NULL,0, "BrainTrend2StopN",CountBars, 0,0)

はそれぞれゼロと最初のバッファのために...。

しかし、Expert Advisorはこの文字列に反応しない...。


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

ファイル:
 
Morzh09 >> :

iCustom(NULL,0, "BrainTrend2StopN",CountBars,1,0)

または

iCustom(NULL,0, "BrainTrend2StopN",CountBars,0,0)

はそれぞれゼロと最初のバッファのために...。

Expert Advisorはこの文字列に反応しない...。

インジケータに2つの外部パラメータがあることに注意してください。

extern int Simbol =119;

extern intBars=500;

は、すべてiCustomに記述する必要があります。


iCustom(NULL,0,"BrainTrend2StopN", Simbol, CountBars, 0,0);

iCustom(NULL,0,"BrainTrend2StopN", Simbol, CountBars, 1,0);
 

アラスカ


ありがとうございました。コードを修正し、両方のパラメータを渡すようにしましたが、残念ながら、インジケータバッファの値でAlertを呼び出すと、ゼロだけが表示されます...。


もし機会があれば、対処法を教えていただけませんか。

ファイル:
bt1_1.mq4  10 kb
 

トライ

Alert("Buy signal",
      "  ",
      DoubleToStr(iCustom(NULL,0,"BrainTrend1StopN", Simbol, CountBars, EnableAlerts, SignalID,1,0),8),
      "   ", 
      DoubleToStr(iCustom(NULL,0,"BrainTrend1StopN", Simbol, CountBars, EnableAlerts, SignalID,0,0),8)
      );
 
プログラマーさん、よろしくお願いします。1週間ほど格闘していますが、プログラミングの仕方が分からないので、何も動きません。2つのHMAを矢印で交差させるインジケータを書く ことはできますか?
ファイル:
hma.mq4  4 kb
 

なぜかシフトの意味がわからず、矢印をつけたがらない。

#property indicator_chart_window
//#property indicator_chart_window
#プロパティ indicator_buffers 4
#property indicator_color1 マゼンタ // 12
#プロパティ indicator_color2 Blue // 26
#property indicator_color3 MediumBlue
#property indicator_color4 トマト
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 1
#property indicator_width4 1
//---- インジケータ・パラメータ
extern int FastHMA = 12;
extern int SlowHMA = 26;
extern inttern ExtmethodFastHMA=0; // MODE_SMA
extern int ExtmethodSlowHMA=0; // MODE_SMA
extern int ExtpriceFastHMA=0; // PRICE_CLOSE
extern int ExtpriceSlowHMA=0; // PRICE_CLOSE
extern int ExtsdvigFastHMA=0;
extern int ExtsdvigSlowHMA=0;
extern bool EnableAlert=true;
extern string ExtSoundFileName = "";
//----インジケータ・バッファ
double PreHMA1[];
double PreHMA2[];
double CrossUp[];
double CrossDown[];
static int bBuy = 0;
static int bSell = 0;

//+------------------------------------------------------------------+
int pF, pS;

//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{

//中
SetIndexStyle( 0, DRAW_LINE ) を設定します。
SetIndexStyle( 1, DRAW_LINE ) を設定します。
// シグナル
SetIndexStyle( 2, DRAW_ARROW, EMPTY ) を設定します。
SetIndexArrow( 2, 233 );
SetIndexStyle( 3, DRAW_ARROW, EMPTY ) を設定します。
SetIndexArrow( 3, 234 );

//---- 5つのインジケータ・バッファのマッピング
SetIndexBuffer(0,PreHMA1)を設定。
SetIndexBuffer(1,PreHMA2)を設定します。
SetIndexBuffer( 2,CrossUp );
SetIndexBuffer( 3,CrossDown );

IndicatorDigits( MarketInfo( Symbol(), MODE_DIGITS )));

//---- DataWindowとインジケータサブウィンドウのラベル名
IndicatorShortName("HMA2("+FastHMA+", "+SlowHMA+")");
SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA ).SetIndexLabel( 0, "HMA("+FastHMA + "," +SlowHMA +")" + FastHMA );
SetIndexLabel( 1, "HMA(" + FastHMA + "," + SlowHMA+")" + SlowHMA );
SetIndexLabel( 2, "買い" );
SetIndexLabel( 3, "Sell" );

pF = MathSqrt(FastHMA)。
pS = MathSqrt(SlowHMA);

//---- 初期化完了
return(0)です。
}


//+------------------------------------------------------------------+
double WMA(int x, int p) { { { WMA(int x,int p)
return(iMA(NULL, 0, p, 0, MODE_SMA, PRICE_CLOSE, x+sdvig))
}


//+------------------------------------------------------------------+
//| オシレーターの移動平均
//+------------------------------------------------------------------+
int start()
{

bool bConditionUp;
{ bConditionDown;
ダブルレンジ
double AvgRange;

int制限。
int カウンター。
int counted_bars=IndicatorCounted();

//---- 最後にカウントされたバーが再カウントされます。
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars。

//---- HMAの準備
for(int i=0; i<limit;i++){の場合。
PreHMA1[i] = 2*WMA(i, FastHMA/2) - WMA(i, FastHMA)です。
PreHMA2[i] = 2*WMA(i, SlowHMA/2) - WMA(i, SlowHMA)です。

AvgRange = 0;
bConditionUp = 0;
bConditionDown = 0;
for ( counter = i; counter <= i + 9; counter++ ) { 。
AvgRange += MathAbs( High[ counter ] - Low[ counter ] );
}
レンジ = AvgRange/10;
bConditionUp = (PreHMA1[i+1] >= PreHMA2[i+1] ) && (PreHMA1[i+1] >= PreHMA2[i+1])
(PreHMA1[i+2] <= PreHMA2[i+2] ) &&.
(PreHMA1[i] >= PreHMA2[i] ); // 上方向に交差する。
bConditionDown = (PreHMA1[i+1] <= PreHMA2[i+1] ) && 。
(PreHMA1[i+2] >= PreHMA2[i+2] ) && (PreHMA1[i+2] >= PreHMA2[i+2])
(PreHMA1[i] <= PreHMA2[i] ); // 下方向へのクロス
if ( bConditionUp ) {///。
CrossUp[i+1] = PreHMA2[i+1]-Range * 0.75;
CrossDown[i+1] = EMPTY_VALUE;
bConditionDown = false とする。
}

if ( bConditionDown ) {///。
CrossDown[i+1] = PreHMA2[i+1]+Range * 0.75;
CrossUp[i+1] = EMPTY_VALUE。
bConditionUp = false とする。
}

if (!bConditionUp && !bConditionDown){。
CrossDown[i+1] = EMPTY_VALUE;
CrossUp[i+1] = EMPTY_VALUE。
}

if (bConditionUp && !bBuy==1 && i==0 && EnableAlert){.
bBuy = 1; // 買いフラグを設定する
bSell = 0; // 売りのフラグをリセットする
アラート(シンボル()," ",期間(), "M Achtung BUY "); // ビープ音
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
if (bConditionDown && !bSell==1 && i==0 && EnableAlert){.
bBuy = 0; // 購入フラグを設定する
bSell = 1; // 売りフラグをリセットします。
アラート(Symbol()," ",Period(), "M Achtung SELL "); // ビープ音
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
//コメント("Buy-"+bBuy+" \nSell-"+bSell);
} // for

//return ("0");
}
//購入する
// if (bBuy==0 && i < 1 && EnableAlert) {.
///Alert (Symbol()," ",Period(), "M Achtung BUY "); // ビープ音
// アラート("Buy,",bBuy,",i,",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }

// if (bSell==0 && i < 1 && EnableAlert) { {...
///Alert (Symbol()," ",Period(), "M Achtung SELL ");
// アラート("Sell-",bSell," ",i," ",EnableAlert)。
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }

どなたか、私の間違いを教えていただけませんか?

 
kurt >> :


私の間違いが何なのか、どなたか教えてください。

まず、コードを読みやすい形にし、ネストレベルを示すタブとSRCボタンを使用します

 

こんにちは。


チュートリアルから情報機能を理解するために私を助けてくださいhttps://book.mql4.com/ru/build/info 私は1週間理解していない、なぜそれからの信号が表示されないのですか?チュートリアルのExpert Advisorを忠実に再現しており、その情報は内部に含まれています。


チャートにインジケータを追加する必要がありますか?何を使って埋めればいいのでしょうか?サンプルには空のインジケータがあり、好きなもので埋めたいのですが...。Inform()関数のシグナルを表示させるには?

 

私たち初心者は1週間が期限のようですが、その後、プロに会いに行きます))))


最近の記事から結論づけると...