システム&チャートチェックによるトレード
EDR
スポンサーサイト
--年 --月 --日 (--) --:-- | 編集
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
株探検Tips 3:拡張キットをXML Notepadで書く
2006年 11月 19日 (日) 22:03 | 編集
久しぶりの更新ですが。更新を休んでいる間もいろんなものを作っていました。順を追って発表していきたいと思います。一方、株取引のほうは、8月に結構勝った後は、少しずつ削られている感じでやられています。今後も、取引の方は書いていきたいと思います。
で今日は株探検Tipsの3回目。

株探検Tips 3:拡張キットをXML Notepadで書く
株探検のキット作成の中で、インジケータ構造のxml化というのは、私の一番苦手な作業です。いろいろ勉強するとxmlというのは、データ構造を作るうえで、この上ないすばらしい技術であるということは、よくわかるのですが、それはそれ。書いていて目のチカチカする感じは、とても嫌なもんですね。そこで私はこんなソフトを使ってxmlの編集を行っています。

XML Notepad 2006 Download

 とりあえず、私が使っているインジケータキットのテンプレートを読み込ませると、WS000000.jpg

こんな感じになります。
要素や属性が色分けされていて、エラーのチェックもしてくれて、タグも打ち込まなくていいという、私のように、xml嫌いにはもってこいのツールです。他にも数種類フリーでもxml編集ツールがありますので、自分に合った、ツールを探してみるのもいいかもしれません。私が使っているテンプレートをアップしておきます。よかったら使ってください。
Indicator_Template

 使い方は、今書いてある行のところを、適した型で書き直して、<Indicator>や<Group>など、複数要素が入る場合は、その分要素全体をコピーして使って下さい。
 書く内容の説明は、入れてありますので、わかるとは思うのですが、わかりにくい方は、自分のファイルやbundleされているファイルを読み込んで確認してみるといいのではないでしょうか。
 人にもよるとは思うのですが、xml苦手だなと思う人は試してみて下さい。

スポンサーサイト
8/1~8/7までのトレード
2006年 08月 07日 (月) 23:50 | 編集
ちーっす
先週は非常に調子よく
7/31 8585オリコ@284買い→297売り
   5541太平洋金属@795買い→@834売り
8/1  5541太平洋金属@734買い→@749売り
8056日本ユニシス@1916買い→@1951売り
8/2  5541太平洋金属@873買い→865売り(アホ調子に乗りすぎました)
8/4  1332日本水産 @602買い→644売り

ということで、建玉は現物枠以下でやっていたので、それほどではありませんでしたが、枠の10%以上頂いて、6月の失態分を取り戻しました。今は総合警備の売り玉@2000を少しだけ持っています。(失敗かも)売買代金が入るまでは、このままちんたら行きます。株探検tipsの方も書きたいことはいろいろあるのですが、纏め方が難しく苦労しています。まあ見ている人もほとんどいないでしょうから、のんびりと行きます。ま、ほんとうのこと言うと、最近の怒涛のバージョンアップでいろいろ試すのが楽しくて、そっちに気がいっているというのが本当のところですが。
7/14~7/31までのトレード
2006年 07月 31日 (月) 19:58 | 編集
記録を見ると
7/14~7/19までは楽天証券への口座変更のため、取引なし。7/20にりそなの売りに手を出して、撃沈。-1%その週も冴えず。ま、一応サインどおりの正しい(ルールを破っていないと言う意味で)売買ですから、いいのですが。
 そして、7/28に
5541 太平洋金属を @795で買い
8585 オリコを @287で買い

で今日運良く利確でき、久々に1日で5%超の利を確定しました。ここから連勝といきたいところですが、指数も15710超えまでは、難しい状況だと思いますので、もう少しチンタラモードでいこうかと思います。せっかく仕事をしているんですから、いい時までやらなきゃ良いんだけどねー。何度も言うが、それが一番難しい。
7/4~7/14までのトレード
2006年 07月 15日 (土) 03:22 | 編集
 7/4の1332日水は7/5に@583で利益確定。欲張らずに少しずつ、食っていこうと思います。その後は、今日まで取引なし。逆指値しても、ザラ場の値動きが大きいので、上手くロスカットラインが設定できず、いいものがあっても見送ってしまっています。大きく動いているのもあるんだけどね。
 1332日水は7/19に@580以上で買います。その前に大きく動くなら、@600超えで仕掛け。
日経はいよいよやばいところまで来ていて、7/19~24の期間に@14800を切って持続するようだと、本当に@12300とかあるかもしれませんね。私はこの辺を切ったら、本格的に売りに回ろうと思います。なーんて、売りは下手だけどね。
 ここんところ、仕事の勉強が忙しくてチャートをあまり見ていない。相場もこんなだし、ちょうどいいかな。本当に@12300なんてことになったら、日柄的には、7/末~8/始に底付き、基本は見でチャンスを待ちます。
株探検キット作成TIPS:2回目
2006年 07月 10日 (月) 13:12 | 編集
各拡張キットの参照関係のブロック図

各レベルは自分より下のレベルだけ呼べます。

------------------------------------------
| カスタム式 |
| ------------------------------ |
| | エクスプレッションキット | |
|------------------------------- | |
| インジケータキット | | |
|----------------------------------------|
| ライブラリキット(func,cs) |
------------------------------------------

具体的には

$INDICATOR:カスタム式とエクスプレッションキットで使用可能
$FUNC:ライブラリ以外の全てのキットで使用可能

を使って、各キット内で呼びます。

この他に、同一src内のキットであれがインジケータ、エクスプレッション同士の値も参照
することが、出来ます。下記に例を挙げましょう。例は、短長期移動平均線の2線乖離の
拡張キットの一部です。まずはxmlファイルの方から見てください。必要ないところを省略
しようと思ったのですが、余計わかりにくくなりそうだったので、全部載せました。見難く
なってしまってますが、そこは我慢。
 このキットでは、上のSMAとLMAで長期と短期の移動平均を計算して、その二つの結果を
 使って、次の日の両平均線のクロスポイントや、二線の乖離率を計算しています。
あと、ソースの汚さには自信がありますので、まずいところは、適当かつ勝手に修正して
ください。

<?xml version="1.0" encoding="shift_jis" ?>
<IndicatorKit xmlns="http://www.kabutanken.com/IndicatorKit"
title="移動平均クロスポイント" srcOutput="true"
> <description>バンドルされたインジケータキットです。
</description>
<Group name="SMA" title="短期移動平均" kind="price">
<description>短期の移動平均を算出</description>
<intParam name="shortdays" title="短期本数"
count="2"
default_daily="1,1"
default_weekly="1,1"
default_monthly="1,1">
<description>平均する本数です</description>
<min>0</min>
<max>400</max>
</intParam>
<Indicator name="Sum" title="移動積算" unit=""
count="2"
kind="price"
show=""
buffering="true"
screening="false">
<description>過去数日間の終値の積算です。
移動平均を計算するためのものです。</description>
<useParam>shortdays</useParam>
<intAttribute name="count"/>
<intAttribute name="total"/>
</Indicator>
<Indicator name="SMA" title="移動平均" unit="円"
count="2"
kind="price"
show=""
buffering="false"
screening="true">
<description>過去数日間の終値の平均値です。
</description>
<defaultStyle index="0" lineStyle="solid"
lineWidth="1" color="255,0,0"/>
<defaultStyle index="0" lineStyle="solid"
lineWidth="1" color="255,0,0"/>
<depend>Sum</depend>
</Indicator>
</Group>
<Group name="LMA" title="長期移動平均" kind="price">
<description>長期の移動平均を算出</description>
<intParam name="longdays" title="長期本数"
count="2"
default_daily="25,25"
default_weekly="25,25"
default_monthly="25,25">
<description>平均する本数です</description>
<min>0</min>
<max>400</max>
</intParam>
<Indicator name="Sum" title="移動積算" unit=""
count="2"
kind="price"
show=""
buffering="true"
screening="false">
<description>過去数日間の終値の積算です。
移動平均を計算するためのものです。</description>
<useParam>longdays</useParam>
<intAttribute name="count"/>
<intAttribute name="total"/>
</Indicator>
<Indicator name="LMA" title="移動平均" unit="円"
count="2"
kind="price"
show=""
buffering="false"
screening="true">
<description>過去数日間の終値の平均値です。
</description>
<defaultStyle index="0" lineStyle="solid"
lineWidth="1" color="255,0,0"/>
<defaultStyle index="0" lineStyle="solid"
lineWidth="1" color="255,0,0"/>
<depend>Sum</depend>
</Indicator>
</Group>
<Group name="MACRPOINT" title="移動平均クロスポイント" kind="price">
<description>明日短・長期移動平均線がクロスするポイントです
。</description>

<Indicator name="MACRPOINT" title="移動平均クロスポイント"
unit="円"
count="1"
kind="price"
show="chart,value,parameter"
buffering="false"
screening="true">
<description>過去数日間の終値の平均値です。
</description>
<defaultStyle index="0" lineStyle="solid"
lineWidth="1" color="255,0,0"/>
<depend>SMA.SMA</depend>//←ココ
 SMAを使う宣言をする
<depend>LMA.LMA</depend>//←ココ LMAを使う宣言をする
</Indicator>
</Group>
<Group name="MARate2L" title="2線移動平均乖離率" kind="oscillator">
<description>長期・短期の移動平均の乖離率です。
</description>
<oscillatorCenterAuto/>
<Indicator name="MARate2L" title="2線移動平均乖離率" unit="%"
count="1"
kind="oscillator"
show="chart,value,parameter"
buffering="false"
screening="true">
<description>長期・短期の移動平均の乖離率です。
</description>
<defaultStyle index="0" lineStyle="solid"
lineWidth="1" color="120,34,72"/>
<depend>SMA.SMA</depend>//←ココ
 SMAを使う宣言をする
<depend>LMA.LMA</depend>//←ココ LMAを使う宣言をする。

</Indicator>
</Group>

宣言を行うのはたったこれだけです。こうしておくことによって、srcファイルで、SMA
インジケータの計算結果を使用することが出来ます。
指示の仕方は下記のsrcファイルをみてください。


//#----短期移動平均----バンドルのキットと同じですが、MA.ifuncという関数ファイル
を作ってMA_Calcを計算しています。
$BEGIN SMA Sum Calc
return Lib_Bundle.Sum( Close_ts(),this,0,shortdays );
$END

$BEGIN SMA SMA Calc
$FUNC MA.ifunc
return MA_Calc(Sum);
$END
$BEGIN SMA SMA ValueString
return string.Format( "{0,3}{1}",shortdays,FootTypeString() );
$END
//#----長期移動平均----
$BEGIN LMA Sum Calc
return Lib_Bundle.Sum( Close_ts(),this,0,longdays );
$END

$BEGIN LMA LMA Calc
$FUNC MA.ifunc
return MA_Calc(Sum);
$END
$BEGIN LMA LMA ValueString
return string.Format( "{0,3}{1}",longdays,FootTypeString() );
$END
//#----移動平均クロスポイント----

$BEGIN MACRPOINT MACRPOINT Calc

double mashortvalue;
SMA_SMA.Get(0,&mashortvalue);//←ここでSMAを使う。
SMA.SMAで宣言してSMA_SMAで
呼び出すところは、そういうものだと覚えちゃったほうがいいようです。
EXPRESSIONで呼ぶときはSMA.SMAで呼びます。INDICATOR内での呼び出しのみ
を使います。

double malongvalue;
LMA_LMA.Get(0,&malongvalue);//←ここでLMAを使う
int shortdays=SMA_shortdays;
int longdays=LMA_longdays;

double crpoint;

crpoint = ((shortdays * longdays * (malongvalue - mashortvalue)) -
(shortdays * Close(1 - longdays)) + (longdays * Close(1 - shortdays)))
/ (longdays - shortdays);return crpoint;
$END
$BEGIN MACRPOINT MACRPOINT ValueString
return string.Format( "{0,3}{1}",SMA_shortdays + "-" + LMA_longdays,
FootTypeString() );
$END
//----2線移動平均乖離----
$BEGIN MARate2L MARate2L Calc
double valshort,vallong;
if( !SMA_SMA.Get(0,&valshort) )//←ここでSMAを使う
・・・同上。

return Double.NaN;
if( !LMA_LMA.Get(0,&vallong) )//←ここでLMAを使う
return Double.NaN;
return (valshort-vallong)/vallong*100.0;
$END
$BEGIN MARate2L MARate2L ValueString
return String.Format( "{0,3}{1}",SMA_shortdays + "-" + LMA_longdays,
FootTypeString() );
$END


--------------------------------------------------------------------------------

とこんな感じです。上図に示した、下位の拡張キットから上位の拡張キットを呼び出す時
には、HPで示されたサンプルやバンドルのサンプルで十分に、理解できると思います。
株探検 Ver2.1.15でTA-LIBというテクニカル分析ライブラリ(ソフトウェア開発用ライブ
ラリ)に対応したみたいです。便利なのでしょうが、ざっくり見た感じではとっつきづらい。
C言語のファイルは、見ただけで拒絶反応が出ます。
TA-LIBの詳しいヘルプがあるといいのですが。
6/27~7/6までのトレード
2006年 07月 06日 (木) 13:33 | 編集
6/27
 1332日水逆指値@602買い、@593LCでした。今日こそ来るか!と思ったのですがまた上髭つけて撃沈。今回は正しい売買でしたから良いですけど。じりじりとやられています。今年も半分終わったのですが、ここまでの成績はtotalで+50% 2月、3月で大きく取れた以外は、勝ったり負けたりで全く増えてない。でも、どんな時でも(相場や自分の状態も含めて)勝てるというトレードって間違いだと思っているので、これでいいと思ってます。
下げの初動はまあ、とんとんなら御の字、負けて当たり前ということで、ここからさらに下げるならシナリオも作れるのできっちり取りたいと思うけど。個人的には、まだ整理済んでないと思うんですよね、ここからじりじり揉みながら下がって、テクニカルの過熱感解消しながら、信用残の整理がつけば、本格的な反騰でしょうか。どっちにしても相当時間かかると思いますけど。
 どっちにしても、市場にあまりお金が入っていないんだから、私みたいな下手くそが儲かるわけが無い。逆指値だけきちんと設定して、強いのをやることに集中。こんな時に底を当てても、儲からないですよね。

7/4
 1332を@574で打診買いホールド中。今日時点では@570でLC、@605で利確。@609で追撃を考えています。あとは空売り銘柄の徹底マーク。
株探検キット作成TIPS:1回目
2006年 06月 26日 (月) 19:13 | 編集
 不定期になると思われますが、私がキットを作る時に考えたことや、作者さんに確認して回答もらったこととかを少しづつまとめていこうかと考えています。メールでのやり取り内容に関しては、作者さんのご好意により掲載許可を頂きました。



 1.キットの種類と役割
 まず株式のチャートソフトに期待する作業内容というのは何でしょうか?私にとっては、次のようなものがあります。
1.株価チャート上に好きな線や時系列データを描画する
2.株価と出来高と日付を変数とする、ある割合や数値の時系列データを描画。
3.取引当日やその他の決まった日付(日柄)の特定の値を計算し、抽出。
4.3.を使って、特定の日付における該当銘柄を袖出。
5.4.の条件を使用して、シミュレーションを行う。

と、このくらいでしょうか。

 オメガチャートではこれら全てのことは、数式というもので与えることが出来、キットの製作においても、どのようにキットを作るかということに気を使うことはほとんどありません。式を作ることが出来れば、あとはそのとおりに、株価データを計算する数式をお決まりの書式(xmlを特に意識せずとも書ける)にてソフトに読み込ませれば、いいだけです。オメガチャートの凄いところは、簡単なアプローチで、ほとんどの演算が出来るというところにあると思います。大きな仕様で言えば、演算結果=時系列データの一部ということが、ソフトの内部に埋め込まれてて、ユーザーには一切それを意識させない(型としてはもちろん意識する必要がありますが)という作りが多くの人々の心を掴んだのだと思います。
 但し、私個人的には、オメガチャートを使い込んでいくうちに、内部に埋め込まれているところにアクセスしたいと考えるようになりました。しかし、ソースを見たところで、基本が全く無い私のようなシロウトには、複雑な構造を理解することも出来ないし、それをやるにはかなりの勉強をする必要があり、現実的には、実現不可能です。

 一方株探検の拡張キットというのは、オメガチャートのそれと違って、数式を与えて、値や判断を行うのみでなく、具体的な処理を指示して、繰り返し処理を行ったり複雑な分岐を処理したり、元々のプログラミング言語が持っている豊富な計算・処理関数を使った、高度な計算機能をユーザーレベルで使用出来るという事が、最大の特長です。しかし、これは反面、キットの書き方が難しくなり、キットの中身も複雑化しメンテナンスも煩雑になるという短所を併せ持っています。
 しかし、オメガチャートのソースを触るよりは格段に敷居は低く、少しの勉強で、オメガチャートの拡張キットでは出来ないことや処理が遅くなってしまうことが、実現可能です。
 ただ、敷居が低いとは言っても、株探検では、出来る事が増える分だけ手間が増えます。特に作り始めは何から手をつけていいのかすら、わからない状態になります。
 一回目の今日は、まず、式や条件を考えたら、それらをどのような種類のキットでどのように解決していくのかについて、考えの助けとなるようなことを書いてみたいと思います。まずキットの種類と主な役割を知ることにしましょう。私の理解している範囲でご紹介します。
・拡張キットの種類と役割(上位から順に)
 (1)ライブラリキット:汎用的な計算を、C#プログラム(またはそれに準じた)によっ て、与えられたパラメータを使って数値を計算したり、判断式の判定等を行い、
他のキットからそれを呼び出せるように纏めるためのキット。大きく分けると二種類ある。
①XXXXXX.cs のファイル名で基本ライブラリを作成:ほぼ純粋なC#コードで書く必要がある。株探検で準備されている全ての特殊関数は使用不可となる。
まあ、違うかもしれませんが、ソースコード直すのと同じくらい敷居が高いと思われます。特にC#なんか触ったこともない、私レベルの人間が使いこなすには結構な勉強が必要になるかと思います。作者さんからもこのレベルのライブラリはトウシロが無理して作る必要は無いでしょうという見解を頂いてます。
②XXXXXX.ifunc,efuncのファイル名で関数を作成:私位のスキルだと、このFUNCキットを必要に応じて作成していくのが最適なライブラリ化になると思います。基本の関数群(Close,Max等)は全部使えますし、インジケータ以下の拡張キットで全て呼び出すことが出来ます。
 ということで、まずは②でライブラリを作れるようになりましょう。繰り返し使えそうな処理があれば、そこだけ抜き出して先に書いてしまえば、後が楽です。
(2)インジケータキット:チャート検証の基本となる、時系列データを作成すると考えれば、理解しやすいと思います。基本的にはxmlファイルとsrcファイルの二つから生成されており、それぞれの役割は下記の通りです。
  ①.xmlファイル:インジケータの構造を定義する。
   ・入力パラメータの種類、型、デフォルト値、説明、最大最小値の設定等を行う。書式は、indicator_bundle.xml等を確認すれば、すぐに書けるようになると思います。
   ・インジケータの名前、単位、数、描画の位置、使用パラメータ・式の定義の設定等を行う。他にまだあるのかもしれませんが、とりあえず私が、現在のマニュアルやサンプルからつかんでいるのはこんなところです。
  ②.srcファイル:インジケータの時系列式を定義する。xmlパラメータや本数、4本値、出来高、信用残等の各種時系列データを利用して、演算を行いその結果に基づく時系列の計算結果を導くことが出来る。式は必ずdouble型となり、時間(本数)の変化によって、値が変化する式となるのが普通である。ここで演算された結果は、エクスプレッションやカスタム式において、値の参照が可能である。また、同一.srcファイル内に収めれば、インジケータでの参照も可能となる。つまり、ほとんどの時系列関数はここで定義しておくと後々、キットの作成やメンテナンス、相関関係の把握等が楽になると考えられます。
 私は個人的には、絶対に、インジケータの表示のためのパラメータとして、使わないというもの以外は、時系列はインジケータで作成した方がいいと考えています。
(3)エクスプレッションキット:内容は基本的にインジケータと同じ、但し下記の制限がある。
①図形の描画等が出来ない。
②インジケータへの参照は出来ない。
 これらだけがインジケータと違う点である。基本的な使い方としては、UI上で頻繁に数値を変えて検証する場合などに、キットとしてまとめておけば、有効な使い方が出来ると思う。しかし、インジケータの項で書いたような理由から、基本はインジケータで作成することが望ましいと考える。

(4)カスタム式:主に二つの計算結果を返す。
①ブール値(真偽判定):ライブラリ、インジケータ、エクスプレッションで作成した数値の比較、演算、条件判定などのアルゴリズムに合致したものをtrue、しないものをfalseとして、結果を返す。スクリーニング・バックテストのentry・exitシグナルとして機能する。
②ランキング(数値):スクリーニング時に、実数を演算させて、スクリーニング結果に付帯して抽出できる。主に、entry・exitシグナル以外の条件を一覧させたり、式の挙動がおかしい時のバグ取り

 大きくはこの二つの計算結果から、スクリーニングとバックテストのentry・exitシグナルを出すのが、カスタム式の目的であります。

以上前置きがとても、長くなってしまいましたが、取り敢えずは概要です。次回は各キットの参照関係や構造についてもう少し掘り下げていきたいと思っています。
6/23取引なし
2006年 06月 23日 (金) 12:49 | 編集
 全面安 -200ですか。切り返しの形としては、下値切り上げながら徐々に上がってきているので、短期的には買いでも入れると思います。ただ、タイミングがとても難しい。上げても続かないし、突然急騰するし、2,3日安心して建てられるポジションは私は、見つけきれてないです。上手い人やプロの人達はそんな中でも、稼ぐのでしょうが。なかなか難しい。
 1332日水は出来高まずまずな水準のため、逆指値@602買い、@595LC、@622利確で注文出しました、来て欲しいです。頼むよ。
 あとは8308りそなを売るかどうか迷った挙句やめ。@343000~333000あたりを動きそうだと思うのですが、全体的に出来高無いですから、半分休みモードで行きます。
6/21~22のトレード
2006年 06月 22日 (木) 19:46 | 編集
 ちょっと前から狙っていた1332日水を打診買い。@580抜け狙い、LC@569、利益確定@594の設定で、仕掛けました。出来高見てたので、結局6/21は@583で上ひげのてっぺんで買ってしまいました。てへ。
 で、今日はアメ大幅高を受けて、無事利益確定となりました。次は@600抜けたらタイトなロスカット設定で、大きくいきます。
あとは売り候補で
8308りそな
5481山陽特殊
を狙ってます。玉は少なめで。売買代金が少なく、少しの金で株価が大きく動きすぎているような気がします。つまり、リスクは高いと。基本はまだお休みで、大勢参入してからが勝負ですかね。
6/16のトレードと今週
2006年 06月 20日 (火) 12:50 | 編集
6/16は全面高。この日も寄り高く、寄り後は手が出ません。利益確定の日
7007佐世保 @272で利益確定 +10
6486イーグル @1270で利益確定 +24
こんな日にしょぼかったです。

先週はりそなの空売りの損失と買い玉の利益でほぼちゃらと言う形に。やっぱり儲からないので、もう少し休んで、研究や他の仕事に没頭したほうがよさそうだ。でも、張ってないと、なかなかトレードに入っていけず、上達しないのも事実。ここらへんが難しい。

6/19以降は取引なし。ここは空売りがいいのか、判断が難しい。足的には、空売り出来そうなのは、いっぱいあってなおさら難しい。ただ、基調は下げみたいですので、やるなら売りを追いかけてみたい。でも出来高の細りをみると、入りにくいです。とにかくチャートチェックを入念にして、備えておきたい。
copyright (C) EDR all rights reserved.
designed by polepole...

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