スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

セミオートEA、DIV21(DailyImpactV21)改良中!

リアル運用してきたセミオートEA「DailyImpactV21」に関して、改善すべき点がある程度たまったので、現在まとめて改良している。

★機能面での改良項目
1.逆指し値注文がすでに発注済みの状態で、ユーザが必要に応じてパラメータを再設定した場合、新しいパラメータでOP(オープン価格)、SL(損切り)、TP(利食い)、Expiration(未約定での有効期限)を再計算して、注文が更新されるようにする。

2.指標発表等により逆指し値注文がすでに約定済みの状態で、ユーザが必要に応じてSL、TP、TS(トレーリング・ストップ)幅を変更した場合、約定したポジションに対して新しいパラメータでのSL、TP、TS値を再計算して、ポジションが更新されるようにする。

3.[started/gap]が発生して約定した場合、関知して、SL、TP値をOP値から再計算、再設定を自動的に行えるようにする。[started/gap]が発生した場合に、SL値がそのままであると反対方向に動いた場合想定外の損失を被り、TP値がそのままであると想定外に小さい利益しか得られないことになるためである。

4.3に付随して、ギャップ発生に対し損失限定のためにSL値の再設定を望むが、TP値は初期の想定通りで早めに撤退したい場合等が考えられるので、ギャップ関知による自動再設定機能は、SL、TPのそれぞれに対してON/OFFできるようにする。

5.仕掛け位置を決める際のスプレッドに関して、逆指し値注文の発注時だけ考慮する簡便な方法をとっていたが、ブレイクアウト期間の最中かその前から、本EAが稼働中であればスプレッドをモニタできるので、その結果を採用し、ブレイク・アウト期間全体のモニタ結果が得られない場合は、過去のバーとの両方を採用して、ブレイクアウト・ラインを決定するようにする。

★進捗
注文処理、注文管理を強化したライブラリがおおよそ完成し、他EAでのフォワードテストで十分に動作している。DailyImpactV22以降では、そのライブラリ記述を採用することにし、置き換えが完了したところである。グラフィック・オブジェクトの表示関数が、以前の注文管理情報を参照するなどして、依存する部分があったので、グラフィック・オブジェクト表示系関数の置き換えが必要となっている。

★DIV21のリアル運用を休止
上記改良に集中するため、さらに新たしい完全自動売買EAの開発も推し進めるために、しばらくリアル運用と取引結果の記録をしばらく休止する。特定のトレード手法に対する固執を回避する、冷却期間の意味もある。
スポンサーサイト

theme : FX
genre : 株式・投資・マネー

EAマジック番号の付け方

だんだんと開発EAの注文管理が複雑になってきた。ライブラリを作成している最中でもあり、ここで注文に付加するマジック番号の付け方を明確にして統一しておく。

複数EAを同時に走らせること、注文処理方法を複数混在させたEAを作れること、などから以下のように決める。

FXEAMagicNumberField.gif
なるべく16進数で区切られるようなビット・フィールドとする。
32bitを大きく分けて二つのフィールドからなるようにする。

1.EAId(EA Identifier)
EA毎に異なる固有番号。重なることがないように作成開始の日付をデフォルトとして決める。

2.OMCode(Order Management Code)
EA毎に自発注かどうか、さらに注文処理の方法(ポジション管理など)を識別できるように注文管理コードを格納しておくために使う。


注文管理情報の格納先として、変数またはファイルではPC稼働でのリスクが増大してしまうので、注文とひとまとめにしてサーバに上げておきたいということがあり、マジック番号を利用することに決めている。
なお、注文に付加できるコメントには、EAの実行時ネームを割り当てている。人が口座状況、履歴を見たとき、どのEAによるものか把握するために使用している。


ビット・フィールドの詳細について。
1?1.DCnt(Daily Count)
同年月日に複数のEAを作成開始した場合の識別用途。

1?2.LHM(Later Half Month)
作成開始の日が15日以下の場合'0'、16日以降で'1'

1?3.Date
作成開始の日を16進数で格納。15日以下の場合そのままの数値、16日以降は16を減算した数値。

1?4.Month
作成開始の月を16進数で格納。

1?5.Year
作成開始の年を格納。西暦で2015年まで、下2桁の値を16進数で格納。

2?1.RTN(Run Time Number)
EA実行時番号。同一EAを同一通貨ペアで、パラメータを別にして複数走らせたいときがある。
これにより、同じEAでもそれぞれ自分が発注した注文を識別して動作させることができる。

2?2.OCK(Order Control Kind)
注文操作の種類。一つのEAで複数の注文操作、ポジション管理を混在させたい場合に使う。
EAのstart()関数の記述で、注文操作毎にこの番号を切り替えてライブラリの注文処理関数を呼び出すことで、それぞれの注文操作が混同することなく識別して処理されるようにする。

2?3.OCN(Order Control Number)
注文操作番号。一つのEAで複数の注文を同時に処理したいことがある。ポジション管理の観点から、その注文がどのレベルで出されたものかを判断するなどに使用する。注文処理ロジックの必要に応じて付加する。


また、注文状況の同期関数のデフォルト動作を次のようにする。
・マジック番号で、EAIdとRTN併せてビット・フィールド[19:0]の値が一致し、通貨ペアが現在適用されているチャートと一致する注文を、実行中のEA自身が発注したものとして取得する。

・マジック番号としてOCK、OCNも注文毎に取得済みなので、価格等と同様に注文情報テーブルに格納する。

theme : MT4自動売買
genre : 株式・投資・マネー

手仕舞いと追加ポジション

昨晩、借りた本を読んだところポジションを積み立てるやり方が書いてあった。
その方法があるのは既知だったが、単純に損切り、利食い、トレーリング・ストップを単一のポジションに適用し、手仕舞う方法で、優位性のあるテクニカルを見つけて、それから試してみればよいと思っていた。しかし、思い立って単純にモデル化して手計算してみると発見があった。さらにポジション追加の段階をシフトさせることを思いついた。

上がる確率も下がる確率も1/2、一定のストップ・レベルでの損切りとトレーリング・ストップをモデルとして考える。

1.単一のポジションの場合、トレーリングが3段階進むことがあっても、それ以上進むことがなければ全体として利益が出ない。利食いをその辺りに持ってくることは間違いということになる。

2.トレーリングが1段階進んでからポジション追加をしてゆくと6段階進まないと利益が出ず、それより手前であれば、単一のポジションよりひどい結果になってしまい、やはりリスキーである。

3.2の場合、1と比べて4段階で1回の利益が超えて、6段階で2倍、8段階で3倍、10段階で4倍を超える利益になるが、全体としての利益率は2のリスクが効いていて1より低くなる。

4.ポジションの追加を始める段階をシフトさせてゆくと、低い段階でのリスクを1と同じ程度に近づけてゆくことができ、利益が増大する段階は2より遅れるものの、利益率は2より上げられて1に近づいてゆく。

5.この追加ポジションのモデルでは、損切り、利食い、トレーリング・ストップ値を別々に求めることが無くなり、相場に合わせて変更する主要なパラメータは2つとなる。シフト量の範囲は狭いため、最適化もしやすくなる。

上記は計算ミス、勘違い、前提が間違ってるなどあるかも知れない。
あとはテクニカルによって少しでも優位な位置で仕掛けを開始すること、トレンドが発生して続くとそれが継続し易いこと、などによって利益が上がる段階の確率が高められれば、1の場合よりも利益の向上が計れるのではないかと思われる。

theme : MT4自動売買
genre : 株式・投資・マネー

セミオートEA、DailyImpactV20の問題点

デモ口座にてフォワードテストをしているセミオートEAのDailyImpactV20に関して、いくつか問題があることがわかってきてるので、修正要求項目としてまとめておく。

1.コア・ロジックの問題
1-1. EAを稼働しているPCの時刻で、日付をまたぐ1分前にそれまでにオープンしたポジションを全て決済してしまう。たとえば、指標発表時刻が日本時間で23:00の場合、その後の値動きで約定したポジションが1時間足らずで決済されてしまう。

1-2. トレーリング・ストップ値に0を指定してトレーリング・ストップを無効にし、同値決済時間の方を0以上の値を指定した場合、約定済みポジションに対して、同値決済開始時間から最低ストップ・ロス・レベルでのトレーリング・ストップとして動作してしまう。たとえば、トレーリング・ストップ無効、利食い指定と同値決済有効の作戦でやろうとしても正しく動作しない。

2.画面表示の問題
2-1. その日の指標発表時刻の取引を終えてしばらくすると、"Allow live trading"のチェックをOFFにしていないにも関わらず、右下の時刻表示に"Stop Trade!"が表示され、次の日の指標発表時刻になっても、時刻が表示されないことがある(取引はおこなわれる)。

2-2. ブレイク・アウトの高値水平ラインが逆指し値注文開始位置に近いバーの高値よりも1pip下に表示されてることがあった(バックテストのVisual modeにて)。

2-3. 指標発表時刻間近で1分足などで複数のバーが生成されず欠けた場合、垂直ラインの位置更新の頻度が少ないために、垂直ラインの位置が大きくズレて見える場合があった(バックテストのVisual modeにて)。

2-4. ポジション決済時刻を過ぎると、水平・垂直ラインがすぐに消えてしまう。これは、そのようにプログラムしたことだが、あとで取引結果の反省をするためにしばらく残しておきたいと思う。

2-5. 取引処理をする関数のエラー・メッセージをComment()関数にて上部に表示しているが、一度メッセージが表示されるとメッセージが上書きされない限り、パラメータを変更するなどしてEAを初期化しても表示されっぱなしになる。

今手を付けているEAの作業と平行して、上記問題について修正・改良をしてゆきたい。

theme : MT4自動売買
genre : 株式・投資・マネー

新規EA開発:InflationV10

特性:静かだった値動きが大きく動き出すところを捕まえる。指標発表時のような突発的な値動きも自動的に捉える。過去の上昇/下降は関知しないし予測もしない。
仕掛け、手仕舞いに関するパラメータを直近のボラティリティにより自動的に調整する。

FXEAInflationV10Spec01
1.仕掛けに関して
1-1.成り行きでの発注はしない。
1-2.平滑化ATR値の係数倍を閾値として、逆指し値BBのバンド幅がそれを下回ったら逆指し値の両建て注文で仕掛ける。
1-3.BBバンド幅の変化に応じて逆指し値注文の更新をする。
1-4.BBバンド幅、平滑化ATRの変化に応じて閾値を上回ったら、逆指し値注文をキャンセルする。
1-5.片方の逆指し値注文が約定した場合でも閾値を上回らない限り、もう一方の未約定の逆指し値注文を維持する。
1-6.片方だけ約定済みポジションがある状態でもう一方の逆指し値注文がないとき、閾値を下回ったら、ポジションがない側で逆指し値注文を発注する。ある側では決済も発注もしない。

2.手仕舞いに関して
2-1.逆指し値から平滑化ATRの係数倍隔てた位置を損切り値とし、逆指し値注文時に指定する。
2-2.損切り値とは別の係数で、2-1と同様に利食い値を求め、逆指し値注文時に指定する。
2-3.トレーリング・ストップについての係数も別に用意し、2-1と同様の方法で隔たりを求めて、利益の増加に伴いストップ・ロスを逐次更新する。
2-4.約定済みポジションがあるとき、平滑化ATR値が変化した場合、トレーリング・ストップの幅も変動させる。初期に出した損切り値、利食い値に関しては移動させない。
2-5.約定済みポジションについて、指定の時間が経過したら決済する。

3.その他
3-1.チャート画面例のように囲った部分で仕掛けて、一日複数回の取引が行われることを見込んでいる。
3-2.平滑化ATRのマルチ・タイムフレーム指定により、ボラティリティの変動幅が変化することで、パラメータ調整の振り幅を変える働きがあると考えている。
3-3.ブローカー毎のストップ・ロス・レベルを取得し、そのままの値を逆指し値、S/L値、T/P値の最小幅として適用する。フォワードテストで、うまくゆくかどうか確かめる。
3-4.ラベル等のユーザ向け画面表示は、コア・ロジックの完成を見て、バックテストと最適化の後、EAが有効であると判断できた時に付加してゆく。

theme : MT4自動売買
genre : 株式・投資・マネー

☆当ブログとFX取引に関するご注意☆

もし、当ブログを閲覧、参考にしていただいた上で、FXまたはその他取引に関心を持たれた方は、以下の点にご注意して下さい。

・FX取引(外国為替証拠金取引)は元本や利益が保証された商品ではなく、市場環境の変化や相場の変動により損失が発生する場合があること。

・FXおよびその他取引をする場合は、各種のリスクを理解し、十分に検討し、かつ慎重に行う必要があること。

・当ブログで掲載、紹介している情報は、FXおよびその他取引、投資に関する勧誘、助言等ではないこと。

・当ブログで掲載、紹介している取引手法、ソース・プログラム等を用いた結果、いかなる損害が生じても当方は一切の責任を負わないこと。

投資、取引をされる場合は、必ずご自身の責任で行って下さい。
よろしくお願いいたします。
プロフィール

Dr.ヘパ


Author:Dr.ヘパ

カテゴリ&検索
最新記事
最新コメント
最新トラックバック
RSSリンクの表示
月別アーカイブ
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
つぶやき
★DailyImpact(有償版)★
リアル口座で運用できる有償版
販売開始しました!

ご購入、お申し込み等の詳細については、下記リンク先のブログ右上にショッピング・カート「ブーボーのトレーディングキット工房」へのリンクがありますので、お手数ですがそちらをご参照下さい。

ブーボーの
トレーディングキット

Ⅰ.経済指標トレード向けEA、DailyImpactは、経済指標発表による突発的な値動きを捉えることで、利益を得ることを目指したセミオートEAです。

Ⅱ.経済指標トレードは、「指標トレード」「News Trading(ニューストレード)」とも呼ばれ、最近注目されている手法です。

Ⅲ.経済指標発表によるトレードは、いつ大きく動く可能性があるかわかっているので有利です。

Ⅳ.一方、瞬時に大きな値動きが発生するので、手動での仕掛け、手仕舞いは難しいことが多いです。

Ⅴ.高速に計算・発注可能なEAであるDailyImpactにより、手動よりも素早く、同時に多くの通貨ペアで、しかもその場にいなくても経済指標トレードができます。
★DailyImpact(DL版)★
ダウンロード版
期間限定で試用できます!!

ダウンロード、使用方法の詳細は
以下のブログを参照して下さい。



DailyImpact(ダウンロード版):ブーボーのトレーディングキット

   ☆ブーボーの
トレーディングキット

↓↓↓アンケートにご協力お願いします。↓↓↓
ブログ・ランキング
リンク&ブロとも申請
アクセス・カウンタ
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。