orderopenpriceが開かれた後の最高値を取得するにはどうしたらよいですか? - ページ 2 123456 新しいコメント Simon Gniadkowski 2011.09.18 12:07 #11 コードの勉強を始めて、スレッドに凸するのはやめましょう。 削除済み 2011.09.18 18:35 #12 ただ、少し手助けが必要です。 ありがとうございました。 int LastOpenTicketForBuy(){ datetime lastTime = 0; int lastTicket = -1; // None open. int magi.number=0; //for(int pos=0; pos<OrdersTotal(); i++) { OrderSelect(pos, SELECT_BY_POS); for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if ( OrderSelect(pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber() == magic.number // my magic number && OrderSymbol() == Symbol() // and my pair. && OrderOpenTime() > lastTime && OrderType()==OP_BUY ){ lastTime = OrderOpenTime(); lastTicket = OrderTicket(); } return(lastTicket); } int LastOpenTicketForSell(){ datetime lastTime = 0; int lastTicket = -1; // None open. int magi.number=0; for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if ( OrderSelect(pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber() == magic.number // my magic number && OrderSymbol() == Symbol() // and my pair. && OrderOpenTime() > lastTime && OrderType()==OP_SELL ){ lastTime = OrderOpenTime(); lastTicket = OrderTicket(); } return(lastTicket); } int previousorderforbuy(){ datetime lastTime = 0; int lastTicket = -1; // None open. int magi.number=0; for(int pos--; pos >= 0 ; pos--) if ( OrderSelect(pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber() == magic.number // my magic number && OrderSymbol() == Symbol() // and my pair. && OrderOpenTime() > lastTime && OrderType()==OP_BUY ){ lastTime = OrderOpenTime(); lastTicket = OrderTicket(); } return(lastTicket); } int previousorderforsell(){ datetime lastTime = 0; int lastTicket = -1; // None open. int magi.number=0; for(int pos--; pos >= 0 ; pos--) if ( OrderSelect(pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber() == magic.number // my magic number && OrderSymbol() == Symbol() // and my pair. && OrderOpenTime() > lastTime && OrderType()==OP_SELL ){ lastTime = OrderOpenTime(); lastTicket = OrderTicket(); } return(lastTicket); } 削除済み 2011.09.20 16:40 #13 をご覧ください。 何が問題なのか見て教えてください。 私はいくつかの関数を作成する必要があります。 1-買いの ための最後の注文のオープン 価格を取得し、維持するための関数。 2- 最終の売り 注文のオープン価格を取得し、保持するための関数。 3-取得し、最終的な終値注文を保持する関数は、買いまたは売りの以上 int LastOpenTicketForBuy(){ datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. int magi.number= 0 ; for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber () == magic.number // my magic number && OrderSymbol () == Symbol () // and my pair. && OrderType ()==OP_BUY ) { lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket);} int LastOpenTicketForSell() { datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. int magi.number= 0 ; for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber () == magic.number // my magic number && OrderSymbol () == Symbol () // and my pair. && OrderType ()==OP_SELL ) { lastTime = OrderOpenTime (); lastTicket = OrderTicket (); } return (lastTicket);} int lastcloseorder() { datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. int magi.number= 0 ; for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber () == magic.number // my magic number && OrderSymbol () == Symbol () // and my pair. && OrderCloseTime () > lastTime && OrderType ()==OP_BUY||OP_SELL ) { lastTime = OrderCloseTime (); lastTicket = OrderTicket (); } return (lastTicket);} そして、if ((LastOpenTicketForBuy()+LastOpenTi cketForSell())/2)<MarketInfo("EURUSD",MODE_BID)Clo se the positionを置きます。 Simon Gniadkowski 2011.09.20 16:51 #14 あなたの意見では、return (lastTicket); は何をするのですか? 削除済み 2011.09.20 20:07 #15 つまり、次のようにすればいいのでしょうか? 1-ダブルLastOpenForBuy()の代わりにintを置く 2-put double orderforbuy then return( orderforbuy ) この方法では、私は買いだけのために開かれた最後の順序を得ることができます。 double LastOpenForBuy(){ datetime lastTime = 0 ; int lastTicket = - 1 ; // None open. int magi.number= 0 ; double orderforbuy; for ( int pos = OrdersTotal ()- 1 ; pos >= 0 ; pos--) if ( OrderSelect (pos, SELECT_BY_POS) // Only my orders w/ && OrderMagicNumber () == magic.number // my magic number && OrderSymbol () == Symbol () // and my pair. && OrderType ()==OP_BUY ) { orderforbuy = OrderOpenprice (); lastTicket = OrderTicket (); } return (orderforbuy);} Simon Gniadkowski 2011.09.20 20:18 #16 Hand: ということですか? それは質問です ... ...私はそれ以外のことを意味しません ... ... あなたの答えは何ですか? もし、私に助けて欲しいのなら、私の質問に答える必要があります ... ... そして、"私は知らない "という答えは受け入れられません。 少し考えてみてください。 削除済み 2011.09.21 04:32 #17 あなたの意見では、return(lastTicket); は何をするのですか? 現在選択されている注文の チケット番号を返します。 blackmore 2011.09.21 04:59 #18 Hand: WHRoederさん、ありがとうございます。 本当に助かりました。もし、最後の買い注文と売り注文を取得する必要があるなら、次のようにしてそれらを比較します。 if ( the last orderopenforbuy == OOTlastest ) { 何かをする }. else { }....................................下のコードでうまくいくか? これは本当に動作するのでしょうか? ファーストループ for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if ( 2番目のループに入る for(pos--; pos >= 0 ; pos--) if ( 2番目のループが終了し、1番目のループに戻ると、1番目のループは、posが前回からどこに行ってしまったか分からない。 blackmore 2011.09.21 05:15 #19 このコードはうまくいくかもしれません...ただ、1つだけ変更する必要があります。 2番目のfor文 for(pos--; pos >= 0 ; pos--) if ( を別のイテレータに変更する必要があります。 for(int a=pos--; a>=0 ; a--) if(// abort the use of pos again and introduce a new iterator, a そして同様に、2番目のループのロジックのすべてにおいて、posを新しいイテレータ(この場合、a)に置き換える必要があるだけです。 Simon Gniadkowski 2011.09.21 09:46 #20 Hand: あなたの意見では、return(lastTicket); は何をするのですか? 現在選択されている注文のチケット番号を返します。 あなたは言った.... "いくつかの関数を作成する必要があります。 1-買いの ための最後の注文のオープン価格を 取得し、維持するための関数。 2- 最終注文の売りの オープン価格を取得し、保持するための関数。 3-最後の終値注文を 取得し、保持する関数です。 では、なぜチケット番号を返しているのですか? あなたがコピーして貼り付けているコードを読んで、それを理解し、学ぶ... ... 123456 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ただ、少し手助けが必要です。
ありがとうございました。
をご覧ください。
何が問題なのか見て教えてください。
私はいくつかの関数を作成する必要があります。
1-買いの ための最後の注文のオープン 価格を取得し、維持するための関数。
2- 最終の売り 注文のオープン価格を取得し、保持するための関数。
3-取得し、最終的な終値注文を保持する関数は、買いまたは売りの以上
そして、if ((LastOpenTicketForBuy()+LastOpenTi cketForSell())/2)<MarketInfo("EURUSD",MODE_BID)Clo se the positionを置きます。
つまり、次のようにすればいいのでしょうか?
1-ダブルLastOpenForBuy()の代わりにintを置く
2-put double orderforbuy then return( orderforbuy )
この方法では、私は買いだけのために開かれた最後の順序を得ることができます。
ということですか?
それは質問です ... ...私はそれ以外のことを意味しません ... ... あなたの答えは何ですか?
もし、私に助けて欲しいのなら、私の質問に答える必要があります ... ... そして、"私は知らない "という答えは受け入れられません。 少し考えてみてください。
あなたの意見では、return(lastTicket); は何をするのですか?
現在選択されている注文の チケット番号を返します。
WHRoederさん、ありがとうございます。
本当に助かりました。もし、最後の買い注文と売り注文を取得する必要があるなら、次のようにしてそれらを比較します。
if ( the last orderopenforbuy == OOTlastest )
{ 何かをする }.
else
{ }....................................下のコードでうまくいくか?
これは本当に動作するのでしょうか?
ファーストループ
2番目のループに入る
2番目のループが終了し、1番目のループに戻ると、1番目のループは、posが前回からどこに行ってしまったか分からない。
このコードはうまくいくかもしれません...ただ、1つだけ変更する必要があります。
2番目のfor文
を別のイテレータに変更する必要があります。
そして同様に、2番目のループのロジックのすべてにおいて、posを新しいイテレータ(この場合、a)に置き換える必要があるだけです。
あなたの意見では、return(lastTicket); は何をするのですか?
現在選択されている注文のチケット番号を返します。
あなたは言った....
"いくつかの関数を作成する必要があります。1-買いの ための最後の注文のオープン価格を 取得し、維持するための関数。
2- 最終注文の売りの オープン価格を取得し、保持するための関数。
3-最後の終値注文を 取得し、保持する関数です。
では、なぜチケット番号を返しているのですか? あなたがコピーして貼り付けているコードを読んで、それを理解し、学ぶ... ...