システムトレードブログ

イザナミ+リアルタイム株価対応戦略を作る(4)

トレシズ自動売買の開発方法

さっきからプログラムを作成しておりましたが、

…意外とあっさり完成してしまいました苦笑

現在バグを確認しておりますが、

取り急ぎソースコードを掲載させていただきます。

なお、このソースコードはトレジスタ・ストラテジーオンラインに依頼の上、

ユーザー様にご自由にお使いいただけるようにさせていただく予定で考えております汗

なお、プログラムとしましては、汎用性を考えてPHPを使用しております。

なお、エンコードはUTF-8を想定しています。(専門的な内容なので、分からない方は流してください苦笑)

■構成
import.htmlとoutput.phpを同一ディレクトリに配置

■import.htmlに記述(エンコード: UTF-8)








タワーリアルタイム株価CSV






■output.phpに記述(エンコード: UTF-8)




$today = date("Y/m/d")

print mb_convert_encoding(,銘柄,市場,,,始値,高値,安値,終値,出来高, "SJIS", "UTF-8")."\n"

$fh = fopen($_FILES[tower_data][tmp_name], "r")

$line = 0
while($DATA = fgetcsv($fh, 2000, ",")){

// 四本値がない場合には無視する
if(!$DATA[3] || !$DATA[4] || !$DATA[5] || !$DATA[6]){
$line++
continue
}

$shijo = t
$meigara = $DATA[0]
$shijo_num = $DATA[1]
$hajimene = sprintf("%.1f", $DATA[3])
$takane = sprintf("%.1f", $DATA[4])
$yasune = sprintf("%.1f", $DATA[5])
$owarine = sprintf("%.1f", $DATA[6])
$ymd = $DATA[7]
$dekidaka = $DATA[10]

// 今日の株価が存在しない場合には無視する
if($ymd != $today){
$line++
continue
}

// 複数市場同時上場の場合、出来高が大きい市場を優先
if(
($meigara == $DATA[$line+1][0] && $dekidaka < $DATA[$line+1][10])
|| ($meigara == $DATA[$line+2][0] && $dekidaka < $DATA[$line+2][10])
|| ($meigara == $DATA[$line+3][0] && $dekidaka < $DATA[$line+3][10])
|| ($meigara == $DATA[$line+4][0] && $dekidaka < $DATA[$line+4][10])
|| ($meigara == $DATA[$line+5][0] && $dekidaka < $DATA[$line+5][10])
){
$line++
continue
}

// 銘柄番号が1001の場合は1000に変更(日経平均)
if($meigara == 1001){
$meigara = 1000
}

// 銘柄番号が1002の場合は1001に変更(TOPIX)
if($meigara == 1002){
$meigara = 1001
}

// 銘柄番号が1003の場合は1002に変更(ジャスダックインデックス)
if($meigara == 1003){
$meigara = 1002
}

// 市場番号が512の場合はJASDAQに変更
if($shijo_num == 512){
$shijo = q
}

print << ,$meigara,$shijo,,,$hajimene,$takane,$yasune,$owarine,$dekidaka\n
EOF
$line++
}

fclose($fh)

exit
}

?>

■イザナミへのインポート方法
イザナミを起動した直後のお知らせ画面で、
左上「ファイル」→株価データの仮想インストール→今回変換したtower.csvを選択し、設定は何もいじらずにOK

※よくよく見ますと、

// 複数市場同時上場の場合、出来高が大きい市場を優先
if(
($meigara == $DATA[$line+1][0] && $dekidaka < $DATA[$line+1][10])
|| ($meigara == $DATA[$line+2][0] && $dekidaka < $DATA[$line+2][10])
|| ($meigara == $DATA[$line+3][0] && $dekidaka < $DATA[$line+3][10])
|| ($meigara == $DATA[$line+4][0] && $dekidaka < $DATA[$line+4][10])
|| ($meigara == $DATA[$line+5][0] && $dekidaka < $DATA[$line+5][10])
){
$line++
continue
}

がミスでした汗 後日修正させていただきます。

トレシズの「自動売買の開発方法」の記事

前々記事:イザナミ+リアルタイム株価対応戦略を作る(2)
前の記事:イザナミ+リアルタイム株価対応戦略を作る(3)
今の記事:イザナミ+リアルタイム株価対応戦略を作る(4)
次の記事:イザナミ+リアルタイム株価対応戦略を作る(5)
次々記事:現在の分足の手法(1)

コメント
コメントはありません。

コメント投稿・削除フォームを非表示にする

コメントを投稿
ステータス
一般
※会員/購入者の方の場合、パスワードは会員/購入者ログインした場合省略可能です。
※ブログの投稿者の場合、パスワードは販売者ログインした場合省略可能です。
ハンドルネーム

※本名は書かないでください。未入力の場合には「匿名」になります。
※販売者本人として投稿する場合には販売者ログインしてください。
コメント 必須

※タグ・半角記号は使用できません。
メールアドレス

※ご入力いただいたメールアドレスはブログ投稿者のみ閲覧可能です。メールアドレスは一般公開されません。
削除用パスワード 必須

※半角英数8~16文字・忘れやすいためメモ推奨です。パスワードは一般公開されません。
削除用パスワード(確認用) 必須

※確認のため同じパスワードを入力してください。
ブログ投稿者のみに送信
ブログ投稿者のみに送信
※チェックを入れた場合、ブログ投稿者のみコメントを閲覧可能です。
チェックを入れた場合、コメントは一般公開されません。
その他留意事項
※コメントはブログ投稿者または管理者の承認後の掲載となりますのであらかじめご了承ください。
※公序良俗に反するコメント、その他不適切と判断されたコメントは予告なく削除いたしますのであらかじめご了承ください。また、不適切なコメントを繰り返す方の投稿を制限させていただく場合がありますのであらかじめご了承ください。
コメントを削除
削除対象のコメントID 必須

※削除対象のコメントID(各コメント左上の数字)を入力してください。
パスワード 必須

※半角英数8~16文字
おすすめ記事

イザナミ+リアルタイム株価対応戦略を作る(3)

次は、イザナミに仮想インポートする際のフォーマットの確認です。TOPIX主要100銘柄…

株の自動売買ツールを作る(1)

かなり実験的な試みですが、自動売買ツールを作るまでの過程をブログに書かせていた…

> このページのURLをPCメールアドレスに送る