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

 
Nerd Trader #:

なんで黄色い線は逆数(価格>売値)、緑の線は逆数(価格<買値)だけで、条件は同じです。

しかし、緑と赤の線は、なぜか一度だけ作成され、カーソルが動いても点滅しない。

ゼロから上に?

興味深い指摘だ...。

あなたが探しているのは、次の2行です。

        if(ObjectFind("Buy Stop") == window || ObjectFind("not allowed") == window){

で、1つ削除する。

          ObjectDelete(line_name);

問題は、どれなのか?"line_name "のラストネームは何ですか?

 
Mihail Matkovskij #:

メッセージを完成させた。この関数と私の関数を、不正なChart IDとオブジェクトが作成されたときのサブウインドウでテストしてください。そして、あなたの関数が何を返すか、私の関数が何を信じるかを見てください。

あなたが輪から外れているだけです)


 
MakarFX #:
そして、もし

じゃなんぼ

エラーです。そして、あなた、真、なぜか!

 
Mihail Matkovskij #:

エラーです。そして、あなた、真、なぜか!

"-1 "はオブジェクトがないことを意味する。オブジェクトは存在しないので、真
 
MakarFX #:

あなたが輪から外れているだけです)


オブジェクトの存在を確認することがどのようなものであるべきかをあげてみました。そして、私の機能が動作しないこと?逆に言えば、汎用性が高いということです。サブウィンドウで作業する必要がある場合は、あまり違いを感じないでしょう。

 
Mihail Matkovskij #:

オブジェクトの存在を確認することがどのようなものであるべきかをあげてみました。そして、私の機能が動作しないこと?逆に言えば、より汎用性が高いということです。サブウィンドウで作業する必要がある場合は、あまり違いはないでしょう。

質問を繰り返させていただきます。

もし
ObjectFind(chart, name)=-1

では、どうするのか?

 
MakarFX #:
"-1" - オブジェクトが存在しない。オブジェクトが存在しないので - true

この関数は、エラーが発生した場合、true を返します。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

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

ミハイル・マトコフスキージ さん 2021.12.06 12:38

メッセージを豊かにする。この関数と私の関数で、チャートIDが正しくない 場合、およびサブウィンドウに オブジェクトが作成された場合のテストを行う必要が あります。そして、あなたの関数が 何を返すか、私の関数が何を返すかを見てください。そして、ドキュメントをよく読んでください。すべてのリンクと引用は上記のとおりです。


 
  string name = "name";

  ObjectCreate(1, name, OBJ_HLINE, 1,0,0);

  Print(FindObject("name"));

  if (objectExist(0, "name")) Print("objectExist Find");
  else Print("objectExist Object not found.");

...

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); }

bool FindObject(string name)
  {
   if(ObjectFind(0,name)) return(false);
   return(true);
  }
私はメインウィンドウで作成しない、それはまだ真実です(しかし、Makarは私の状況に対して、メインウィンドウのためにのみ書いています)。objectExistについては、there >= 0であることは明らかである。


もし、"name "以外のオブジェクトを検索した場合、Makarのバリアントはfalseを返します。
 
Mihail Matkovskij #:

メッセージを完成させた。この関数と私の関数を、不正なChart IDと サブウィンドウにオブジェクトが作成 された場合にテストしてください。そして、あなたの関数が何を返すか、私の関数が何を返すかを見てください。そして、ドキュメントをよく読んでください。すべてのリンクと引用は上記のとおりです。

Mihail Matkovskij(ミハイル・マトコフスキー #:

オブジェクトの存在確認がどのようなものであるべきかをあげました。そして、私の機能は動作しないのですか?それどころか、より普遍的な ものです。サブウィンドウで作業する必要がある場合は、あまり違いはないでしょう。


機能の普遍性については、まあ...。

bool FindObject(string name,int win)
  {
   if(ObjectFind(0,name)!=win) return(false);
   return(true);
  }
 
MakarFX #:

興味深い点ですが...。

あなたが探しているのは、次の2つのラインです。

で、1つ削除します。

問題は、どれなのか?line_name "のラストネームは何ですか?

慣習上、そうなっているもの