応援しています - ページ 6

 

クロス関数に関する 質問

Coders Guruさん、こんにちは。

レッスンありがとうございました。 私はまだmq4を学んでおり、あなたのチュートリアルをもっと読むことを楽しみにしています。

My_First_EA.mq4のコードを追っていたところ、Crossed()関数について質問させてください。

Crossed()関数を最初に呼び出すと、current_direction != last_direction が常に TRUE になってしまうからです。

static int last_direction = 0; となり、current_direction にはすぐに 1 か 2 が代入されるからです。

そこで、crossed()を最初に呼び出したときに、last_direction = 0 であれば Return(0) となるようにテストしてみてはどうでしょう。 (下記参照)

またよろしくお願いします。

Bachy20

=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

int Crossed (double line1 , double line2)

{

静的 int last_direction = 0;

static int current_direction = 0;

if(line1>line2)current_direction = 1; //上方向

if(line1<line2)current_direction = 2; //down

//現在の方向は常に

この関数を最初に使用したときは、 //最後の方向と異なる。

if(current_direction != last_direction) //変更されました。

{

if (last_direction == 0) //この関数の初回使用時にreturn(0)

{

last_direction = current_direction;

return(0)を返します。

}

それ以外の場合

{

last_direction = current_direction; } else { last_direction = current_direction;

return (last_direction);

}

}

さもなくば

{

(0)を返します。

}

}

 

いつもありがとうございます。

 

素晴らしい仕事だ、グルジ...。その調子で頑張ってください。

 

素晴らしいチュートリアルをありがとうございました

親愛なるCodeguru。

あなたによって提供される素晴らしいチュートリアルのためにたくさんありがとう、それは私のような:-)の初心者のための大きな助けになるでしょう。

本当にありがとうございます。