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

 

こんにちは、mladenです。

1.2番目の形式、古いバーから新しいバーへということですが、for (i=limit;i>=0;i--) のような形式でしょうか?

私は混乱が怖いので、少し明確にしてください。

2.また、どちらのスタイルも(リペイントを考慮しない場合)基本的に同じシグナルや数値を与えるのでしょうか?

3.インジケータは、ループの方向が両方のスタイルを含むことができますか?例えば、コアインジケータ部分は第2フォームですが、mtf部分は第1フォームのスタイルです。

4.return(0)文がない場合、インジケーターの停止やリペイントの原因にならないのでしょうか?

 
kenwa:
こんにちは、mladenです。

1.2番目の形式、古いバーから新しいバーへということですが、このスタイルのことですか:for (i=limit;i>=0;i--)?

私は混乱が怖いので、少し明確にしてください。

2.また、どちらのスタイルも(リペイントを考慮しない場合)基本的に同じシグナルや数値を与えるのでしょうか?

3.インジケータは、ループの方向の両方のスタイルを含むことができますか?コアインジケータ部分は第2フォームですが、MTF部分は第1フォームスタイルです。

4. return(0)文がいくつかない場合、(return(0)文は必須ですか?)インジケータを停止させたり、リペイントを引き起こすことは問題ないのでしょうか? ありがとうございます。

1. はい。

2. ループの中で行われる計算によりますが、「新しいものから古いものへ」ではできない計算があり、「古いものから新しいものへ」ではすべての計算ができる。

3. できるが、ポイント2を参照 - 最初のフォームの方がより安全

4. return(0)は再描画の原因になることも防ぐこともできない - 再描画と共通するものは何もない

 
mladen:
1. はい

2. ループ内で行われる計算に依存する - 「新しいものから古いものへ」の形式ではできない計算がある一方、「古いものから新しいものへ」の形式ではすべての計算ができる。

3.可能ですが、ポイント2を参照してください - 最初のフォームははるかに安全です。

4. return(0)は再描画の原因になることも防ぐこともできません。

もし、第二の形式がすべての種類の計算を行うことができるのであれば、なぜ第二の形式はより安全ではないのでしょうか? 少し混乱しています。

また、ii) 私の前のインジケータを修正したコードは、(i=limit;i>=0;i--)を使用していますね。

 
kenwa:
また、(i=limit;i>=0;i--)を使っているようですが、2番目のフォームを使う理由は何でしょうか?

私が言いたかったのは、1.のポイントからの形です。そのフォームを使用すれば、間違った計算の方向から起こりうるエラーを排除することができます。

 
mladen:
私が言いたかったのは、1.のフォームのことです。そのフォームを使用すると、間違った計算方向からのエラーの可能性を排除することができます。

mladenさん、こんにちは。

もし私が間違って理解していなければ、第二フォームはあらゆるタイプの計算に対応できるが、より安全なのは間違った計算の方向を防ぐ第一フォームということですか?

ということは、コア・インジケータは第二フォームを使い、MTFは第一フォームを使うということでよろしいでしょうか?(第一フォームの方がいい?)

第一フォームと第二フォームのどちらが、リペイントの可能性を排除できるでしょうか?

 
kenwa:
mladenさん、こんにちは。

つまり、第二形式はあらゆる計算に対応できるが、第一形式の方がより安全で、間違った計算の方向を防ぐことができるということでしょうか?

ということは、コア・インジケータは第二形式、MTFは第一形式でいいのでしょうか?(第一フォームの方がいいのでしょうか?)

第一形態と第二形態は、再塗装の可能性を排除するために良いですか? 私の質問に答えるためにあなたの忍耐に感謝します。

ケンワ

はっきり言って、こっちの方がずっといい。

(i=limit;i>=0;i--)です。

 

OK&ありがとうございます!また来る前にもう少し結果をまとめておきます。

ジェフ

 

fantail vmaに関するこの問題を解決するために私を助けてください。

こんにちは。

ここ数ヶ月間、mqlを勉強しようとしています。フィッシャーインジケータをベースにしたEAを作ろうとしていました。しかし、ご存知のようにフィッシャーはリペイントするので、そのEAを作成するのに苦労しました。そのため、私はやる気をなくし、勉強で忙しくなってしまいました。現在、FANTAILをベースにした別のEAを作ろうとしています。しかし、インジケータの値をEAに取り込むのに問題に直面しています。そのためにiCustom 関数を使用しました。このインジケータはチャートに50本の線を引きます。これらのラインからいくつかの値が必要です。

EAでこれらの値を取得する方法を教えていただけませんか?よろしくお願いします。バカな質問をしていたらすみません。

インジケーターの件です。

ファイル:
 

mladenさん、このインジケーターにスーパートレンドを入れるのを手伝ってくれませんか(当然、ExtMapBuffer1で計算したスーパートレンド)

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DodgerBlue

extern double Beta1 = 1.0;

extern string Symbol2 = "GBPUSD";

extern double Beta2 = 1.4;

//--- buffers

double ExtMapBuffer1[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

IndicatorShortName(Symbol() + " " + Beta1 + " " + Symbol2 + " " + Beta2);

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

if(Bars<1) return(0);

int i = Bars-counted_bars -1;

while(i >=0) {

int iShift2 = iBarShift(Symbol2, 0, Time, false);

ExtMapBuffer1 = Close * Beta1 - iClose(Symbol2, NULL, iShift2) * Beta2;

i--;

}

return(0);

}

 
k3rn3l:
mladenさん、このインジケータにスーパートレンドを入れるのを手伝ってくれませんか(当然、ExtMapBuffer1で計算したスーパートレンドです)

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DodgerBlue

extern double Beta1 = 1.0;

extern string Symbol2 = "GBPUSD";

extern double Beta2 = 1.4;

//--- buffers

double ExtMapBuffer1[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

IndicatorShortName(Symbol() + " " + Beta1 + " " + Symbol2 + " " + Beta2);

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

if(Bars<1) return(0);

int i = Bars-counted_bars -1;

while(i >=0) {

int iShift2 = iBarShift(Symbol2, 0, Time, false);

ExtMapBuffer1 = Close * Beta1 - iClose(Symbol2, NULL, iShift2) * Beta2;

i--;

}

return(0);

}

iCustom()関数に 渡すパラメータが必要なため)具体的にはどれでしょうか?