自前でTrix 挑戦編
2014/05/17 22:23:11
Shock!!
ここんとこnicoのアニメチャンネルなんか見てなかったしそういやジョジョ3部もうやってんのかなーと覗いてみたら、とっくに6話終了してるじゃないですか! 久々にゴリッと凹んだわー。とりあえず無料公開の1話は見た。ジョセフ思ったよりごつい。頭ん中だと4部以降のイメージが強いのかしら。
町田さんスタンドデザインまでやってるし。スタンドて表現的に大変そうなとこね。逆にモヤッとさせちゃえて楽なんだろか。ともあれ7話以降は見よう。
今日は医療事務っぽいことをしに臨時出勤。先月からやっておるが月イチなのでこまい部分がよう覚えられん。印刷の流れは大体把握。そのあとが問題だ。ぼちぼちやれるようにならねば。つっても月イチなんだよなァ。

色々調整した結果。このシステムはここらが終着点かなー。
こやつがおとといはじめて仕事をしてくれ、910円の収益ヽ(゚-゚)ノ。
白い○で囲った部分で完結している。ポジション持ってたのは小一時間の間。基本大きな動きがあったあとの逆張りなので直前の下落とかガン無視ね。あと同じ日に久々裁量トレードして2000円ちょいプラス。なんだけどなるべくならEAに任せたいね。
今は自前でTrix算出のため足がかりとしてEMA算出を自前でがんばり中。iMA()使ってもいいけどなんとなく動作重そうだし自前計算のが身につきそう。
以下は復習と確認の自分用。正しくなくても、知らん!
・1本目のEMAは前日の値がないので使用する期間ぶんのSMAとする
使用する期間(=バー=ローソク足本数)を5本として、算出開始地点を1本目、そこから過去の4本を加えて使用期間で割る
・以降のEMAは直前のEMAと現在の価格を使用して算出
期間5の場合、結論からいうと 直前EMAの2/3 + 現在バーのCloseの1/3 となる。
現在バーってのはもちろん今動いてる相場の現在じゃなくて、算出に用いる現在位置。上のSMAを出した基準位置となるSTART_CALCの次のバーでclose[START_CALC - 1]のこと。close[0]が今動いてる、まだクローズしてないであろうはずの相場の位置ね。
話を戻そう。
算出式:
直前のEMA * (1 - 平滑化定数) + 現在バーのClose * 平滑化定数
直前のEMA + 平滑化定数 * (現在バーのClose - 直前のEMA)
平滑化定数は、2 / (使用する期間 + 1)らしい。期間5だと0.33333...となり、積算する対象が1/3となる。1 - 0.33333 = 0.66666...なので積算対象を2/3とする。
直前EMA * 0.66666... = 直前EMAの2/3
現在バーのClose * 0.33333... = 現在バーのCloseの1/3 となり最初に出した結論と一致。
上の算出式とは別所で拝見した大元の式から進行すると以下のようになる。結果は同じ。
直前EMA * ( (使用期間 + 1 - 2) / (使用期間 + 1) ) + 現在バーのClose * (2 / (使用期間 + 1) )
= 直前EMA * ( 4 / 6 ) + 現在バーのClose * ( 2 / 6 )
= 直前EMA * 0.66666... + 現在バーのClose * 0.33333... = 現在バーのEMA
アホなもんで平滑化定数部分でこんがらがるし便宜上増やしたカッコで余計わかりづらし。
まー平滑化定数の核である使用期間によって直前EMAと現在バーCloseを何分の一にするかが決定されるわけだね。
でーTrixのめんどくさいのが、この平滑化を3度やらねばならぬらしいってことだ。でもってその最終的なEMA、fEMAを用いて前の位置(バー)と現在の位置で乖離率を算出する。
(現fEMA - 前fEMA) / 前fEMA * 100
コレがTrixの数値となる、らしい。
処理が重くなるんで50~100本前あたりから始めたら充分でしょう。
あぁあとMetaEditorの勝手に半角スペース入れる機能、オプションで消せるのね。消してタブでブロック分けしたほうが昔やってた環境に似て格段に快適。
ここんとこnicoのアニメチャンネルなんか見てなかったしそういやジョジョ3部もうやってんのかなーと覗いてみたら、とっくに6話終了してるじゃないですか! 久々にゴリッと凹んだわー。とりあえず無料公開の1話は見た。ジョセフ思ったよりごつい。頭ん中だと4部以降のイメージが強いのかしら。
町田さんスタンドデザインまでやってるし。スタンドて表現的に大変そうなとこね。逆にモヤッとさせちゃえて楽なんだろか。ともあれ7話以降は見よう。
今日は医療事務っぽいことをしに臨時出勤。先月からやっておるが月イチなのでこまい部分がよう覚えられん。印刷の流れは大体把握。そのあとが問題だ。ぼちぼちやれるようにならねば。つっても月イチなんだよなァ。
色々調整した結果。このシステムはここらが終着点かなー。
こやつがおとといはじめて仕事をしてくれ、910円の収益ヽ(゚-゚)ノ。
白い○で囲った部分で完結している。ポジション持ってたのは小一時間の間。基本大きな動きがあったあとの逆張りなので直前の下落とかガン無視ね。あと同じ日に久々裁量トレードして2000円ちょいプラス。なんだけどなるべくならEAに任せたいね。
今は自前でTrix算出のため足がかりとしてEMA算出を自前でがんばり中。iMA()使ってもいいけどなんとなく動作重そうだし自前計算のが身につきそう。
以下は復習と確認の自分用。正しくなくても、知らん!
・1本目のEMAは前日の値がないので使用する期間ぶんのSMAとする
使用する期間(=バー=ローソク足本数)を5本として、算出開始地点を1本目、そこから過去の4本を加えて使用期間で割る
dEMA[0] = (close[START_CALC] + close[START_CALC + 1] +てな感じか
close[START_CALC + 2] + close[START_CALC + 3] +
close[START_CALC + 4]) / MA_Period;
・以降のEMAは直前のEMAと現在の価格を使用して算出
期間5の場合、結論からいうと 直前EMAの2/3 + 現在バーのCloseの1/3 となる。
現在バーってのはもちろん今動いてる相場の現在じゃなくて、算出に用いる現在位置。上のSMAを出した基準位置となるSTART_CALCの次のバーでclose[START_CALC - 1]のこと。close[0]が今動いてる、まだクローズしてないであろうはずの相場の位置ね。
話を戻そう。
算出式:
直前のEMA * (1 - 平滑化定数) + 現在バーのClose * 平滑化定数
直前のEMA + 平滑化定数 * (現在バーのClose - 直前のEMA)
平滑化定数は、2 / (使用する期間 + 1)らしい。期間5だと0.33333...となり、積算する対象が1/3となる。1 - 0.33333 = 0.66666...なので積算対象を2/3とする。
直前EMA * 0.66666... = 直前EMAの2/3
現在バーのClose * 0.33333... = 現在バーのCloseの1/3 となり最初に出した結論と一致。
上の算出式とは別所で拝見した大元の式から進行すると以下のようになる。結果は同じ。
直前EMA * ( (使用期間 + 1 - 2) / (使用期間 + 1) ) + 現在バーのClose * (2 / (使用期間 + 1) )
= 直前EMA * ( 4 / 6 ) + 現在バーのClose * ( 2 / 6 )
= 直前EMA * 0.66666... + 現在バーのClose * 0.33333... = 現在バーのEMA
アホなもんで平滑化定数部分でこんがらがるし便宜上増やしたカッコで余計わかりづらし。
まー平滑化定数の核である使用期間によって直前EMAと現在バーCloseを何分の一にするかが決定されるわけだね。
でーTrixのめんどくさいのが、この平滑化を3度やらねばならぬらしいってことだ。でもってその最終的なEMA、fEMAを用いて前の位置(バー)と現在の位置で乖離率を算出する。
(現fEMA - 前fEMA) / 前fEMA * 100
コレがTrixの数値となる、らしい。
処理が重くなるんで50~100本前あたりから始めたら充分でしょう。
あぁあとMetaEditorの勝手に半角スペース入れる機能、オプションで消せるのね。消してタブでブロック分けしたほうが昔やってた環境に似て格段に快適。
PR
EZ DO DANCEが流れる盆踊り会場
2014/05/14 02:36:47
うーん、難しいもんですな。
例の売買条件(フィルタというらしい)を強めにした状態でまた最適化をかけ、プロフィットファクターやらドローダウンやらの意味を知り、バランスとりつつチューニングするうちこんな感じに。
ロングは勝ちづらい。なのでショートのフィルタをゆるめに取引数増やす。
相対ドローダウンは別のチューニングで16%台まで落とせたんだけど、そっちのがいいかしらん。いいような気がする。でもそっち不思議ロジックつことるからできればうーんなんだよね。
カーブフィッティングはきっとある。取引数少ないもんね。んでも1年単位で各年バックテストしてみたらほぼほぼプラスだったし、そこまで大きくこけることもなかろうというわけでまずは動かしてみようじゃないか。
続・EA開発記
2014/05/11 15:18:08
こないだ歯ブラシに洗顔フォーム出しちって、疲れてんなーと思いました。こんにちは。

(上)先日の損切りルーチンのおかげで、新規売買条件をゆるーくした状態の勝率も多少上がり損益アップ。そんでも他のティック精度で動かした際の不整合チャートエラー回避のため期間を2005年5月1日から今年5月1日までに若干短縮してる。
(中)先日のっけたレポートとおんなじ新規売買条件でふるいをかけた状態。連勝数から勝率の差がよくわかる。
(下)それとはまた別の新規売買条件でふるいをかけた状態。さらにタイトな勝負で勝率8割超えだがトレード数は年間平均100台に減る。でも勝ち最大は大幅ダウンのうえ大きな負けも減らず。
豊かな資本さえあれば(下)の設定がええんじゃろのう。
しかし新規売買条件以外変えないでコレだもんで、各条件づけごとに最適化してやればもすこしよくなるかもだしよくならないかも。
このEA、MACDを基幹として作成してる。
そろそろ根本を変えてtrixを使ったやつとか考えたいが正直それほど変わるもんかどーかである。
あとTimeは[0]が現在のバー(足)の開始時間なので

現在のセンダン。良好です。

モリンガさんの新芽はまだこんなもん。

ギョウジャニンニクのつぼみがふくらんできよった。種で増やしたい。
あと鳥にやられたのか台風の影響かはたまた根腐れしてたのか、パイナップルミントの鉢のはじっこの土が荒れてんなーとおもたら地上部が滅んでた。新芽出てたんだけどポレッと取れた。助けてタハマタ! まあ実際問題たいして使ってなかったからいいんですけどね。
(上)先日の損切りルーチンのおかげで、新規売買条件をゆるーくした状態の勝率も多少上がり損益アップ。そんでも他のティック精度で動かした際の不整合チャートエラー回避のため期間を2005年5月1日から今年5月1日までに若干短縮してる。
(中)先日のっけたレポートとおんなじ新規売買条件でふるいをかけた状態。連勝数から勝率の差がよくわかる。
(下)それとはまた別の新規売買条件でふるいをかけた状態。さらにタイトな勝負で勝率8割超えだがトレード数は年間平均100台に減る。でも勝ち最大は大幅ダウンのうえ大きな負けも減らず。
豊かな資本さえあれば(下)の設定がええんじゃろのう。
しかし新規売買条件以外変えないでコレだもんで、各条件づけごとに最適化してやればもすこしよくなるかもだしよくならないかも。
このEA、MACDを基幹として作成してる。
そろそろ根本を変えてtrixを使ったやつとか考えたいが正直それほど変わるもんかどーかである。
あとTimeは[0]が現在のバー(足)の開始時間なので
if( tTime != Time[0] )とすれば確実にバーが進んだときだけ処理できるっぽい。tTimeはstatic定義し値を保存しとけばok. Time[]もOpen[]などと同じくチャートの時間足での値らしい、つまり5分足のチャート上では5分間隔のバーがはじまった時間、日足チャート上なら1日間隔のバーがはじまった時間でバックテストのティック精度で変わることもなさそう。そのへんでうちがうまくいかなかったのは不整合チャートエラーのせいだった。わはは。
{
...// your need process
tTime = Time[0];
}
現在のセンダン。良好です。
モリンガさんの新芽はまだこんなもん。
ギョウジャニンニクのつぼみがふくらんできよった。種で増やしたい。
あと鳥にやられたのか台風の影響かはたまた根腐れしてたのか、パイナップルミントの鉢のはじっこの土が荒れてんなーとおもたら地上部が滅んでた。新芽出てたんだけどポレッと取れた。助けてタハマタ! まあ実際問題たいして使ってなかったからいいんですけどね。
