KimIVの便利な機能 - ページ 22 1...151617181920212223242526272829...128 新しいコメント Igor Kim 2008.05.23 09:15 #211 rid: 今度はコメント-Comment(isCloseLastPosByStop())に関数を入れました。 テスターでテストしているのでしょうか?テスターでは、確かに、2つ以上の最後のクローズポジションが異なるOrderCloseTime()を持たない状況があるかもしれません。 Rid 2008.05.24 10:53 #212 なるほど。テスター内で複数のポジションが同時にクローズされた場合(信号に従って)、isCloseLastPosByStop()関数が「グリッチ」して動作しないことがあるのでは?しかし、オンラインではうまくいっているようです。 はい、-今テスターで1ポジションで作業している時に確認しました。すべて正常に動作しますコメント(isCloseLastPosByStop())でストップロスによるクローズを正しく表示し、他の理由によるクローズの場合は時間差でフラグを変更する機能。 Igor Kim 2008.05.24 11:08 #213 rid писал (а): なるほど。テスター内で複数のポジションが同時にクローズされた場合、isCloseLastPosByStop()関数が「グリッチ」して動作しないことがあるのでは?はい、isCloseLastPosByStop() は、秒単位で測定される最大終値によって最後の終値を 特定するためです。そのため、複数のポジションが閉じるまでに1秒以上の時間が必要です。テスターでは、1秒未満しか経過しないこともあります。rid wrote: そして、オンラインはどうやらうまくいきそうです。 オンラインモードでも不具合が発生することがありますが、テスターに比べればはるかに少ないです。自動売買ロボットでも、ポジションを決済するのに時間がかかる。もし、より確実に最終閉位置を特定する方法があれば、ありがたく受け入れて、機能の改造を試みたいと思います。 Artem Titarenko 2008.05.24 17:46 #214 KimIVさん、こんにちは。アドバイスというか、助けてほしいんです。start()関数はティック単位ではなく、新しいティックが来たかどうかに関係なく、1秒ごとに実行されるようにする必要があります。この作業をどのように実施しようとしたかを紹介します。 int start() { if(first==true)return(0); else { for(int j=0;j<10;j++) { RefreshRates();//обновляем котировки //Код эксперта first=true; Sleep(1000);//задержка в 1 секунду j=0; } } return(0); } Igor Kim 2008.05.24 19:24 #215 StatBars писал (а): 新しいティックが来たかどうかに関係なく、1秒ごとにstart()関数が実行されるようにしたい。 こんな感じでやっています。 void start() { while (IsExpertEnabled() && !IsStopped()) { // код ............. Sleep(1000); } } Artem Titarenko 2008.05.24 19:28 #216 本当にありがとうございました!!!!私のコードが動作するかどうかさえ、まだ教えていただけますか?テスターではありませんが・・・。テスターで動くのか...?それとも、私が... Void start()... Igor Kim 2008.05.24 19:54 #217 StatBars писал (а): また、私のコードが全く機能しないかどうか教えてください。 調べてないので分かりませんが...。 StatBars さんが書き込みました(a): テスターにない...実戦で通用するのか......? テスターでは、どんなループしたものでも動作しない。ダニのやつしか効かないのか・・・。 オンラインでは、あなたのコードは動作しているように見えるはずです。少なくとも論理的には成立しているように思えるのですが...。 スタットバー あるいは、あなたが... Void start()... いや、その必要はない。ただ、型付けされた関数が値を返さず、もし返したとしてもその値がどのように使われるわけでもないのに、なぜ型付けされた関数を宣言するのでしょうか? Artem Titarenko 2008.05.24 19:56 #218 なるほど。また、ありがとうございました。 Rid 2008.05.25 06:32 #219 KimIV: .もし、より確実に最終閉位置を特定する方法があれば、ありがたく受け入れて、機能の再設計に努めたいと思います。 ご丁寧なお申し出ありがとうございます。残念ながら、良いアイデアが頭に浮かぶことはあまりありません(残念...)。少し前のことですが、例えば、あなたの関数が「コンポーネント」であるOrderCommentを ほとんど使っていないことに気がつきました。 しかし、この機能を応用することで、もしかしたら新しい発想が生まれるかもしれません(その場にいる全員が喜びます)。 例えば、if (OrderComment()==" [sl]" && ...の場合。- は、できる仕事の幅が広がるかもしれませんね //--------------------------------------------------------------------------------- "機能が増える、-良いこと、違うこと!"(c) Igor Kim 2008.05.25 07:13 #220 rid: KimIV: .もし、より確実に最終閉位置を特定する方法があれば、ありがたく受け入れて、機能の修正を試みたいと思います。 例えば、if(OrderComment()==" [sl]" && ...のような感じです。- は、行うべきタスクの幅を広げるかもしれませんね rid さんは、注文コメントでエントリーによるストップのトリガーを特定する方法を提案されていましたね。ありがとうございます。しかし、コメントで[sl]以外のエントリーがあるかもしれません。 私は終値と逆指値を比較することで同じ問題を解決しています。 1...151617181920212223242526272829...128 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
今度はコメント-Comment(isCloseLastPosByStop())に関数を入れました。
テスターでテストしているのでしょうか?テスターでは、確かに、2つ以上の最後のクローズポジションが異なるOrderCloseTime()を持たない状況があるかもしれません。
なるほど。テスター内で複数のポジションが同時にクローズされた場合(信号に従って)、isCloseLastPosByStop()関数が「グリッチ」して動作しないことがあるのでは?しかし、オンラインではうまくいっているようです。
はい、-今テスターで1ポジションで作業している時に確認しました。すべて正常に動作しますコメント(isCloseLastPosByStop())でストップロスによるクローズを正しく表示し、他の理由によるクローズの場合は時間差でフラグを変更する機能。
なるほど。テスター内で複数のポジションが同時にクローズされた場合、isCloseLastPosByStop()関数が「グリッチ」して動作しないことがあるのでは?
はい、isCloseLastPosByStop() は、秒単位で測定される最大終値によって最後の終値を 特定するためです。そのため、複数のポジションが閉じるまでに1秒以上の時間が必要です。テスターでは、1秒未満しか経過しないこともあります。
そして、オンラインはどうやらうまくいきそうです。
KimIVさん、こんにちは。アドバイスというか、助けてほしいんです。start()関数はティック単位ではなく、新しいティックが来たかどうかに関係なく、1秒ごとに実行されるようにする必要があります。この作業をどのように実施しようとしたかを紹介します。
新しいティックが来たかどうかに関係なく、1秒ごとにstart()関数が実行されるようにしたい。
こんな感じでやっています。
本当にありがとうございました!!!!私のコードが動作するかどうかさえ、まだ教えていただけますか?テスターではありませんが・・・。テスターで動くのか...?それとも、私が...
Void start()...
また、私のコードが全く機能しないかどうか教えてください。
調べてないので分かりませんが...。
テスターにない...実戦で通用するのか......?
テスターでは、どんなループしたものでも動作しない。ダニのやつしか効かないのか・・・。
オンラインでは、あなたのコードは動作しているように見えるはずです。少なくとも論理的には成立しているように思えるのですが...。
あるいは、あなたが...
Void start()...
なるほど。また、ありがとうございました。
.もし、より確実に最終閉位置を特定する方法があれば、ありがたく受け入れて、機能の再設計に努めたいと思います。
ご丁寧なお申し出ありがとうございます。残念ながら、良いアイデアが頭に浮かぶことはあまりありません(残念...)。少し前のことですが、例えば、あなたの関数が「コンポーネント」であるOrderCommentを ほとんど使っていないことに気がつきました。
しかし、この機能を応用することで、もしかしたら新しい発想が生まれるかもしれません(その場にいる全員が喜びます)。
例えば、if (OrderComment()==" [sl]" && ...の場合。- は、できる仕事の幅が広がるかもしれませんね
//---------------------------------------------------------------------------------
"機能が増える、-良いこと、違うこと!"(c)
.もし、より確実に最終閉位置を特定する方法があれば、ありがたく受け入れて、機能の修正を試みたいと思います。
例えば、if(OrderComment()==" [sl]" && ...のような感じです。- は、行うべきタスクの幅を広げるかもしれませんね
rid さんは、注文コメントでエントリーによるストップのトリガーを特定する方法を提案されていましたね。ありがとうございます。しかし、コメントで[sl]以外のエントリーがあるかもしれません。
私は終値と逆指値を比較することで同じ問題を解決しています。