どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 705 1...698699700701702703704705706707708709710711712...1178 新しいコメント Boris 2014.09.09 17:20 #7041 exsistentia: どうやら、問題を正確に説明していなかったようです。GBPUSDのオープンオーダー(ペンディングではない)があり、オープンプライスは1.61029であるということです。関数OrderOpenPriceは、私の理解では、注文の実際のオープン価格(1.61029)を返すことになっています。 しかし、小数点以下4桁に丸められた値、1.6103が返されます。異なる建値の注文でテストしたところ、結果は同じで、最後の桁が欠けていました。 そのために、DoubleToStr()があり、これは本当のDigitで 書きますが、4で書きます!左上のドキュメンテーションをご覧ください。これでよしとする。Alert("Цена открытия ",OPP);// не так Alert("Цена открытия ",DoubleToStr(OPP,Digits);// а так [Deleted] 2014.09.09 18:00 #7042 borilunad: DoubleToStr()を使えば、実際の桁数で書けますが、この方法では4桁で書いてしまいます。左上のドキュメンテーションをご覧ください。これでよしとする。 ありがとうございました。そして、チュートリアルを読みながら、EAを書いているところです。また、もう一つの質問ですが、ある注文が(チケットによって)クローズされたことを知る最も簡単な方法は何でしょうか?OrderCloseTime関数を使うべきでしょうか、それともこの目的のために特別な関数があるのでしょうか? Artyom Trishkin 2014.09.09 18:24 #7043 exsistentia: ありがとうございました。チュートリアルを読みながらEAを書いているところです。また、もう一つの質問ですが、注文が終了したかどうかを知る最も簡単な方法は何ですか(チケットによる)?OrderCloseTime関数を使うべきでしょうか、それともこの目的のために特別な関数があるのでしょうか? if(OrderSelect(ticket,SELECT_BY_TICKET) && OrderCloseTime()>0) { // Ордер закрыт } ticket変数には、チェック対象の注文のチケット番号が格納される必要があります Vitalie Postolache 2014.09.09 20:05 #7044 artmedia70: ticket変数には、チェック対象の注文のチケット番号が格納される必要があります 注文が終了している場合、履歴(MODE_HISTORY)に残っているはずでは? [Deleted] 2014.09.09 20:17 #7045 artmedia70: ticket 変数には、確認中の注文のチケット番号を格納する必要があります。 ありがとうございます。もうひとつ質問です。EAには、成行注文の終了に応じて、保留中の注文を削除 すべきブロックがあります。OrderSelect(T1,SELECT_BY_TICKET); datetime cls1; cls1=OrderCloseTime(); // 1注文を閉じる時間 OrderSelect(T2,SELECT_BY_TICKET).OrderSelect(T2,SELECT_BY_TICKET).OrderSelect(T1,SELECT_BY_TICKET); datetime cls2; cls2=OrderCloseTime(); // 2つの注文を決済する時間 Alert(cls1," ",cls2);if(cls1==0 && cls2==0) //両方の注文が開いている場合 return(0); else CLS++;//いずれかのオーダーのクローズフラグif(cls1>0 && CLS==1) //どの注文が決済されたかに応じて、保留中の注文を削除 OrderDelete(T3); if(cls2>0 && CLS==1) OrderDelete(T4); return(0); }.ブロックは何らかの理由で機能せず(保留中の注文を閉じない)、Alertは常に「0 0」と表示されます。私は具体的にオープンオーダーの1つをクローズしましたが、何も起こりません。EAが注文が既に終了しているかどうかを確認せず、古いデータを処理しているように感じられます。何が問題なのでしょうか? Any rookie question, so I will write a mql4アドバイザーを無料で書かせていただきます。 Vitalie Postolache 2014.09.09 21:13 #7046 exsistentia:ありがとうございます。もうひとつ質問です。EAには、成行注文の終了に応じて、保留中の注文を削除すべきブロックがあります。ブロックは何らかの理由で機能せず(保留中の注文は決済されない)、アラートは常に「0 0」と表示されます。わざと未決済の注文を1つ閉じたのですが、何も起こりません。EAが注文が既に終了していることを検知せず、古いデータを処理しているように感じられます。何が問題なのでしょうか?オーダーチケットは どこで確認するのですか?また、注文がまだ有効である場合(少なくとも、コードによって有効なものの中から選択される)、OrderCloseTimeはどこから来るのでしょうか? Artyom Trishkin 2014.09.09 21:19 #7047 evillive: オーダーチケットはどこで確認するのですか?また、注文がまだ有効である(少なくともコードによって有効なものの中から選択されている)場合、OrderCloseTimeはどこから来るのでしょうか? あ、暴れるのはやめましょう。この場合、Poolは 無視されます。終値が0より大きいか等しい場合のみ、どのリストから注文が選択されたかを判断することができる。この基本を知らないのは勿体ない;) Artyom Trishkin 2014.09.09 21:25 #7048 evillive: 注文が終了した場合、履歴(MODE_HISTORY)で探すべきではないでしょうか? インデックスで選択された場合 - はい、履歴で、チケットプールで 選択された場合は無視されます。数学を学ぶ ;) Vitalie Postolache 2014.09.09 21:56 #7049 artmedia70: ああ、暴れるのはやめてくれ。この場合、Poolは 無視されます。終了時間が0より大きいか、または0に等しい場合にのみ、どのリストから注文が選択されたかを判断することができます。この基本を知らないのは勿体ない;) 私はチケットで検索することはほとんどなく、インデックスで検索することが多いので、残念ですが仕方ありません;)が、正しいチケットの探し方がそこに引用されていない、もしかしたら探し方を間違えて、コードが動かないと文句を言っているのかもしれない......。 Artyom Trishkin 2014.09.09 22:46 #7050 evillive: 私はチケットで検索することはほとんどなく、インデックスで検索することが多いので、残念ですが仕方ありません;)が、コード内のそこにある正しいチケットを探しても見つからず、もしかしたら探し方を間違えて、コードが動かないと文句を言っているのかもしれません...。 外は大変なことになっている......。 1...698699700701702703704705706707708709710711712...1178 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
どうやら、問題を正確に説明していなかったようです。GBPUSDのオープンオーダー(ペンディングではない)があり、オープンプライスは1.61029であるということです。関数OrderOpenPriceは、私の理解では、注文の実際のオープン価格(1.61029)を返すことになっています。 しかし、小数点以下4桁に丸められた値、1.6103が返されます。異なる建値の注文でテストしたところ、結果は同じで、最後の桁が欠けていました。
そのために、DoubleToStr()があり、これは本当のDigitで 書きますが、4で書きます!左上のドキュメンテーションをご覧ください。
これでよしとする。
DoubleToStr()を使えば、実際の桁数で書けますが、この方法では4桁で書いてしまいます。左上のドキュメンテーションをご覧ください。
これでよしとする。
ありがとうございました。そして、チュートリアルを読みながら、EAを書いているところです。
また、もう一つの質問ですが、ある注文が(チケットによって)クローズされたことを知る最も簡単な方法は何でしょうか?OrderCloseTime関数を使うべきでしょうか、それともこの目的のために特別な関数があるのでしょうか?
ありがとうございました。チュートリアルを読みながらEAを書いているところです。
また、もう一つの質問ですが、注文が終了したかどうかを知る最も簡単な方法は何ですか(チケットによる)?OrderCloseTime関数を使うべきでしょうか、それともこの目的のために特別な関数があるのでしょうか?
ticket変数には、チェック対象の注文のチケット番号が格納される必要があります
ticket変数には、チェック対象の注文のチケット番号が格納される必要があります
注文が終了している場合、履歴(MODE_HISTORY)に残っているはずでは?
ticket 変数には、確認中の注文のチケット番号を格納する必要があります。
ありがとうございます。
もうひとつ質問です。EAには、成行注文の終了に応じて、保留中の注文を削除 すべきブロックがあります。
OrderSelect(T1,SELECT_BY_TICKET);
datetime cls1;
cls1=OrderCloseTime(); // 1注文を閉じる時間
OrderSelect(T2,SELECT_BY_TICKET).OrderSelect(T2,SELECT_BY_TICKET).OrderSelect(T1,SELECT_BY_TICKET);
datetime cls2;
cls2=OrderCloseTime(); // 2つの注文を決済する時間
Alert(cls1," ",cls2);
if(cls1==0 && cls2==0) //両方の注文が開いている場合
return(0);
else
CLS++;//いずれかのオーダーのクローズフラグ
if(cls1>0 && CLS==1) //どの注文が決済されたかに応じて、保留中の注文を削除
OrderDelete(T3);
if(cls2>0 && CLS==1)
OrderDelete(T4);
return(0);
}.
ブロックは何らかの理由で機能せず(保留中の注文を閉じない)、Alertは常に「0 0」と表示されます。私は具体的にオープンオーダーの1つをクローズしましたが、何も起こりません。EAが注文が既に終了しているかどうかを確認せず、古いデータを処理しているように感じられます。何が問題なのでしょうか?
ありがとうございます。
もうひとつ質問です。EAには、成行注文の終了に応じて、保留中の注文を削除すべきブロックがあります。
ブロックは何らかの理由で機能せず(保留中の注文は決済されない)、アラートは常に「0 0」と表示されます。わざと未決済の注文を1つ閉じたのですが、何も起こりません。EAが注文が既に終了していることを検知せず、古いデータを処理しているように感じられます。何が問題なのでしょうか?
オーダーチケットはどこで確認するのですか?また、注文がまだ有効である(少なくともコードによって有効なものの中から選択されている)場合、OrderCloseTimeはどこから来るのでしょうか?
注文が終了した場合、履歴(MODE_HISTORY)で探すべきではないでしょうか?
ああ、暴れるのはやめてくれ。この場合、Poolは 無視されます。終了時間が0より大きいか、または0に等しい場合にのみ、どのリストから注文が選択されたかを判断することができます。この基本を知らないのは勿体ない;)
私はチケットで検索することはほとんどなく、インデックスで検索することが多いので、残念ですが仕方ありません;)
が、正しいチケットの探し方がそこに引用されていない、もしかしたら探し方を間違えて、コードが動かないと文句を言っているのかもしれない......。
私はチケットで検索することはほとんどなく、インデックスで検索することが多いので、残念ですが仕方ありません;)
が、コード内のそこにある正しいチケットを探しても見つからず、もしかしたら探し方を間違えて、コードが動かないと文句を言っているのかもしれません...。