週末にポジションを持ち越さないプログラム~PART1
読者の方から質問があったので、記事にしました。
ふだんプログラムをしている人にとっては、どうってことはない話ですが、最近MQLを勉強し始めた方にとっては、多少お役に立てるかもしれません。
まず、基本的なロジックを考えましょう。
単純に考えられるのは、
しかし、これだとちょっと問題が…
まず、②や③ですが、プログラム的には可能かも知れませんが、バックテストで思惑通りになるかどうかという問題があります(やったことがないので分かりません)。また、①については、その一定時刻に通信トラブルなどが発生した場合に、ちょっと怖いですよね。
なので、
というのがよいでしょう。
早速プログラミングに入る前に、
足し算や引き算の苦手な方は、いつもこんな表を用意しておくと便利です。
上の表の青い部分を当日とすると、黄色の部分は前日になることにご注意!
人によって考え方はまちまちですが、私の場合、
としています(上の表の赤枠部分参照)。②③で、午前9時としたのは、月曜日早朝の「窓開け」現象による混乱を考慮して、スタートを少し遅らせているわけです。
サーバーの時間帯が仮にGMTだとすると、プログラムをするときは、結局、
ということになります。
具体的なプログラム法は、次回にまわします。
ポチッとやって。ね。ポチッと。
↓
にほんブログ村
ふだんプログラムをしている人にとっては、どうってことはない話ですが、最近MQLを勉強し始めた方にとっては、多少お役に立てるかもしれません。
まず、基本的なロジックを考えましょう。
単純に考えられるのは、
① 日本時間の土曜日のクローズ時刻直前の一定時刻になったら、現有ポジションを決済する。
② その直後にEA自体の稼動を停止する。
③ 日本時間の月曜日の早朝にEAを再稼動する。
しかし、これだとちょっと問題が…
まず、②や③ですが、プログラム的には可能かも知れませんが、バックテストで思惑通りになるかどうかという問題があります(やったことがないので分かりません)。また、①については、その一定時刻に通信トラブルなどが発生した場合に、ちょっと怖いですよね。
なので、
① 日本時間の土曜日のクローズ時刻よりかなり前の一定時刻から決済プログラムを発動しつづける。
② 現有ポジションが決済されたら、その後、日本時間の月曜日の朝まで注文関数を呼び出さない。
③ 日本時間の月曜日の朝になったら、通常のプログラムにもどす。
というのがよいでしょう。
早速プログラミングに入る前に、
足し算や引き算の苦手な方は、いつもこんな表を用意しておくと便利です。
上の表の青い部分を当日とすると、黄色の部分は前日になることにご注意!
人によって考え方はまちまちですが、私の場合、
① 日本時間の土曜日午前1時になったら、決済プログラムを発動しつづける。
② 現有ポジションが決済されたら、その後、日本時間の月曜日午前9時まで注文関数を呼び出さない。
③ 日本時間の月曜日午前9時になったら、通常のプログラムにもどす。
としています(上の表の赤枠部分参照)。②③で、午前9時としたのは、月曜日早朝の「窓開け」現象による混乱を考慮して、スタートを少し遅らせているわけです。
サーバーの時間帯が仮にGMTだとすると、プログラムをするときは、結局、
① 金曜日の16時になったら、決済プログラムを発動しつづける。
② 現有ポジションが決済されたら、その後、日曜日の23時代が終了するまで注文関数を呼び出さない。
③ 日曜日の23時代が終了したら、通常のプログラムにもどす。
ということになります。
具体的なプログラム法は、次回にまわします。
ポチッとやって。ね。ポチッと。
↓
にほんブログ村
by xchsshzo
| 2012-06-01 12:05
| メタトレーダー