コーディングのヘルプ - ページ 154

 

Re

私は3行の平均の結果を持つようにしたい私はこれをコード化したが、動作しません誰か私を助けることができますか?ご返答ありがとうございます。

#プロパティの著作権 ""

#property リンク ""

#property indicator_chart_window(インジケーターチャートウィンドウ

#property indicator_buffers 1 (インジケーターバッファー1)

#property indicator_color1 イエロー

//---- 入力パラメータ

extern int length = 14;

extern int length2 = 21;

extern int lenght3 =38;

double ExtMapBuffer1[];

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//| カスタムインジケータ 初期化関数

//+------------------------------------------------------------------+

int init()

{

//---- インジケータ

SetIndexStyle(0,DRAW_LINE)を設定します。

SetIndexBuffer(0,ExtMapBuffer1)を設定します.

//----

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケータ初期化関数

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケーターイテレーション関数

//+------------------------------------------------------------------+

int start()

{

if(Bars<=1) return(0);

ExtCountedBars=IndicatorCounted();

//---- エラーの可能性をチェック

if (ExtCountedBars<0)戻り値(-1);

//---- 最後にカウントされたバーが再カウントされる

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1.If(ExtCountedBars>1)。

//---- メイン計算ループ

while(pos>=0)

{

double median = (iCustom(NULL,0, "indicator1",length,0,pos))+ (iCustom(NULL,0),length,0,pos)。

iCustom(NULL,0,indicator2",length2,0,pos)+。

iCustom(NULL,0, "indicator3",length3,0,pos))/3.0;

}

return(median);

}

//+------------------------------------------------------------------+

 
bixwin:
私は3行の平均の結果を持つようにしたい私はこれをコード化しましたが、動作しません誰か私を助けてください。

#property コピーライト ""

#property リンク ""

#property indicator_chart_window(インジケーターチャートウィンドウ

#property インジケーターバッファー1

#property indicator_color1 イエロー

//---- 入力パラメータ

extern int length = 14;

extern int length2 = 21;

extern int lenght3 =38;

double ExtMapBuffer1[];

int ExtCountedBars=0;

//+------------------------------------------------------------------+

//| カスタムインジケータ初期化関数

//+------------------------------------------------------------------+

int init()

{

//---- インジケータ

SetIndexStyle(0,DRAW_LINE)を設定します。

SetIndexBuffer(0,ExtMapBuffer1)を設定します.

//----

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケータ初期化関数

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| カスタムインジケーターイテレーション関数

//+------------------------------------------------------------------+

int start()

{

if(Bars<=1) return(0);

ExtCountedBars=IndicatorCounted();

//---- エラーの可能性をチェック

if (ExtCountedBars<0)戻り値(-1);

//---- 最後にカウントされたバーが再カウントされる

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1.If(ExtCountedBars>1)。

//---- メイン計算ループ

while(pos>=0)

{

double median = (iCustom(NULL,0, "indicator1",length,0,pos))+ (iCustom(NULL,0),length,0,pos)。

iCustom(NULL,0,indicator2",length,,0,pos)+。

iCustom(NULL,0, "indicator3",length,0,pos))/3.0;

}

return(median);

}

//+------------------------------------------------------------------+

bixwin

すでに質問を投稿しましたが、計算に使用したいカスタムインディケータの 正確な名前は何ですか(つまり、それらは「indicator1」「indicator2」「indicator3」という名前ではありませんね)?

iCustom()の呼び出しでその名前を使いたいインジケータの正確な名前に置き換えないと、何もできません。また、あなたのスタート関数は次のようになるはずです(ここでも、あなたは名前を実際の名前に置き換える必要があります)。

int start()

{

if(Bars<=1) return(0);

int ExtCountedBars=IndicatorCounted();

if (ExtCountedBars<0) return(-1);

if (ExtCountedBars>0) ExtCountedBars--;

int pos=Bars-1;

if(ExtCountedBars>1) pos=Bars-ExtCountedBars-1;

while(pos>=0)

{

ExtMapBuffer1[pos] = (iCustom(NULL,0,"indicator1",length,0,pos)+

iCustom(NULL,0,"indicator2",length,0,pos)+

iCustom(NULL,0,"indicator3",length,0,pos))/3.0;

}

return(0);

}
 

正確には、1つ目の指標は「indicator1」、2つ目は「indicator2」、最後は「indicator3」です。これでいいのでしょうか?

 
bixwin:
正確には、最初のインジケータは「indicator1」、2番目のインジケータは「indicator2」、最後のインジケータは「indicator3」です。これはあなたが望むものですか?

ビックスウィン

私の前の投稿にある開始関数の コードを参照してください。

 

Mladenさん、早速のご回答ありがとうございます。

うまくいきません。

スタート機能が良くないのだと思います。

3つのカスタムインジケータの 例を投稿してもらえますか?

 
bixwin:
Mladenさん、早速のご返答ありがとうございました。

動作しない。

スタート機能が良くないと思います。

3つのカスタムインジケータの例を投稿してもらえますか?

bixwindです。

indicator1"、"indicator2"、"indicator3 "は何をするものなのかわかりません。これらは実際には移動平均を計算するだけで、_testインディケータ(あなたが開始した中央値計算を行う)で使用し、それは問題なく動作します(ターミナル上でどのように見えるかを参照してください)。ということは、カスタムインジケータの パラメータに問題がなければ、テストインジケータもOKなので、問題なく動くはずです。

ファイル:
_test.mq4  1 kb
test.gif  41 kb
 

Mladenさん、ありがとうございます。

 

こんにちは、mt4コーディングの初心者で、いくつかの助けが必要です。

通貨と時間枠のラベルを左下に表示するにはどうしたらよいでしょうか。

他のタイムフレームから移動すると、タイムフレームラベルも変更されます。

ファイル:
eu1.png  64 kb
eu2.png  43 kb
 
cawat:
こんにちは、mt4のコーディングは初めてで、いくつか助けが必要です。

通貨とタイムフレームのラベルを左下に表示する方法:-)

他のタイムフレームから移動すると、タイムフレームラベルも変わってしまいます。

カワット

これならできそうです。パラメータを使ってタイムシンボルラベルの様々なプロパティを 指定することができます。

ファイル:
 
mladen:
Marcoさん、EA構築について - こちらのスレッドをご覧

ください :https://www.mql5.com/en/forum/173136 https://www.mql5.com/en/forum/173171

MLadenさんへ。

助けてくれてありがとう、また連絡してね。

マルコさんへ