インディケータ: フィボバーMT5

 

フィボバーMT5:

最後のバーに基づいてフィボナッチレベルを描画する指標です。

1

作者: Taras Slobodyanik

 

76.4%は有効なフィボ水準ではなく、78.6%とすべきである。

176.4%も全く有効な水準ではない。

 
Pawel Wojnarowski:

76.4%は有効なフィボ水準ではなく、78.6%とすべきである。

176.4%も全く有効な水準ではない。

176.4%もまったく有効な水準ではない。また、78.6としても ;)
実際のレベルは、1、2、3、5、8、13、21、34、55、89、144、233、377、610、987、...です。

あなたにとって必要なレベルを設定することができます。

 

作者が間違ったファイルをアップロードした。

ラインカラーの設定はありません。

ダウンロードした#プロパティのバージョン"1.00"

 
Automated-Trading:

フィボバーMT5

著者:Taras Slobodyanik


コードにバグがあるのでしょうか?

どうやら次のようにすると設定が表示されるようです。

//extern string comm0=""; //- - - -- ---- FIBO ---- -- - - - -

input string comm0=""; //- - - -- ---- FIBO ---- -- - - - -

extern ENUM_TIMEFRAMES Fibo_Bar=PERIOD_D1; //フィボの最後のバー

//input ENUM_TIMEFRAMES Fibo_Bar=PERIOD_D1; //フィボの最終バー

//extern color fibo_color1=SkyBlue; //上の色

入力色 fibo_color1=SkyBlue; //上の色

//外部カラー fibo_color0=ライムグリーン; //メインカラー

入力色 fibo_color0=LimeGreen; //メインカラー

//外部色 fibo_color2=オレンジ; //下色

入力色 fibo_color2=オレンジ; //下色

//extern ENUM_LINE_STYLE fibo_style=STYLE_DOT; //スタイルライン

input ENUM_LINE_STYLE fibo_style=STYLE_DOT; //スタイル線

input int fibo_width=1; //線幅


しかし、これは拒否される.なぜ?

input ENUM_TIMEFRAMES Fibo_Bar=PERIOD_D1; //フィボの最後のバー

 

開発者はMQL5から "extern "演算子を削除した。

А на этот ругается ... почему?

45行目を削除してください。

ps.このインジケーターのより高度なバージョンは私の製品にあります。

 
Taras Slobodyanik:

開発者はMQL5から "extern "演算子を削除した。

45行目を削除してください。

ps.私の製品には、このインジケータのさらに高度なバージョンがあります。


アドバイスありがとうございます!MT5をテストしようとしているのですが、いつもエラーが出ます。
 
Taras Slobodyanik:

開発者はMQL5から "extern "演算子を削除した。

45行目を削除してください。

ps.私の製品では、このインジケータのより高度なバージョンを使っています。


45行目の何かは、次の括弧 } です。

41 int OnInit()

42 {

43 if(Fibo_Bar==PERIOD_CURRENT) Fibo_Bar=(ENUM_TIMEFRAMES)Period()

44 return(INIT_SUCCEEDED);

45 }

何を削除すべきか?

 
コンパイラが嫌がる行を削除する必要がある-これが43行目だ。
 
Taras Slobodyanik:
コンパイラが嫌がる行を削除する必要があります - それは43行目です。


ありがとうございます!その行をコメントアウトしました。

41 int OnInit()

42 {

43 // if(Fibo_Bar==PERIOD_CURRENT) Fibo_Bar=(ENUM_TIMEFRAMES)Period()

44 return(INIT_SUCCEEDED);

45 }

インジケータは動作しました。

 

2つのインジケータを使おうとしたのですが、1つは他のプロットを削除してしまうので、Label_prefixにランダムを追加し、その変数をDeleteObjects関数に 追加するだけです。これで2つのインジケータを同時に使うことができます。


int OnInit()

{

Label_prefix = (MathRand()%12 +1) + Label_prefix;

//if (Fibo_Bar==PERIOD_CURRENT) Fibo_Bar=(ENUM_TIMEFRAMES)Period();

return(INIT_SUCCEEDED);

}


void DeleteObjects ()

{

for (int i=ObjectsTotal(0,0,-1)-1;i>=0;i--)

{

string name=オブジェクト名(0,i,0,-1);

if (StringFind(name,Label_prefix,0)>=0)。

ObjectDelete(0,name);

}

}