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 usdjpy_ticket_number=OrderTicket();
OrderClose(OrderTicket(),OrderLots(),bid_ask,3,CLR_NONE);
if(OrderSelect(usdjpy_ticket_number,SELECT_BY_TICKET,MODE_TRADES)==true)
Print("Ticket number for USDJPY = ",usdjpy_ticket_number);
Print("Order close time = ",OrderCloseTime());
}
サイモン
"あなたのwhileループはチケットを見つけられませんでした... .. ."
履歴プールにあるチケットのインデックスを「見つけるかもしれない」のではなく、「見つけるか、次の関数を実行するか」です。)
" a pool index != a ticket number haven't we been through this before ?" (プールのインデックス != チケット番号)
今、はっきりさせましょう。
注文チケット番号は、リクエストが送信された後、その注文に割り当てられたユニークなチケット番号 です。
注文ポジション 番号は、配列に 似た注文プール・ インデックス(理解 することが重要)における注文のポジション です。
"なぜ、クローズしたUSDJPY注文が、全く別のプール、Historyプールで同じポジションになることを期待しているのですか?"
それは別のプールなので、してはいけません。
私が提示したコードでは
これは どうやら履歴プールから注文を選択しているようですね?少なくとも、これは私がDocumentationから収集したものです。また、私は最近、別々の通貨 ペアで約5つの注文を開いてみて、1つを閉じ、そしてEAをオンにし、それはまだ印刷(OrderCloseTime());を含むすべての機能を実行しました。
ありがとうございました。
サイモン
"あなたのwhileループはチケットを見つけられませんでした... .. ."
履歴プールにあるチケットのインデックスを「見つけるかもしれない」のではなく、「見つけた」のです、でなければ以下の関数は実行されなかったでしょう :)。
履歴プールから選択しているのは、インデックス位置i の注文です。iの 値は、USDJPYの注文がOrderプール内にあった場所です。
サイモン
"あなたのwhileループはチケットを見つけるのではなく、オーダープールの インデックスを見つけます。"
ええ、私はこれを理解していると思います。これは問題ないはずです。
"プールは完全に分離されており、どのような形であれリンクされていない"
このことは理解していますが、OrderClose()関数のコードブロックは意図したとおりに動作しているようです。注文チケット 番号の値を保存するようにコードブロックを調整し、あなたが対処したいことを続けられるようにします。同意しますか?
まず最初に、この質問をします。注文の履歴プールポジション番号は、なぜ現在のプールポジション番号と同じではないのですか? 私は、この 番号は同じであると信じています。
ありがとうございました。
サイモン
"あなたのwhileループはチケットを見つけるのではなく、オーダープールの インデックスを見つけます。"
ええ、私はこれを理解していると思います。これは問題ないはずです。
"プールは完全に分離されており、どのような形であれリンクされていない"
このことは理解していますが、OrderClose()関数のコードブロックは意図したとおりに動作しているようです。
OrderClose()呼び出しに変更はないので、まだ動作するはずです。
しかし、このコンセプトには致命的な欠陥があるため、意図したとおりに動作しません ... 続けることに意味がない理由がわかるまで ...
まず、こんな質問をさせていただきます。なぜ、オーダーの履歴のプールポジション番号は、現在のプールポジション番号と同じでないのでしょうか? 私は、同じ番号であると信じています。
あなたがテストしているデモ口座に行って ください ... ... いくつオープンオーダーを持っていますか? いくつアカウント履歴タブの履歴にオーダーを持っていますか?
サイモン
'Account History'には56件含まれています。
'Trade'(未決済注文)には3つ含まれています。
私はあなたが「WhooDooは機能しているようだ」と書いてくれるのを待っています。:)"
Hooold on、返されたPrint()関数の チケット番号を確認したら、USDJPYの注文と異なるチケット番号が返されました。
動作しない。確認済み。でもやってみてよかったです、このレッスンは議論する価値がありました。
ありがとうございました。
サイモン
'Account History'には56件含まれています。
'取引'(未決済注文)には3つ含まれています。
サイモン
57.
ありがとうございました。
サイモン
57.
ありがとうございました。
サイモン
それはないでしょう。最近、再発見しました。
ありがとうございます。