インディケータ: BB ストップ-MACD

 

BB ストップ-MACD:

シグナルにシグナルラインを使用しない、非常によく知られている BB ストップを使用する MACD

BB ストップ-MACD

作者: Mladen Rakic

 

MetaTrader 5には大きなバグがあると思います。私のEAにこのインジケータを追加すると、それ自体が何百回もクローンされます。

*****************************************************************************************************************************

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

//||

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

void tickProcess(int index)

{


orderClose(index);

int bbMACDDefinition = iCustom(sympol,0, "BB stops - MACD"); //動作しない!MTのバグだろう。

double macd[];

double bmax[];

double bmin[];

double bblu[];

double bbld[];

double bba[];

double bbc[];

ArraySetAsSeries(macd,true);

ArraySetAsSeries(bmax,true);

ArraySetAsSeries(bmin,true);

ArraySetAsSeries(bblu,true);

ArraySetAsSeries(bbld,true);

ArraySetAsSeries(bba,true);

ArraySetAsSeries(bbc,true);

CopyBuffer(bbMACDDefinition,0,0,6,macd);

CopyBuffer(bbMACDDefinition,1,0,6,bmax);

CopyBuffer(bbMACDDefinition,2,0,6,bmin);

CopyBuffer(bbMACDDefinition,3,0,6,bblu);

CopyBuffer(bbMACDDefinition,4,0,6,bbld);

CopyBuffer(bbMACDDefinition,5,0,6,bba);

CopyBuffer(bbMACDDefinition,6,0,6,bbc);

int adxDefinition=iADXWilder(sympol,0,14); // うまくいく !

double adxArray[];

double dipArray[];

double dinArray[];

ArraySetAsSeries(adxArray,true);

ArraySetAsSeries(dipArray,true);

ArraySetAsSeries(dinArray,true);

CopyBuffer(adxDefinition,0,0,11,adxArray);

CopyBuffer(adxDefinition,1,0,11,dipArray);

CopyBuffer(adxDefinition,2,0,11,dinArray);




ループ

 
cuneytates:

MetaTrader 5には大きなバグがあると思います。私のEAにこのインジケータを追加すると、何百回もそれ自身をクローンします。

*****************************************************************************************************************************

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

//||

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

void tickProcess(int index)

{


orderClose(index);

int bbMACDDefinition = iCustom(sympol,0, "BB stops - MACD"); //動作しない!MTのバグだろう。

...





それに関してMT5には何も問題はない

カスタムインジケーターが すでにロードされているかどうかをチェックしないことによって)複数のロードを強制しています。コードを修正してください。

 
Mladen Rakic:

MT5には何の問題もない

カスタムインジケーターが すでにロードされているかどうかをチェックしないことによって)複数のロードを強制しています。コードを修正してください。

親愛なるRakic、

私はコーディングの初心者です。

どこで間違ったのか教えてください。

マルチ・ローディング」とはどういう意味ですか?

ありがとうございます。

 
cuneytates:

ラキッチへ、

私はコーディングの初心者です。

どこで間違えたのか教えてください。

マルチ・ローディング」とはどういう意味ですか?

ありがとうございます。

コードベースではなく、フォーラムのトピックに投稿してください。

あなたのエラーに対する可能性のある(多くの)解決策の一つです:

void tickProcess(int index)
{

   //...

   static int bbMACDDefinition=INVALID_HANDLE;
          if (bbMACDDefinition==INVALID_HANDLE) bbMACDDefinition = iCustom(_Symbol,_Period,"BB stops - MACD");    //動かない!MTのバグだろう。
          if (bbMACDDefinition==INVALID_HANDLE) return;

   //
   // 残りの処理は、あなたのコードと同じように行う。
   //
}
それ以外については : 「複数ローディング」表現にこれ以上説明することはないと思います。
 
Mladen Rakic:

コードベースではなく、フォーラムのトピックに投稿してください。

可能な(多くの)解決策の一つです:

その他について : 「複数ロード」表現にこれ以上説明することはないと思います。
ありがとうございます。フォーラムに投稿しようと思います。