アンバランスな括弧 - ページ 2 12345678 新しいコメント Николай 2012.03.30 08:03 #11 どのような表現であっても、まずフォーム要素で文字列を終了させ、その後でボディを記述することをルールとする。 例えば、if文の場合は、開き括弧と閉じ括弧を付けます。開きカギカッコを付けたら、その下に閉じカギカッコを付けます。NormalizeDoubleの ような関数を書くときは、(,Digits)と書き、カンマの前に丸めたいものを書きます。そうすれば、失敗することもないでしょう。そして、時間が経つにつれて目が慣れてきて、こうした細かいディテールがすぐに見えるようになります。すぐにエラーが見つからない場合は、コードの独立した部分を切り取ってコンパイルし、エラーはおそらくこの部分にはない(2か所にある場合)、それからまた貼り付けます。使用されている機能で確認が必要なものがあれば、その内容も含めて切り出してください。 Sergey Guliaev 2012.03.30 08:10 #12 liana: ありがとうございます(Kimさんの機能を間違ってコピーしてしまいました)。 今、訂正しました。「ending bracket expected」と書いてありました。 最後の関数の return(False); の後に、もうひとつ括弧があるはずです。 Vitalie Postolache 2012.03.30 08:20 #13 最初は改行で 括弧のセットを入れて、その中に必要なものを入力するようにしてください。また、いくつかの関数が「マトリョーシカ」の中にネストされている場合、怠らずにそれぞれの内部関数をスペース2つ分インデントすれば、「足りない」ブラケットをなくすことができます :) Function1() { action1; Function2() { action2; action3; } } Liana 2012.03.30 08:24 #14 修正しました - まだ何かおかしいです。 どなたか、この2つのキム関数を呼び出して、注文がなければ注文を出すというのはどうしたら正しいのか、書いていただけませんでしょうか。 int pending; int positions; int ticket; int magic=576; int start() { //---- pending = ExistOrders(NULL); if(pending >0 ) return(0); // ???? ???????? ????????? ???????? ?????? ????? ?? ??????? positions = ExistPositions(NULL); if(positions >0) { return(0); // ???? ?? ???????? ???? ????????? } else { // else ????????? ? ?????????? if ticket=OrderSend(Symbol(),OP_SELL,0,1,Bid,3,Bid+20*Point,Bid-40*Point,"",magic,0,Red); } //---- return(0); } //+------------------------------------------------------------------+ //+----------------------------------------------------------------------------+ //| Exist pending. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ bool ExistOrders(string sy="", int op=-1, int mn=-1, datetime ot=0) { int i, k=OrdersTotal(), ty; if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { ty=OrderType(); if (ty>1 && ty<6) { if ((OrderSymbol()==sy || sy=="") && (op<0 || ty==op)) { if (mn<0 || OrderMagicNumber()==mn) { if (ot<=OrderOpenTime()) return(True); } } } } } return(False); } //+----------------------------------------------------------------------------+ //| Exist open positions. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ bool ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) { int i, k=OrdersTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (ot<=OrderOpenTime()) return(True); } } } } } } return(False); } Sergey Guliaev 2012.03.30 08:32 #15 liana: 修正しました - まだ何かおかしいです。 どなたか、この2つのKimの関数を呼び出して、注文がなければ-注文を開くというのが正しいのか、書いていただけませんか? パラメータは関数に渡す必要があり、関数の説明に記述されています。 ExistOrders(string sy="", int op=-1, int mn=-1, datetime ot=0) start() から呼び出す場合は、これらのパラメータをユーザ関数に渡す必要があります。 Liana 2012.03.30 08:39 #16 valenok2003: パラメータは関数に渡す必要があり、それらは関数の説明に記述されています。 start()関数からユーザ関数を呼び出す場合は、以下のパラメータを渡す必要があります。 そんなパラメータは必要ない。のみ必要です。 2.現在のチャートシンボル上の任意の位置を確認する ExistPositions(NULL)。 しかし、このパラメータを正しく呼び出すにはどうしたらよいのでしょうか。 Sergey Guliaev 2012.03.30 08:47 #17 liana: このパラメータは必要ない。 2だけでいいんです。 ExistPositions(NULL); しかし、このパラメータを正しく呼び出すにはどうしたらよいのでしょうか。 募集要項を 確認する必要がありますか? Рустам 2012.03.30 08:48 #18 liana: このパラメータは必要ない。のみ必要です。 2.現在のチャートシンボル上の任意の位置を確認する ExistPositions(NULL)。 しかし、このパラメータを正しく呼び出すにはどうしたらよいのでしょうか。 パラメータなしで呼び出す。 if(!ExistPositions(){///オープンポジションはありません。 if(!ExistOrders()){//保留なし Liana 2012.03.30 08:49 #19 私のMetaEditorはロシア語のエンコーディングをサポートしていないので、読むことができません。 Рустам 2012.03.30 08:51 #20 liana: MetaEditorはロシア語のエンコーディングに対応していないため、できません。 彼のスレッドhttps://www.mql5.com/ru/forum/107476 を検索してください。10ページ以降にあると思います。 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
どのような表現であっても、まずフォーム要素で文字列を終了させ、その後でボディを記述することをルールとする。
例えば、if文の場合は、開き括弧と閉じ括弧を付けます。開きカギカッコを付けたら、その下に閉じカギカッコを付けます。NormalizeDoubleの ような関数を書くときは、(,Digits)と書き、カンマの前に丸めたいものを書きます。そうすれば、失敗することもないでしょう。そして、時間が経つにつれて目が慣れてきて、こうした細かいディテールがすぐに見えるようになります。すぐにエラーが見つからない場合は、コードの独立した部分を切り取ってコンパイルし、エラーはおそらくこの部分にはない(2か所にある場合)、それからまた貼り付けます。使用されている機能で確認が必要なものがあれば、その内容も含めて切り出してください。
ありがとうございます(Kimさんの機能を間違ってコピーしてしまいました)。
今、訂正しました。「ending bracket expected」と書いてありました。
最後の関数の return(False); の後に、もうひとつ括弧があるはずです。
最初は改行で 括弧のセットを入れて、その中に必要なものを入力するようにしてください。また、いくつかの関数が「マトリョーシカ」の中にネストされている場合、怠らずにそれぞれの内部関数をスペース2つ分インデントすれば、「足りない」ブラケットをなくすことができます :)
修正しました - まだ何かおかしいです。
どなたか、この2つのキム関数を呼び出して、注文がなければ注文を出すというのはどうしたら正しいのか、書いていただけませんでしょうか。
修正しました - まだ何かおかしいです。
どなたか、この2つのKimの関数を呼び出して、注文がなければ-注文を開くというのが正しいのか、書いていただけませんか?
パラメータは関数に渡す必要があり、関数の説明に記述されています。
start() から呼び出す場合は、これらのパラメータをユーザ関数に渡す必要があります。
パラメータは関数に渡す必要があり、それらは関数の説明に記述されています。
start()関数からユーザ関数を呼び出す場合は、以下のパラメータを渡す必要があります。
そんなパラメータは必要ない。のみ必要です。
2.現在のチャートシンボル上の任意の位置を確認する
ExistPositions(NULL)。
しかし、このパラメータを正しく呼び出すにはどうしたらよいのでしょうか。
このパラメータは必要ない。 2だけでいいんです。 ExistPositions(NULL); しかし、このパラメータを正しく呼び出すにはどうしたらよいのでしょうか。
このパラメータは必要ない。のみ必要です。
2.現在のチャートシンボル上の任意の位置を確認する
ExistPositions(NULL)。
しかし、このパラメータを正しく呼び出すにはどうしたらよいのでしょうか。
パラメータなしで呼び出す。
if(!ExistPositions(){///オープンポジションはありません。
if(!ExistOrders()){//保留なし
私のMetaEditorはロシア語のエンコーディングをサポートしていないので、読むことができません。
MetaEditorはロシア語のエンコーディングに対応していないため、できません。
彼のスレッドhttps://www.mql5.com/ru/forum/107476 を検索してください。10ページ以降にあると思います。