Siladeh:
問題解決
プロパティの厳密性を削除する
これは回避策で、1行追加します。
if(sells>0) return(true); else return(false); // Add this line
GumRai:
これは回避策で、1行追加します。
ありがとうございました。
あるいはもっと単純に、 | return( sells>0 ); // if(sells>0) return(true); // else return(false); // Add this line |
WHRoeder - あなたのヒントのおかげで、私のコードからさらに多くの行を削除し続けることができました。私もGumRaiと全く同じことをしたでしょう。ありがとうございます。
GumRai:
これは回避策で、1行追加します。
GumRaiさん、一応、話のネタとして、elseは要らないですよね?)
if(sells>0) return(true); return(false);
Siladeh:
こんにちは、私は自分のシステムをコーディングしようとしていますが、コンパイル後に "not all control paths return a value" を返し、ダブルクリックすると次のブロックに表示されます、誰か問題を指摘してください。
よろしくお願いします。
OrderSelectは、結果を確認 しないと警告が出る場合があります。
bool CalculateCurrentSellOrders(string symbol) { int sells=0; for (int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) Print("OrderSelect() failed with error : "+GetLastError()); if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MAGICMA)continue; if(OrderType()==OP_SELL) sells++; } if(sells>0) return(true); return(false); }
それが役立つことを願って
thrdel:
GumRai さん、話の流れ上、elseは不要ですよね?)
いや、その通りです。
上のWHRoedersの投稿は、同じことを実現するためにさらにシンプルです。
GumRai:
いや、その通りです。
上のWHRoedersの投稿は、同じことを達成するためにさらに単純です。
しかし、このような特定の状況においてのみ有効です。もう一つの方法はもっと一般的で、いくつどんな条件があっても、そのどれもが真を返さなければ、偽を返します。
この特殊な例では、エレガントなソリューションであることは認めざるを得ません。
thrdel:
条件として、-1 を加える必要はありません。 ...
を使用しない場合は、:
お役に立てれば幸いです。
i<OrdersTotal()もし-1を足すと、配列の1項目が欠落します。
![MQL5 - MetaTrader 5クライアントターミナルにビルトインされたトレードストラテジーの言語](https://c.mql5.com/i/registerlandings/logo-2.png)
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
こんにちは、私は自分のシステムをコーディングしようとしていますが、コンパイル後に "not allcontrol paths return a value" を返し、ダブルクリックすると次のブロックに表示されます、誰か問題を指摘してください。
よろしくお願いします。