"すべてのコントロールパスが値を返すわけではありません "エラー - ページ 2 1234 新しいコメント Cristobal Giron 2018.07.16 11:29 #11 こんにちは、友人、私は同じ問題を持っている誰か私を助けることができますか? double price; int slippage; double p = prce; int maxtry = RequoteAttempts; color CloseColor; OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); int ordtype = OrderType(); if (ordtype == OP_BUY) {price = NormalizeDouble(Bid,Digits); CloseColor = CloseBuyColor;} if (ordtype == OP_SELL) {price = NormalizeDouble(Ask,Digits); CloseColor = CloseSellColor;} if (MathAbs(OrderTakeProfit() - price) <= MarketInfo(Symbol(),MODE_FREEZELEVEL) * Point) return(0); if (MathAbs(OrderStopLoss() - price) <= MarketInfo(Symbol(),MODE_FREEZELEVEL) * Point) return(0); if (OrderClose(ticket,OrderLots(),price,CloseSlippage,CloseColor)) return(1); if ((GetLastError() != 135) && (GetLastError() != 138) && (GetLastError() != 146)) return(0); Print("Requote"); //--- RequoteAttempts) for (int attempt = 1; attempt <= maxtry; attempt++) { RefreshRates(); if (ordtype == OP_BUY) { slippage = MathRound((Bid - p) / pp); if (Bid >= p) { Print("Closing order. Attempt " + (attempt + 1)); if (OrderClose(ticket,OrderLots(),NormalizeDouble(Bid,Digits),slippage,CloseColor)) return(1); if (!((GetLastError() != 135) && (GetLastError() != 138) && (GetLastError() != 146))) continue; return(0); } } if (ordtype == OP_SELL) { slippage = MathRound((p - Ask) / pp); if (p >= Ask) { Print("Closing order. Attempt " + (attempt + 1)); if (OrderClose(ticket,OrderLots(),NormalizeDouble(Ask,Digits),slippage,CloseColor)) return(1); if ((GetLastError() != 135) && (GetLastError() != 138) && (GetLastError() != 146)) return(0); } } } } Keith Watford 2018.07.16 13:39 #12 該当するコードをコピー&ペーストしてください。あなたの画像からは、関数の 先頭が表示されていないので、何を返すのかがわかりません。 いずれにせよ、関数の最後にreturnが必要です。 William Roeder 2018.07.16 16:37 #13 このフォーラムには英語で投稿してください。必要であれば自動翻訳 ツールを使ってください。機械翻訳 を使用する場合は、簡単な言語構造を使用してください。 コードの画像を投稿しないでください。 コードを投稿するときは、CODEボタン(Alt-S)を使用してください!(大量のコードは、添付してください。) あなたの(元の)投稿を編集して ください。 このフォーラムの一般的なルールとベストプラクティス。- 一般 - MQL5プログラミングフォーラムメッセージ・エディター Cristobal Giron 2018.07.16 18:01 #14 ありがとう、そしてごめんなさい、すべて直りました Cristobal Giron 2018.07.17 09:43 #15 Keith Watford:関連するコードをコピーして貼り付けます。A partir de su imagen, has no mostrado el comienzo de lafunción, por lo que no sabemos qué debería devolver. どのような場合でも、機能の最後には削除する必要があります。こんにちは、友人よ、このコードが持っている問題がわかりますか? JermyRec 2018.07.17 10:27 #16 if(OrderSelect... Cristobal Giron 2018.07.17 10:34 #17 JermyRec: わからない Keith Watford 2018.07.18 14:56 #18 int CloseOrder(int ticket, double prce){ //+--------------------------------------------------------------------------------------------------------------+ double price; int slippage; double p = prce; int maxtry = RequoteAttempts; color CloseColor; OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES); int ordtype = OrderType(); if (ordtype == OP_BUY) {price = NormalizeDouble(Bid,Digits); CloseColor = CloseBuyColor;} if (ordtype == OP_SELL) {price = NormalizeDouble(Ask,Digits); CloseColor = CloseSellColor;} if (MathAbs(OrderTakeProfit() - price) <= MarketInfo(Symbol(),MODE_FREEZELEVEL) * Point) return(0); if (MathAbs(OrderStopLoss() - price) <= MarketInfo(Symbol(),MODE_FREEZELEVEL) * Point) return(0); if (OrderClose(ticket,OrderLots(),price,CloseSlippage,CloseColor)) return(1); if ((GetLastError() != 135) && (GetLastError() != 138) && (GetLastError() != 146)) return(0); Print("Requote"); //--- RequoteAttempts) for (int attempt = 1; attempt <= maxtry; attempt++) { RefreshRates(); if (ordtype == OP_BUY) { slippage = MathRound((Bid - p) / pp); if (Bid >= p) { Print("Closing order. Attempt " + (attempt + 1)); if (OrderClose(ticket,OrderLots(),NormalizeDouble(Bid,Digits),slippage,CloseColor)) return(1); if (!((GetLastError() != 135) && (GetLastError() != 138) && (GetLastError() != 146))) continue; return(0); } } if (ordtype == OP_SELL) { slippage = MathRound((p - Ask) / pp); if (p >= Ask) { Print("Closing order. Attempt " + (attempt + 1)); if (OrderClose(ticket,OrderLots(),NormalizeDouble(Ask,Digits),slippage,CloseColor)) return(1); if ((GetLastError() != 135) && (GetLastError() != 138) && (GetLastError() != 146)) return(0); } } } } In this line would be the error (')' - not all control paths return to value)司会:他スレッドからのコピー Keith Watford 2018.07.18 15:01 #19 int CloseOrder( int ticket, double prce){ //+--------------------------------------------------------------------------------------------------------------+ double price; int slippage; double p = prce; int maxtry = RequoteAttempts; color CloseColor; OrderSelect (ticket, SELECT_BY_TICKET , MODE_TRADES ); int ordtype = OrderType (); if (ordtype == OP_BUY ) {price = NormalizeDouble ( Bid , Digits ); CloseColor = CloseBuyColor;} if (ordtype == OP_SELL ) {price = NormalizeDouble ( Ask , Digits ); CloseColor = CloseSellColor;} if ( MathAbs ( OrderTakeProfit () - price) <= MarketInfo ( Symbol (), MODE_FREEZELEVEL ) * Point ) return ( 0 ); if ( MathAbs ( OrderStopLoss () - price) <= MarketInfo ( Symbol (), MODE_FREEZELEVEL ) * Point ) return ( 0 ); if ( OrderClose (ticket, OrderLots (),price,CloseSlippage,CloseColor)) return ( 1 ); if (( GetLastError () != 135 ) && ( GetLastError () != 138 ) && ( GetLastError () != 146 )) return ( 0 ); Print ( "Requote" ); //--- RequoteAttempts) for ( int attempt = 1 ; attempt <= maxtry; attempt++) { RefreshRates (); if (ordtype == OP_BUY ) { slippage = MathRound (( Bid - p) / pp); if ( Bid >= p) { Print ( "Closing order. Attempt " + (attempt + 1 )); if ( OrderClose (ticket, OrderLots (), NormalizeDouble ( Bid , Digits ),slippage,CloseColor)) return ( 1 ); if (!(( GetLastError () != 135 ) && ( GetLastError () != 138 ) && ( GetLastError () != 146 ))) continue ; return ( 0 ); } } if (ordtype == OP_SELL ) { slippage = MathRound ((p - Ask ) / pp); if (p >= Ask ) { Print ( "Closing order. Attempt " + (attempt + 1 )); if ( OrderClose (ticket, OrderLots (), NormalizeDouble ( Ask , Digits ),slippage,CloseColor)) return ( 1 ); if (( GetLastError () != 135 ) && ( GetLastError () != 138 ) && ( GetLastError () != 146 )) return ( 0 ); } } } return(-1);/// not all branching code in the function return values } 司会:Vitalii Ananev 氏からの回答は、他のスレッドからコピーしたものです。 Keith Watford 2018.07.18 15:04 #20 二重投稿はしないでください。ここで返信をもらっていたのに、なぜまったく同じテーマで新しいトピックを開くのですか?これは自分勝手で、あなたを助けようとする人々の時間を浪費するだけです。 私はあなたの他のトピックを削除しました。 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、友人、私は同じ問題を持っている誰か私を助けることができますか?
該当するコードをコピー&ペーストしてください。あなたの画像からは、関数の 先頭が表示されていないので、何を返すのかがわかりません。
いずれにせよ、関数の最後にreturnが必要です。
このフォーラムの一般的なルールとベストプラクティス。- 一般 - MQL5プログラミングフォーラム
メッセージ・エディター
関連するコードをコピーして貼り付けます。A partir de su imagen, has no mostrado el comienzo de lafunción, por lo que no sabemos qué debería devolver.
どのような場合でも、機能の最後には削除する必要があります。
こんにちは、友人よ、このコードが持っている問題がわかりますか?
if(OrderSelect...
わからない
司会:他スレッドからのコピー
司会:Vitalii Ananev 氏からの回答は、他のスレッドからコピーしたものです。
二重投稿はしないでください。ここで返信をもらっていたのに、なぜまったく同じテーマで新しいトピックを開くのですか?これは自分勝手で、あなたを助けようとする人々の時間を浪費するだけです。
私はあなたの他のトピックを削除しました。