"ダミー "からの質問 - ページ 56 1...495051525354555657585960616263...277 新しいコメント Anatoli Kazharski 2011.08.23 11:28 #551 Interesting:tickハンドラとは対照的に、タイマはperiodで設定された一定時間後に実行されます。もちろん、タイマーの処理が重い場合は、スリップによる時間制限や最初のカチカチ音でタイマーを無効にした方が良いですが(多くのバリエーションがあります)、タイマーの処理があまり重くなく、周期が十分長い場合は、タイマーを無効にすることができます。また、タイマー処理では、営業日であるかどうかのチェックを行うことができます。必要に応じて、週末に重い計算(例えば、EAの 自動最適化)をスケジュールし、タイマーからこの処理を実行することができます。計算の終了時(または計算の開始時)に、タイマーを正しく無効化することができます。 テスターでのテストは、多通貨EAのOnTimer()関数を使用しています。仮に10秒間隔でタイマーを設定したとします。テスト期間中のすべての週末にカチカチ音がするのでしょうか?ウラジーミルはそういう意味で言ったのだと思います。そこで、土日をスキップすることをタイマーに指示すれば、テストはもっと速くなる。 削除済み 2011.08.23 11:54 #552 tol64: 多通貨Expert AdvisorのOnTimer()関数による テスターでのテストについては。仮に、タイマーが10秒間隔で設定されているとします。テスト期間中の週末はずっとカチカチ音を立てているのでしょうか?ウラジーミルはそういう意味で言ったのだと思います。そこで、土日をスキップすることをタイマーに指示すれば、テストはもっと速くなる。1.計算があまり複雑でない週末にタイマーをオフにしてみたが、あまり違いを感じなかった(もちろん違いはあるが)ので、今は当分タイマーをオフにしないことにしている。2.はい、タイマーが設定されている場合は、テスターでも通常モードでも、タイマーがオフになるまでトリガーがかかることに違いはありません。テスターの場合、10秒間隔で、テスト期間中、つまり10秒ごとにトリップすることになります。週末にタイマーを停止する場合、いくつかの解決策があります。а.タイマーの状態を変数に書き込んでシャットダウンする。メインツールによる最初のカチカチ音(または「スパイ」信号)で、タイマーを再スタートさせることができます。この方法は、ティックスキップの確率や流動性の低い市場でのティックラグに関連するデメリットがある。ティックスキップは、トレードサーバーへの接続ができないことによっても発生します。б.スリップブレーキ、一定時間。良い点は、期間を正確に指定できることですが、悪い点は、この方法では、タイマーだけでなくExpert Advisor全体がX時間まで非アクティブになることです。しかし、すべてのポジションと注文はテスターで処理されます。в.タイマーの周期を長くすることで、一時停止を実現することが可能です。タイマーが「目覚める」時間を事前に知ることができ、専門家の仕事を止めずに済むので便利です。動作中や待機中のタイマーを把握しなければならないことに違和感を覚える。в.タイマーの詰め方を、常時実行するもの(接続状態の判断など)と、条件に応じて実行するもの(営業日、接続あり、取引可など)に分けます。 Olegs Kucerenko 2011.08.23 12:31 #553 Interesting:必要に応じて、重い計算を週末にスケジュールすることができ(EAの 自動最適化など)、このプロセスはタイマーから開始することができます。計算の終了時(または開始時)に、タイマーを正しく無効化することができます。こんにちは。昨日、同じようなアイデアを得たのですが、それについて質問しながら記事を書く時間がありませんでした。1.それはこれを行うことが可能ですか? これは、コード、特に開閉trade.Orちょうど彼らの場所と計算-calculations.I.eで週末に見えるかもしれません タイマーでそれが周期的に歴史を巻き戻し、最高のパラメータを決定し、このオンライン刻みは必要ありません、と関数はちょうどサイクルで回転します定義された関数に移動します...2.どこかの支社で読むことができるのでしょうか?3.チャンピオンシップに応募した場合、車には搭載されないのでしょうか?これは主催者への質問でしょう。 BaTTLeBLooM 2011.08.23 12:49 #554 MetaDriver: 次に、Expert Advisor で適切な時間枠ですべてを計算し、OnTester() で結果を表示します。取引する必要はありません。何か問題はありますか?ありがとうございました。もう一つ質問があります。もし価格がテイクロスまたはストップロスのどちらにも達していない場合、時間差でポジションを閉じるには どうすればよいのでしょうか?注文の仕方のライブラリーを読んだのですが...。繋いでみると...プログラムは「そんな手続きはしていない」と悪態をついているが......。そこで質問ですが、ある時間(例えば1日)後に注文を閉じるには、どのような コードが必要でしょうか? BaTTLeBLooM 2011.08.23 15:24 #555 AccountInfoDouble(ACCOUNT_BALANCE) != AccountInfoDouble(ACCOUNT_EQUITY)このように、取引が開始されているかどうかを確認する必要があるのです。OrdersTotal ()!=0 は動作しません ))) 非常に興味深い不具合です )) BaTTLeBLooM 2011.08.23 17:53 #556 papaklass: ポジションについては、PosirionTotal()があります。OrdersTotal() は、保留中の注文のみ。if (PositionTotal()== 1 ) )同様ノーリアクション// ノーマルオープンif ( TimeActivation ( 1 ) ){if ( _1_operation == 1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.if ( _1_operation == -1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.}// テイクまたはストップの前にクローズすることはできませんif ( TimeActivation ( 2 )){if ( PositionTotal() == 1 ) /// NOT WORKING)){if ( _1_operation == 1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.if ( _1_operation == -1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.}} Vladimir Gomonov 2011.08.23 18:15 #557 BaTTLeBLooM:ありがとうございました。そこで質問ですが、ある時間(例えば1日)後に注文を閉じるには、およそどのような コードが必要でしょうか?お願いします。おおよそこんな感じです:変数で開く手間が省けます。すぐに希望する期間を足す(例:1日=60*60*24)。 そして、各ティック(または時間)ごとに、現在時刻が 制御時刻よりも長いかどうかを監視します。 もし長い場合は、それを閉じます // if (TimeCurrent() > MyControlTime) CloseMyPosition(); Документация по MQL5: Дата и время / TimeCurrent www.mql5.com Дата и время / TimeCurrent - Документация по MQL5 Валерий 2011.08.23 18:19 #558 BaTTLeBLooM:if ( PositionTotal() == 1 ) )同様ノーリアクション// ノーマルオープンif ( TimeActivation ( 1 ) ){if ( _1_operation == 1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.if ( _1_operation == -1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.}// テイクまたはストップの前にクローズすることはできませんif ( TimeActivation ( 2 )){if ( PositionTotal() == 1 ) /// NOT WORKING)){if ( _1_operation == 1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.if ( _1_operation == -1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.}}実は、ここに書かれていることは明確ではありませんが、PositionTotal()は明らかに関係ないのです。チェックする前にPrint() を入れて、=1 ?Print("PositionsTotal=",PositionsTotal()); if ( PositionsTotal() == 1 ) /// НЕ ХРЕНА НЕ РАБОТАЕТ ))) Konstantin Gruzdev 2011.08.23 22:04 #559 tol64:Konstantin Gruzdev氏は、論文の中で「スパイ」と「エージェント」を使った面白い方法を提案しています。))しかし、彼の「エージェント」であるexSpy Control panel MCMは、私のために働きたくありません。それでは、記事で紹介されているバリアントについて見ていきたいと思います。今までのところ、スパイの専門家を何人か作っていますが、とてもうまくいっています。MetaDriver。この技術はテスターでは使えないと思います。効くんです。 Igor Volodin 2011.08.23 22:09 #560 MetaDriver:お願いします。おおよそこのような方法です。開店の時間を変数に格納する必要があります。すぐに必要な時間間隔を追加する(例:1日=60*60*24)。 そして、各ティック(または時間)ごとに、現在時刻が 制御時刻よりも長いかどうかを監視します。 もし長い場合は、それを閉じます // if (TimeCurrent() > MyControlTime) CloseMyPosition();変数に入れるのも一つの方法ですが、端末・アドバイザーを再起動しても、より確実なクロージングが必要な場合は、メジックを使って注文を識別し、その開始時刻を確認することができます。//закрывает ордера с заданным меджиком по прошествию определенного периода(в сек) void closeOrderByTime(int magic,int period) { MqlTradeRequest request; MqlTradeResult tradeResult; MqlTradeCheckResult checkResult; ulong ticket = -1; int cnt = OrdersTotal(); for (int i=cnt-1; i>=0; i--) { ticket = OrderGetTicket(i); if (OrderGetInteger(ORDER_MAGIC) == magic && ticket>0 && TimeCurrent() > OrderGetInteger(ORDER_TIME_SETUP)+period) { request.action = TRADE_ACTION_REMOVE; request.order = ticket; if(OrderCheck(request,checkResult) ) { OrderSend(request, tradeResult); } else { MessageBox("Ошибка"); } } } } 1...495051525354555657585960616263...277 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
tickハンドラとは対照的に、タイマはperiodで設定された一定時間後に実行されます。
もちろん、タイマーの処理が重い場合は、スリップによる時間制限や最初のカチカチ音でタイマーを無効にした方が良いですが(多くのバリエーションがあります)、タイマーの処理があまり重くなく、周期が十分長い場合は、タイマーを無効にすることができます。
また、タイマー処理では、営業日であるかどうかのチェックを行うことができます。
必要に応じて、週末に重い計算(例えば、EAの 自動最適化)をスケジュールし、タイマーからこの処理を実行することができます。計算の終了時(または計算の開始時)に、タイマーを正しく無効化することができます。
多通貨Expert AdvisorのOnTimer()関数による テスターでのテストについては。仮に、タイマーが10秒間隔で設定されているとします。テスト期間中の週末はずっとカチカチ音を立てているのでしょうか?ウラジーミルはそういう意味で言ったのだと思います。そこで、土日をスキップすることをタイマーに指示すれば、テストはもっと速くなる。
1.計算があまり複雑でない週末にタイマーをオフにしてみたが、あまり違いを感じなかった(もちろん違いはあるが)ので、今は当分タイマーをオフにしないことにしている。
2.はい、タイマーが設定されている場合は、テスターでも通常モードでも、タイマーがオフになるまでトリガーがかかることに違いはありません。テスターの場合、10秒間隔で、テスト期間中、つまり10秒ごとにトリップすることになります。
週末にタイマーを停止する場合、いくつかの解決策があります。
а.タイマーの状態を変数に書き込んでシャットダウンする。メインツールによる最初のカチカチ音(または「スパイ」信号)で、タイマーを再スタートさせることができます。この方法は、ティックスキップの確率や流動性の低い市場でのティックラグに関連するデメリットがある。ティックスキップは、トレードサーバーへの接続ができないことによっても発生します。
б.スリップブレーキ、一定時間。良い点は、期間を正確に指定できることですが、悪い点は、この方法では、タイマーだけでなくExpert Advisor全体がX時間まで非アクティブになることです。
しかし、すべてのポジションと注文はテスターで処理されます。
в.タイマーの周期を長くすることで、一時停止を実現することが可能です。タイマーが「目覚める」時間を事前に知ることができ、専門家の仕事を止めずに済むので便利です。動作中や待機中のタイマーを把握しなければならないことに違和感を覚える。
в.タイマーの詰め方を、常時実行するもの(接続状態の判断など)と、条件に応じて実行するもの(営業日、接続あり、取引可など)に分けます。
必要に応じて、重い計算を週末にスケジュールすることができ(EAの 自動最適化など)、このプロセスはタイマーから開始することができます。計算の終了時(または開始時)に、タイマーを正しく無効化することができます。
こんにちは。昨日、同じようなアイデアを得たのですが、それについて質問しながら記事を書く時間がありませんでした。
1.それはこれを行うことが可能ですか? これは、コード、特に開閉trade.Orちょうど彼らの場所と計算-calculations.I.eで週末に見えるかもしれません タイマーでそれが周期的に歴史を巻き戻し、最高のパラメータを決定し、このオンライン刻みは必要ありません、と関数はちょうどサイクルで回転します定義された関数に移動します...
2.どこかの支社で読むことができるのでしょうか?
3.チャンピオンシップに応募した場合、車には搭載されないのでしょうか?これは主催者への質問でしょう。
次に、Expert Advisor で適切な時間枠ですべてを計算し、OnTester() で結果を表示します。取引する必要はありません。何か問題はありますか?
ありがとうございました。
もう一つ質問があります。もし価格がテイクロスまたはストップロスのどちらにも達していない場合、時間差でポジションを閉じるには どうすればよいのでしょうか?
注文の仕方のライブラリーを読んだのですが...。繋いでみると...プログラムは「そんな手続きはしていない」と悪態をついているが......。
そこで質問ですが、ある時間(例えば1日)後に注文を閉じるには、どのような コードが必要でしょうか?
AccountInfoDouble(ACCOUNT_BALANCE) != AccountInfoDouble(ACCOUNT_EQUITY)
このように、取引が開始されているかどうかを確認する必要があるのです。
OrdersTotal ()!=0 は動作しません ))) 非常に興味深い不具合です ))
ポジションについては、PosirionTotal()があります。OrdersTotal() は、保留中の注文のみ。
if (PositionTotal()== 1 ) )
同様ノーリアクション
// ノーマルオープン
if ( TimeActivation ( 1 ) )
{
if ( _1_operation == 1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.
if ( _1_operation == -1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.
}
// テイクまたはストップの前にクローズすることはできません
if ( TimeActivation ( 2 ))
{
if ( PositionTotal() == 1 ) /// NOT WORKING))
{
if ( _1_operation == 1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.
if ( _1_operation == -1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.
}
}
ありがとうございました。
そこで質問ですが、ある時間(例えば1日)後に注文を閉じるには、およそどのような コードが必要でしょうか?
お願いします。
おおよそこんな感じです:変数で開く手間が省けます。すぐに希望する期間を足す(例:1日=60*60*24)。
そして、各ティック(または時間)ごとに、現在時刻が 制御時刻よりも長いかどうかを監視します。 もし長い場合は、それを閉じます // if (TimeCurrent() > MyControlTime) CloseMyPosition();
if ( PositionTotal() == 1 ) )
同様ノーリアクション
// ノーマルオープン
if ( TimeActivation ( 1 ) )
{
if ( _1_operation == 1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.
if ( _1_operation == -1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.
}
// テイクまたはストップの前にクローズすることはできません
if ( TimeActivation ( 2 ))
{
if ( PositionTotal() == 1 ) /// NOT WORKING))
{
if ( _1_operation == 1 && Sell ( 0.10 ) == 1 ) { Sleep (600000); }.
if ( _1_operation == -1 && Buy ( 0.10 ) == 1 ) { Sleep (600000); }.
}
}
実は、ここに書かれていることは明確ではありませんが、PositionTotal()は明らかに関係ないのです。
チェックする前にPrint() を入れて、=1 ?
Konstantin Gruzdev氏は、論文の中で「スパイ」と「エージェント」を使った面白い方法を提案しています。))しかし、彼の「エージェント」であるexSpy Control panel MCMは、私のために働きたくありません。
それでは、記事で紹介されているバリアントについて見ていきたいと思います。今までのところ、スパイの専門家を何人か作っていますが、とてもうまくいっています。
この技術はテスターでは使えないと思います。
効くんです。
お願いします。
おおよそこのような方法です。開店の時間を変数に格納する必要があります。すぐに必要な時間間隔を追加する(例:1日=60*60*24)。
そして、各ティック(または時間)ごとに、現在時刻が 制御時刻よりも長いかどうかを監視します。 もし長い場合は、それを閉じます // if (TimeCurrent() > MyControlTime) CloseMyPosition();
変数に入れるのも一つの方法ですが、端末・アドバイザーを再起動しても、より確実なクロージングが必要な場合は、メジックを使って注文を識別し、その開始時刻を確認することができます。