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

 

ブーリアン条件とその他の条件を一山に混ぜる...。良いコードを書きたくなければ、書かなければいいのです。説得や反論はしない。

MakarFX #:

そして、機能の普遍性ということであれば、まあ......。

まあ、前の機能よりは常識に近いですけどね。

確かに、読みやすさには不満が残りますが...。でも、そんなことを考える人はいない......?:)

 
Nerd Trader #:
慣習上そうなっているもの

いいえ、"line_name "には、ラストネームが割り当てられます。

 
Mihail Matkovskij #:

ブーリアン条件とその他の条件を一山に混ぜる...。良いコードを書きたくなければ、書かなければいいのです。説得や反論をするつもりはない。

わかった、わかった、君の例を使おう。

 
常にラインを作成したり削除したりする必要はありません。タイムフレームにボリューム可視化フラグが あります。隠す、表示する必要がある。
 
Mihail Matkovskij #:

ブーリアン条件とその他の条件を一山に混ぜる...。良いコードを書きたくなければ、書かなければいいのです。説得も反論もしない。

まあ、前の機能よりは常識に近いですけどね。

確かに、読みやすさには不満が残りますが...。で も、そんなこと誰が考えるんだ......?:)

具体的には、何が問題なのでしょうか?

そして、この関数が"-1 "で何を返すのか、まだ答えていない...。

 
MakarFX #:

いいえ、"line_name "には、ラストネームが割り当てられます。

ええ、なぜそれが問題なのでしょうか?条件を通過したオブジェクトは、いずれにせよ削除される。
 
MakarFX #:

具体的には、何が問題なのでしょうか?

そして、この関数が"-1 "の時に何を返すのか、まだ答えていませんね。

はfalseを返します - すでに確認済みです。
 
Nerd Trader #:
は false を返します。
trueを返すはずです。
 
MakarFX #:
事実でなければならない。
ブーリアンNOT真で :)
 
MakarFX #:

具体的には、何が問題なのでしょうか?

bool FindObject(string name, int win)
{
   if(ObjectFind(0, name) == win) 
     return(true);
   return(false);
}
よりコンパクトになりました。
bool FindObject(string name,int win) { return (ObjectFind(0,name) == win); } 

でも、この機能はユニバーサルを謳っているんじゃなかったっけ......?それなら、ひとつ大事なことを忘れていますよ。

bool FindObject(const long chart_id, const string name, const int win) { return (ObjectFind(chart_id, name) == win); } 

最も普遍的で信頼性の高い選択肢です。

そして、あなたの関数が"-1 "を返すかどうかについては、何も答えて いません。

チェックするための簡単なスクリプトを書くのが面倒なのでしょうか?なるほど。あなたのためにやったんです。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart() {
  for (int i = -10; i <= 10; i++) 
    if (i)
      printf("%d - true", i);
    else
      printf("%d - false", i);
}
//+------------------------------------------------------------------+

さて、その結果をご覧ください。

-10は真。

-9は真である。

-8は真。

-7 - true

-6 - true

-5 - true

-4 - true

-3 - true

-2 - true

-1 - true

0 - 偽

1 - true

2 - true

3 - true

4 - true

5 - true

6 - true

7 - true

8 - true

9 - true

10 - true



負の数はすべて真である。0は偽。そういうことなんです。:)

ですから、この関数は真を返します。

私のはfalseを返します

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); } // чётко определим условие существования объекта!

負の値では当然のように。