MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 474

 
Konstantin Nikitin さん 了解です、ありがとうございます。
 
Rewerpool:
Konstantin Nikitin これらのパラメータを関数本体の外に持っていくことを提案しているのですか?それとも、最後のスクリーンショットに書いたように、そのままにしておくのでしょうか?
もちろん、機能外でなければならない。この機能を呼び出すことで、常に更新し、比較しているのですね。
 
Konstantin Nikitin:

グローバルなレベルに置く。関数が呼ばれるたびに新しいものが宣言されるので、常に0に等しい状態になります。

静止画 - いいえ。
 
Konstantin Nikitin:
もちろん、機能外である。この機能を呼び出すことで、常に更新し、比較することになる。
ほとんど考えずに催促しているのか...。
 
Artyom Trishkin:
少しずつ自分に言い聞かせて...

元々、機能そのものを見ていたのか?

void NOTIFICATION()
{

int DayT=0,BarTime;
 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
//......
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
//......
}
}

そして、 DayT BarTimeは ここでどのように変化することになっているのでしょうか?必ず0巻になる。

if(DayT!=Day())

常に真実として機能するようになり

if (BarTime==Time[0])

を嘘のように

 
Konstantin Nikitin:

最初は自分で機能を見ていたのか?

そして、 DayT BarTimeは ここでどのように変化することになっているのでしょうか?必ず0になる。
グローバル変数 に入れろと。すべてを1つの山に引きずり込まず、静止させるだけで十分です。
 
Artyom Trishkin:
グローバル変数 に入れろということですね。1つの山にまとめず、静止させるだけで十分です。
好みの問題だが、そもそも正しく申告されていない。
 

こんなこともできることが判明?

void NOTIFICATION()
{
static int DayT=0;
static datetime BarTime;

 if(DayT!=Day())// Если новый день - нужно опросить
 {
 DayT=Day();
if(Push_On&&DAY_HIGH())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ -" + Symbol());
if(Push_On&&DAY_LOW())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ -" + Symbol());
}
if (BarTime==Time[0]) // Если новый бар - нужно опросить
{
   BarTime=Time[0];
if(Push_On&&DAY_HIGH()&&PATERN_BUY())SendNotification("ДЕНЬ ЗАКРЫЛСЯ ВЫШЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
if(Push_On&&DAY_LOW()&&PATERN_SELL())SendNotification("ДЕНЬ ЗАКРЫЛСЯ НИЖЕ ЛИНИИ + ПАТТЕРН -" + Symbol());
}
}
 
また、グローバルなレベルに持っていけば、他の機能から問い合わせることも可能です
 
Rewerpool:
また、グローバルレベルに置くと、他の機能から問い合わせることも可能です
正しいアプローチではありません。