サイクルオペレーター「for」の質問 - ページ 11 1...45678910111213141516 新しいコメント Simon Gniadkowski 2013.01.04 10:10 #101 WhooDoo22:私はあなたが私のポイントを見逃していると思う... ...私はいくつかのブレースを追加した場合、多分それは明確になるだろう... ...。... あなたはこれをやった ...私はこれをするつもりだったと思います.これは、私が条件...を望んだからです。 を中括弧("{ }")の中にあるコードの部分に適用させたいと思ったからです。 では、なぜ最新版のコードでそのような変更をしなかったのですか.......もしそうするつもりなら、なぜそうしないのですか? Simon Gniadkowski 2013.01.04 10:13 #102 WhooDoo22:サイモンあなたの画像の0は、おそらく... ..なーんてね!(笑)ドキュメントレーンを旅してみましょうか?ハハハ。 datetimeOrderCloseTime( ) 現在選択されている注文の終了時刻を返します。注文の終了時刻が0でない場合、選択された注文は終了しており、口座の履歴から取得されます。未決済注文および保留中の注文の終了時刻は0になります。注:注文はOrderSelect() 関数で事前に選択されている必要があります。まず、私が最近コーディングしたOrderClose()関数のコードブロックを見てみましょう...次に、「エキスパート」ペインのスナップショットで、表示された結果を覗いてみましょう。ああ、これは何だろう?) Print(OrderCloseTime())は明らかに間違っていますが、あなたのコードにはまだそれが残っています。 Nathan 2013.01.04 10:13 #103 サイモンでは、なぜ最新版のコードにその変更を加えないのですか?......もし、あなたがそれを行うことを意図していた場合、なぜあなたはそれを行っていないのですか?ちょっと見てみます。私は以前これをコード化するつもり でしたが、現在これをコード化するつもりは ありません。これをコード化する理由はありません...。 if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) { if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); Print(OrderCloseTime()); GetLastError(); } }代わりにこれをコーディングすることができたら... if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); Print(OrderCloseTime()); }すべての'if'条件は、中括弧("{}")の中にあるものに適用されます。このブロックのコードに中括弧を追加することは(私が意図 した方法で)非効率的であり、何の目的もありません。ありがとうございました。 Nathan 2013.01.04 10:51 #104 サイモン何を言いたいのかよくわからないのですが、説明してもらえますか? if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); Print(OrderCloseTime()); } // replace above code block with... if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); // Print(OrderCloseTime()); }デモ口座のターミナルでEAを(Print()関数 なしで)素早く動かして、「エキスパート」ペインをクリックして、「エキスパート」ペインの残りの結果からゼロ(0)がないことを可視化してください。0がないことに注意してください。ふーん、そうなんだ?)今度はEAを動かしてみましょう(Print()関数が含まれている場合)。Experts」ペインに「0」が表示されていることに注目してください。あなたは以前、'Experts'ペインの結果に0がある理由を推測しましたが、それは正しかったのです(メッセージの最初に "Nah-uh-uh! ;) "を書きました)。あなたの画像の0は、おそらく.....Print(OrderCloseTime());覚えてますか?もちろんです(笑)Print(OrderCloseTime())は明らかに間違っているのに、あなたのコードにはまだそれがある、なぜ?なぜそれが間違いだと思うのか、説明してください。私は、あなたにポイントを 示すために、コードにそれを入れています。そのポイントとは このコードがあるために、「エキスパート」ペインにゼロが表示されるのです。私が提案した2行のコードを追加したらどうなったのでしょうか?私は現在、この件に関して迅速に取り組んでいます :)ありがとうございました。 Simon Gniadkowski 2013.01.04 11:09 #105 WhooDoo22:Print(OrderCloseTime())は明らかに間違っていますが、あなたのコードにはまだそれがあります、なぜですか?なぜそれが間違いだと思うのか、説明してください。私は、あなたにポイントを 示すために、コードにそれを入れています。そのポイントとは このコードがコード内にあるために、「エキスパート」ペインにゼロが表示されるのです。 あなたが投稿した最後の画像は、USDJPY注文が01:45:35にクローズされたことを示しています。OrderCloseTime()の戻り値が0であることは、注文がオープンであるか、保留中の注文 である場合にも起こり得ると、あなたは正しく指摘しました。ですから、0という値がどうして正しいのでしょうか? 答えは、正しいはずがない、つまり、間違っているということです。 Nathan 2013.01.04 11:19 #106 サイモン今、取り組んでいるのは... if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { int ClosedTicketNum = OrderTicket(); // <---- add this line OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); OrderSelect(ClosedTicketNum, SELECT_BY_TICKET); // <---- add this line Print(OrderCloseTime()); GetLastError(); }ありがとうございます。 Simon Gniadkowski 2013.01.04 11:20 #107 WhooDoo22:サイモンでは、なぜ最新版のコードにその変更を加えないのですか?......もし、あなたがそれを行うことを意図していた場合、なぜあなたはそれを行っていないのですか?ちょっと時間をください。私は以前これをコード化するつもり でしたが、現在これをコード化するつもりは ありません。これをコード化する理由はありません...。代わりにこれをコーディングすることができたら...すべての'if'条件は、中括弧("{}")の中にあるものに適用されます。このコードブロックに中括弧を追加することは(私が意図した 方法で)非効率的であり、何の役にも立ちません。 さて、このコードを見てみると.. . .if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) // 1. if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} // 2. if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} // 3. if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) // 4. { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); // 5. Print(OrderCloseTime()); // 6. }議論しやすいように行に番号を振ってあります。1行目を見て、OrderStopLoss() と OrderTakeProfit() が両方とも0 の場合、他の番号のついたコードのどの行が実行されるのでしょうか? Nathan 2013.01.04 11:25 #108 サイモン修正されたので、意図したとおりに動作するようになりました。if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} // 2. if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} // 3. if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) // 1. if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) // 4. { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); // 5. Print(OrderCloseTime()); // 6. }2行目と3行目です。ありがとうございます。 Nathan 2013.01.04 11:30 #109 サイモン if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { int ClosedTicketNum=OrderTicket(); OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); OrderSelect(ClosedTicketNum,SELECT_BY_TICKET); Print(OrderCloseTime()); }結果発表なぜ注文の終了時刻がこのような形式(1357306061)で表現されるのでしょうか?Print()関数が動作する理由は、OrderSelect()関数(中括弧内)が未決済注文ではなく、決済済み注文を選択しなければならないからでしょうか?これは、中括弧の中で行わなければならないのですね?)トリッキー、トリッキー。ありがとうございました。 Nathan 2013.01.04 11:45 #110 サイモン来たぞ...バーン! if(OrderType()==OP_BUY){bid_ask=MarketInfo("USDJPY",MODE_BID);} if(OrderType()==OP_SELL){bid_ask=MarketInfo("USDJPY",MODE_ASK);} if((OrderStopLoss()!=0)&&(OrderTakeProfit()!=0)) if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY")) { OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE); if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true) Print(OrderCloseTime()); }さらにいい感じ!ハハハ ;)ありがとうございます。 ファイル: zap_atusdjpycorderc__cv9.mq4 4 kb 1...45678910111213141516 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私はあなたが私のポイントを見逃していると思う... ...私はいくつかのブレースを追加した場合、多分それは明確になるだろう... ...。... あなたはこれをやった ...
私はこれをするつもりだったと思います.
これは、私が条件...を望んだからです。
を中括弧("{ }")の中にあるコードの部分に適用させたいと思ったからです。
では、なぜ最新版のコードでそのような変更をしなかったのですか.......もしそうするつもりなら、なぜそうしないのですか?
サイモン
あなたの画像の0は、おそらく... ..
なーんてね!(笑)
ドキュメントレーンを旅してみましょうか?ハハハ。
注:注文はOrderSelect() 関数で事前に選択されている必要があります。
まず、私が最近コーディングしたOrderClose()関数のコードブロックを見てみましょう...
次に、「エキスパート」ペインのスナップショットで、表示された結果を覗いてみましょう。
ああ、これは何だろう?)
サイモン
では、なぜ最新版のコードにその変更を加えないのですか?......もし、あなたがそれを行うことを意図していた場合、なぜあなたはそれを行っていないのですか?
ちょっと見てみます。
私は以前これをコード化するつもり でしたが、現在これをコード化するつもりは ありません。これをコード化する理由はありません...。
代わりにこれをコーディングすることができたら...
すべての'if'条件は、中括弧("{}")の中にあるものに適用されます。このブロックのコードに中括弧を追加することは(私が意図 した方法で)非効率的であり、何の目的もありません。
ありがとうございました。
サイモン
何を言いたいのかよくわからないのですが、説明してもらえますか?
デモ口座のターミナルでEAを(Print()関数 なしで)素早く動かして、「エキスパート」ペインをクリックして、「エキスパート」ペインの残りの結果からゼロ(0)がないことを可視化してください。
0がないことに注意してください。ふーん、そうなんだ?)
今度はEAを動かしてみましょう(Print()関数が含まれている場合)。
Experts」ペインに「0」が表示されていることに注目してください。
あなたは以前、'Experts'ペインの結果に0がある理由を推測しましたが、それは正しかったのです(メッセージの最初に "Nah-uh-uh! ;) "を書きました)。
あなたの画像の0は、おそらく.....
Print(OrderCloseTime());
覚えてますか?もちろんです(笑)
Print(OrderCloseTime())は明らかに間違っているのに、あなたのコードにはまだそれがある、なぜ?
なぜそれが間違いだと思うのか、説明してください。
私は、あなたにポイントを 示すために、コードにそれを入れています。そのポイントとは このコードがあるために、「エキスパート」ペインにゼロが表示されるのです。
私が提案した2行のコードを追加したらどうなったのでしょうか?
私は現在、この件に関して迅速に取り組んでいます :)
ありがとうございました。
Print(OrderCloseTime())は明らかに間違っていますが、あなたのコードにはまだそれがあります、なぜですか?
なぜそれが間違いだと思うのか、説明してください。
私は、あなたにポイントを 示すために、コードにそれを入れています。そのポイントとは このコードがコード内にあるために、「エキスパート」ペインにゼロが表示されるのです。
あなたが投稿した最後の画像は、USDJPY注文が01:45:35にクローズされたことを示しています。OrderCloseTime()の戻り値が0であることは、注文がオープンであるか、保留中の注文 である場合にも起こり得ると、あなたは正しく指摘しました。ですから、0という値がどうして正しいのでしょうか? 答えは、正しいはずがない、つまり、間違っているということです。
サイモン
今、取り組んでいるのは...
ありがとうございます。
サイモン
では、なぜ最新版のコードにその変更を加えないのですか?......もし、あなたがそれを行うことを意図していた場合、なぜあなたはそれを行っていないのですか?
ちょっと時間をください。
私は以前これをコード化するつもり でしたが、現在これをコード化するつもりは ありません。これをコード化する理由はありません...。
代わりにこれをコーディングすることができたら...
すべての'if'条件は、中括弧("{}")の中にあるものに適用されます。このコードブロックに中括弧を追加することは(私が意図した 方法で)非効率的であり、何の役にも立ちません。
さて、このコードを見てみると.. . .
議論しやすいように行に番号を振ってあります。
1行目を見て、OrderStopLoss() と OrderTakeProfit() が両方とも0 の場合、他の番号のついたコードのどの行が実行されるのでしょうか?
サイモン
修正されたので、意図したとおりに動作するようになりました。
2行目と3行目です。
ありがとうございます。
サイモン
結果発表
なぜ注文の終了時刻がこのような形式(1357306061)で表現されるのでしょうか?
Print()関数が動作する理由は、OrderSelect()関数(中括弧内)が未決済注文ではなく、決済済み注文を選択しなければならないからでしょうか?これは、中括弧の中で行わなければならないのですね?)トリッキー、トリッキー。
ありがとうございました。
サイモン
来たぞ...バーン!
さらにいい感じ!ハハハ ;)
ありがとうございます。