[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 176 1...169170171172173174175176177178179180181182183...537 新しいコメント 削除済み 2011.03.02 23:59 #1751 eddy: 最後の注文はどのように定義するのですか? 時間で。 では、どの注文が時間的に最も新しいか、コードを見てみましょう。 もう、自分で考えたんです。しかし、最後のヒントがまだ理解できません。すべての注文を引き出して、どの注文が時間的に一番遅かったかを確認することは可能でしょうか?つまり、すべての注文を引き出して、すべての注文の終値を比較したいのですね。これを行うためのコードを教えてください。 私はこのように解決しました。 int z; int _bar; int start() { z=OrdersHistoryTotal()-1; OrderSelect(z,SELECT_BY_POS,MODE_HISTORY); if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7) { if(OrderProfit()> 0) PlaySound("profit.Original"); If(OrderCloseTime() > 1& OrderCloseTime() < 7); If(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() > 7)wav"); if(OrderProfit()== 0) PlaySound("zero.wav"); if(OrderProfit()< 0) PlaySound("loss.wav"); } zに1を代入すると、論理的に最新の注文が選択されることがわかったので、OrdersHistoryTotal()(履歴の注文 数を返す)をとってきて、インデックスの代わりに代入してみました。しかし、OrdersHistoryTotal()は実際より1多く返すことが判明しました。履歴には6件の注文がありますが、OrdersHistoryTotal()は7件の注文を返します。そこで、z=OrdersHistoryTotal()-1;と書きました。しかし、最後の1枚を選択するために、インデックスに何を使えばいいのか、以前はわかりませんでした。誰も何も教えてくれないので、自分で考えるしかなかったんです。 --- 2011.03.03 00:01 #1752 Reaktiv: if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7)) これは根本的に間違っており、テスターでも常に動作するわけではありません。 削除済み 2011.03.03 00:03 #1753 sergeev: は根本的に間違っており、テスターであっても常に動作するわけではありません。 だから、正しいやり方を教えてください。 教科書には、存在しない例がたくさんあるでしょ。 --- 2011.03.03 00:04 #1754 Reaktiv: だから、教科書にはあまり例題が載っていないことを知っているので、正しい方法を教えてください。どのような解決策を講じるかは、設定された目標に依存します。 履歴の中の最後の注文を見つけたいのであれば、それは一つのことですが、あなたのEAの最後の注文がどのように閉じられたかを判断したいのであれば、それはまた別のことです。 削除済み 2011.03.03 00:07 #1755 sergeev: どのような解決策を講じるかは、設定した目標によって異なります。 履歴から最後の注文を見つけたいのであれば、それは一つのことですが、EAの最後の注文がどのように終了したかを伝えるだけであれば、それは別のことです。 注文が成立した後に音楽が流れ始め、利益の内容によって音楽が流れるようにしたいのです。この例では、注文が閉じられてから1〜7秒経過したときに再生するようにしました。 --- 2011.03.03 00:11 #1756 であれば、以下のようなスキームとなるはずです。 1.OrderSendが 成功した時点で、オーダーチケット(GlobalVariableSet)を覚えておく必要があります。 2.各ティックで、この記憶された注文のチケット(GlobalVariableGet)のクローズ(OrderCloseTime)を確認します。 注文が成立した場合、適切な利食い音を出し、記憶しているTicketを削除する(GlobalVariableDel) 4.それでも1~7秒のチェックをしたい場合は、このチェックを分析に含めることができますが、10秒以上遅れてティックが来て、シグナルを見逃す可能性があることを忘れてはいけません。 削除済み 2011.03.03 00:16 #1757 sergeev: であれば、以下のようなスキームとなるはずです。1.OrderSendが 成功した時点で、オーダーチケット(GlobalVariableSet)を覚えておく必要があります。2.各ティックで、この記憶された注文のチケット(GlobalVariableGet)のクローズ(OrderCloseTime)を確認します。注文が成立した場合、適切な利食い音を出し、記憶しているTicketを削除する(GlobalVariableDel)4.それでも1~7秒のチェックをしたい場合は、このチェックを分析に含めることができますが、10秒以上遅れてティックが来て、シグナルを見逃す可能性があることを忘れてはいけません。 OrderSendは Expert Advisorから送信する必要があるのか、それとも違いはないのか?このシステムは、私自身が手作業で案件を開設していることがベースになっています。Expert Advisor は、ポジションを開いた後に注文を変更し(ストップをかけ)、ポジションを閉じるときに音楽を奏でます。10秒遅れるかもしれないティックについては、理解しています。今のような時期にEAを使うつもりはない。私は、このような遅延が発生しにくい午前9時から午後18時までユーロバックスでEAを使用しています。 --- 2011.03.03 00:25 #1758 Reaktiv: そして、取引開始時にアドバイザー自身が注文を修正する(ストップを置く)。 そうすると、あなたの場合はこのポイントがオーダーチケットの 撮影ポイントになります。 削除済み 2011.03.03 00:28 #1759 sergeev: ということは、あなたの場合、これはオーダーチケットが取られる時点です。 しゃい Roma 2011.03.03 01:33 #1760 Reaktiv: 注文が終了してから1秒から7秒経過した場合に音楽を再生するようにしてほしかった。 なぜかというと、注文が終了した時点で音楽を再生すればいいのです 1...169170171172173174175176177178179180181182183...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
最後の注文はどのように定義するのですか? 時間で。 では、どの注文が時間的に最も新しいか、コードを見てみましょう。
もう、自分で考えたんです。しかし、最後のヒントがまだ理解できません。すべての注文を引き出して、どの注文が時間的に一番遅かったかを確認することは可能でしょうか?つまり、すべての注文を引き出して、すべての注文の終値を比較したいのですね。これを行うためのコードを教えてください。
私はこのように解決しました。
int z;
int _bar;
int start()
{
z=OrdersHistoryTotal()-1;
OrderSelect(z,SELECT_BY_POS,MODE_HISTORY);
if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7)
{
if(OrderProfit()> 0)
PlaySound("profit.Original"); If(OrderCloseTime() > 1& OrderCloseTime() < 7); If(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() > 7)wav");
if(OrderProfit()== 0)
PlaySound("zero.wav");
if(OrderProfit()< 0)
PlaySound("loss.wav");
}
zに1を代入すると、論理的に最新の注文が選択されることがわかったので、OrdersHistoryTotal()(履歴の注文 数を返す)をとってきて、インデックスの代わりに代入してみました。しかし、OrdersHistoryTotal()は実際より1多く返すことが判明しました。履歴には6件の注文がありますが、OrdersHistoryTotal()は7件の注文を返します。そこで、z=OrdersHistoryTotal()-1;と書きました。しかし、最後の1枚を選択するために、インデックスに何を使えばいいのか、以前はわかりませんでした。誰も何も教えてくれないので、自分で考えるしかなかったんです。
if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7))
は根本的に間違っており、テスターであっても常に動作するわけではありません。
だから、正しいやり方を教えてください。 教科書には、存在しない例がたくさんあるでしょ。
だから、教科書にはあまり例題が載っていないことを知っているので、正しい方法を教えてください。
どのような解決策を講じるかは、設定された目標に依存します。
履歴の中の最後の注文を見つけたいのであれば、それは一つのことですが、あなたのEAの最後の注文がどのように閉じられたかを判断したいのであれば、それはまた別のことです。
どのような解決策を講じるかは、設定した目標によって異なります。
履歴から最後の注文を見つけたいのであれば、それは一つのことですが、EAの最後の注文がどのように終了したかを伝えるだけであれば、それは別のことです。
注文が成立した後に音楽が流れ始め、利益の内容によって音楽が流れるようにしたいのです。この例では、注文が閉じられてから1〜7秒経過したときに再生するようにしました。
であれば、以下のようなスキームとなるはずです。
1.OrderSendが 成功した時点で、オーダーチケット(GlobalVariableSet)を覚えておく必要があります。
2.各ティックで、この記憶された注文のチケット(GlobalVariableGet)のクローズ(OrderCloseTime)を確認します。
注文が成立した場合、適切な利食い音を出し、記憶しているTicketを削除する(GlobalVariableDel)
4.それでも1~7秒のチェックをしたい場合は、このチェックを分析に含めることができますが、10秒以上遅れてティックが来て、シグナルを見逃す可能性があることを忘れてはいけません。
であれば、以下のようなスキームとなるはずです。
1.OrderSendが 成功した時点で、オーダーチケット(GlobalVariableSet)を覚えておく必要があります。
2.各ティックで、この記憶された注文のチケット(GlobalVariableGet)のクローズ(OrderCloseTime)を確認します。
注文が成立した場合、適切な利食い音を出し、記憶しているTicketを削除する(GlobalVariableDel)
4.それでも1~7秒のチェックをしたい場合は、このチェックを分析に含めることができますが、10秒以上遅れてティックが来て、シグナルを見逃す可能性があることを忘れてはいけません。
OrderSendは Expert Advisorから送信する必要があるのか、それとも違いはないのか?このシステムは、私自身が手作業で案件を開設していることがベースになっています。Expert Advisor は、ポジションを開いた後に注文を変更し(ストップをかけ)、ポジションを閉じるときに音楽を奏でます。10秒遅れるかもしれないティックについては、理解しています。今のような時期にEAを使うつもりはない。私は、このような遅延が発生しにくい午前9時から午後18時までユーロバックスでEAを使用しています。
そして、取引開始時にアドバイザー自身が注文を修正する(ストップを置く)。
ということは、あなたの場合、これはオーダーチケットが取られる時点です。
しゃい
注文が終了してから1秒から7秒経過した場合に音楽を再生するようにしてほしかった。