if (myOrderType==1 && ContinueOpening && TimeCurrent() > LastOpenTime + SleepTime)[/PHP]
with SleepTime in seconds.
The reasons to not use the Sleep() function are two: first, Sleep() does not work in backtester; and second, it's not a good idea to stop during this time the running of other parts of the EA like stops trailing.
Anyway, the instruction [PHP]if(Use_time_interval){Sleep(SleepTime);}
セントモ、それは私のリストの中で最初に修正するものの一つです。 今、このような現象が起きているのは、最初のエントリーで進むべき方向を決めるからです。 その後、同じ方向に進み続け、ベストを尽くしています。
またすぐに投稿します...。
Saintmo、それは私のリストの中で最初に修正するものの一つです。 今のところ、最初のエントリーでどちらの方向に進むかを決めるだけなので、このようなことが起こっています。 その後、同じ方向に進み続け、ベストを尽くしています。 近いうちにまた投稿するつもりです。
もしそうなら、PipStepを削除し、次のシグナルが表示されたら取引を開始します。そうしたいですか?例
買い 119.00 - 0.10ロット 買いシグナル(フォルスシグナル)
売り 118.40 - 0.20ロット売りシグナル(偽シグナル)
118.50の買い - 0.40ロット 買いシグナル(今回は正しい)
さらに20pips上昇したため、全てのポジションを決済。
このような基準でしょうか?もしそうなら、この1について作業を始めるので、教えてください。
よろしくお願いします。
デビッド
davidke20です。
こんにちは、Davidさん、調べてくれてありがとうございます。
ピップステップをなくすと、10points3やマーチンゲールの長所が失われると思います。その代わり、ポジションを監査するためのプログレッシブ・シグナルとして、インジケータ(または2つ/3つ)を使用したいと思います。
*注:ピップステップは市場のボラティリティに応じて可変であるべきだと思います ATR etc...
例えば、RSIが50以上で、前のRSIが50未満だったため、最初のエントリーでロングを開始するシグナルを受け取った場合、0.1ロットでエントリーします。市場のボラティリティによっては、次のピップステップが7になったら、RSIが上昇しているかどうかを確認 します。上昇している場合、次の買いを0.2ロットで入れます。
何らかの理由でRSIが45またはその他の値を下回ったら(まだ考え中です)、すべてのロングポジションを決済し、0.1ロットのショート方向で進行を開始します。
どうですか?
EDIT: 考えれば考えるほど、ピップステップを下げることは良いアイデアかもしれません。ピップステップは一般的な買い方なので、強制的にピップステップに固定すると、(上記のインジケータを使った監査でも)悪いポジションに買い過ぎてしまうのではないかと心配しています。横ばい相場は、ピップステップを使うと死んでしまいますね。
davidke20,
こんにちは、David。調べてくれてありがとう。
ピップステップをなくすと、10points3やマーチンゲールの強みが失われるような気がします。その代わり、ポジションを監査するためのプログレッシブ・シグナルとして、インジケータ(または2つ/3つ)を使用したいと思います。
*注:ピップステップは市場のボラティリティに応じて可変であるべきだと思います ATR etc...
例えば、RSIが50以上で、前のRSIが50未満だったため、最初のエントリーでロングを開始するシグナルを受け取った場合、0.1ロットでエントリーします。市場のボラティリティによっては、次のピップステップが7になったら、RSIが上昇しているかどうかを確認します。上昇している場合、次の買いを0.2ロットで入れます。
何らかの理由でRSIが45またはその他の値を下回ったら(まだ考え中です)、すべてのロングポジションを決済し、0.1ロットのショート方向で進行を開始します。
どうですか?
EDIT: 考えれば考えるほど、ピップステップをやめるのは良いアイデアかもしれません。ピップステップは一般的な買い方なので、強制的にピップステップに固定すると、(上記のインジケータを使った監査でも)悪いポジションに買いすぎてしまうのではないかと心配です。横ばい相場は、ピップステップを使うと死んでしまいますね。インジケーターの シグナルを使用 する場合、ピップステップは使用できません(ダイナミックにしたいとか、そういうことは関係ありません)。逆にピップステップを使用した場合、次の進行はいつになるのでしょうか?シグナルなのかピップステップなのか?この部分にも苦労しています。もし両方必要なら、私は今それを動作させる方法を知らないので、困っています。
よろしくお願いします。
デビッド
インジケーターのシグナルを使用する場合、ピップステップは使用できません(それをダイナミックにしたいとか、そういうことは関係ありません)。逆に、ピップステップを使用した場合、次の進行はいつになるのでしょうか?シグナルなのかピップステップなのか?この部分にも苦労しています。もし両方必要なら、私は今それを動作させる方法を知らないので、困っています。
採用情報
デビッド私の考えは、エントリーにはインジケーターの シグナルを使い、ポジションを持っている間はそのインジケーターのシグナルを常に参照し、反対方向への激しい動きの犠牲にならないようにすることです。もし、そのインジケータがポジションの反対方向で一定の値に達したら、それを使って決済し、損切りします(これは、10points3からの大殺界を避けるためのフェイルセーフです)。単純に「上がったら追加、下がったら決済して切り替え」というのではダメで、ある程度余裕を持たせないといけない。
このようにすることで、ピップステップを使用することができます。なぜなら、インジケータに従ってロングを開始し、少しショートになった場合、ピップステップに従ってロングポジションを追加することになりますが、すぐに決済してショートにしたいとは思わないでしょうからです。EAに余裕を持たせるために、ショート方向の値を遠くに設定しなければなりませんが、大きなダイブを避けるためには十分に近くに設定する必要があります。
今コードを作成中なので、近いうちに掲載しますので見てください。あなたの意見や貢献したい人は、非常に貴重なものになると思います。
また近いうちに投稿します。
編集:このコードにはまだ保護がありませんが、より良い品質のエントリを作成するためのコードの小さな更新です(添付を参照)。それは初めに方向を選択します。
さて、私はちょうどコードの基本的なコピーが動作するようになりましたし、私はすぐにそれを投稿します。
しかし、私はあなた(誰でも)の助けを必要としています。
このインジケータは、ピップステップが原因で、非常に不安定で動きの速い マーケットを殺しています。もし、40pip以上のバーを10pipステップで取得した場合、その1つのバーで4つのポジションを持つことができます。これは良いことですが、ほとんどのインジケータは少し遅れており、インジケータがそれを保護する機会を得る前にこの動きが起こります。
ピップステップを上げることもできますが、そうすると、これまで獲得した小さな利益の多くを失うことになります。また、非常に不安定な市場では、1つのバーで40~50ピップ動くことも珍しくありません。
1つのバーで2回以上売買しないようにするためには、どのようなロジックを使えばよいでしょうか?このために時間を使う必要があるのでしょうか?
いくつかの機能が追加されました。
完全な資金管理機能。標準、ミニ、NANO
StopNReverse機能:動作すると良いのですが。
PipValueに関するコードのクリーンアップ:これにより、Pip Valueを自分で定義する必要がなくなりました。
OrderstoProtectの修正:より効率的になりました。
これが役に立つといいのですが。バックテスト 用のデータがないので、お持ちの方は是非やってみてフィードバックしてください。ご苦労様です。
ご指摘ありがとうございます。
デビッド
余計にボラティリティの高い動きの速い相場は、ピップステップのせいでこのインジケータが死んでしまいます。もし、40pip以上のバーを10pipステップで取得した場合、その1つのバーで4つのポジションを持つことができます。これは良いことですが、ほとんどのインジケータは少し遅れており、インジケータがそれを保護する機会を得る前に、この動きはずっと起こります。
ニュースタイムのような動きの 速い相場では、2つのエントリーの間に一定の最短時間を設けるというアイデアがあり、これは成功しました。次のエントリーの値は、前回のエントリーに対するピップステップで与えられるのではなく、前回のエントリーからX分後のレートに対するピップステップで与えられるのです。この方法により、ピップステップは瞬間的なボラティリティに追従して動的になります。
ニュースタイムのような動きの速い市場に対して、私が成功したアイデアは、2つのエントリーの間に一定の最小時間を持つことです。次のエントリーの値は、前回のエントリーに対するpipstepで与えられるのではなく、前回のエントリーからX分後のレートに対するpipstepで与えられるのです。この方法により、ピップステップは瞬時のボラティリティに追従して動的になります。
インターバルとして、pipstepの他にtime フィルターを追加しました。設定単位はミリ秒です。
参考
デビッド
pipstepの他にインターバルとしてtimeフィルタを追加しました。設定はミリ秒単位です。
採用情報
Davidデイビッド
私は、このようなものを使用するのが良いと思います。
with SleepTime in seconds.
The reasons to not use the Sleep() function are two: first, Sleep() does not work in backtester; and second, it's not a good idea to stop during this time the running of other parts of the EA like stops trailing.
Anyway, the instruction [PHP]if(Use_time_interval){Sleep(SleepTime);}は現在適切な場所になく、OrderSend()ブロックの中にあるはずです。