システム構築のためのヒント
システム構築のためのヒント
1. デイトレに損切りは必要か・・・
2. トレイリング・ストップは有効か・・・
3. 曜日特性は偶然か必然か・・・
4. 大損小利から卒業できないのはなぜか・・・
5. 勝率40%と60%の違いを考える!
6. 相反シグナルの重要性を知る!
7. もみあいを科学する!
8. ギャップと『陰陽』の相関関係を考える!~ギャップ新概念
9. 確定利益と変動利益はどちらが有利か!
10. ポジション保有期間と損益の関係とは・・・
11. 分析に『出来高』は必要か・・・
12. 利益を伸ばすための秘策
13. 最大利益10円!とは・・・(ダメポジ判断)
14. 勝率の高いMAクリアーの条件
15. T1とT2とT3・・・
16. 10円けちると総利益が1000円違う
17. 底を付けてから買うのか、底を付ける前に買うのか
18. 陽線・陰線の分かれ目の「決定要因」
19. 組み合わせは「2+1」
20. ブレーク・アウト戦略は有効か・・・
21. ギャップ8パターン
22. システムを創る、システムを買う
23. シグナル発生! 成り行きか・・・、指値か・・・
24. 連勝・連敗
25. T1は順張り、T2は逆張り
26. トレンドの真理(秘密)
27. 類似法
28. 過去6本(30分)
29. 取引停止10条件を知る
30. 3つのポジションと対処法(絶対、相対、ダメポジ)
31. 串刺し分析
32. カウンティング・チャートは出口のためのチャート!~10大法則
33. ブレークアウト・カウント
34. ヒット・カウント
35. 支持・抵抗カウント
36. 極線カウント
37. 出来高密度
38. 絶対勝率算出法
39. オートマトンを理解する!
40. チキン・ルーチンを活用せよ!
41. 負けたくないソース(プログラム)
42. 出来高トレイリング・ストップ(VTS)
43. カメレオン・サブルーチン
44. 勝率5%の改善を約束する撤退ルール
45. システム構築・検証のための6条件
46. ランダム・トレード(乱数発生トレード)で出口を検証せよ!
47. 解体は建築より早い!
48. 特定日、特異日を知る!
49. 母体制限、前足制限
50. システム開発の思考回路
51. 移動平均は「乖離」よりも「収束」だ!
52. 10:40の法則
53. 09:20の法則
54. オンリー2
55. ストレート4
56. レンジ・ロック撤退ルール
57. 振幅4大法則~幅、方向、経過時間、型
58. 型分析(相場手相学)
59. 3大特徴なき線(前足完全内包、母体並び、接触内包)
60. 多次元配列処理~シグナルには「属性」がある!
61. 負けトレードに秘密あり
62. ラベリング・ロジック(高値と安値にラベルを付けよ)
63. 横這い撤退ルール
64. タイムアウト
65. シグナルをひたすら待つパソコン(レア・ケース)
66. すべてのトレンドは1番から始まる!
67. カーブ・フィッティング再考
68. ブルート・フォースの功罪
69. 母体支配率が語る相場の真理
70. 勝率重視か、利益重視か・・・
様々な観点から、自動売買を語ろう!と思います。
お付き合いください!
プログラマーへの道!
プログラマーへの道!

自画自賛ではありますが、ときどき、上記アニメーション・チャートを眺めて、よく作ったよな~~と、ひとり、にやりとしています。
このチャートを作成するのは、少々、骨が折れる作業です。
まず、58枚の5分足のチャートを作成し、これをつなげます(ANIGIF化)。
58回、ループさせて、圧縮・・・行程を単純に書けば、こうなります。
上級プログラマーであればあるほど、プログラムをいかに綺麗に書くか、に頭を悩ませます。
そして、自分にしか読めないように書く・・・なんてことも・・・
私のプログラムとの出会いは、中学1年生の頃でした。
30年前の話です。
パソコン1セット80万円の時代です。
もちろん、買うお金などありません。私は、街一番の電器屋さんのおじさんと仲良くなり、学校が終われば、電器店に通い、独学で、プログラムの勉強をしました。
もちろん、現在のように、たくさんの書籍や情報があふれている時代ではありませんので、他人の書いたプログラムをもってきては、これを『訳す』ことで、勉強しました。
当時は、プログラムの記録は、「テープレコーダー(カセットテープ)」です。
音でプログラムを記録する時代だったんです!
インベーダーゲームが一世を風靡していました。
友人は、遊ぶことに熱中しましたが、私は、「なぜ動くのか・・・」に熱中しました。
ベーシックという言語で、簡単なゲームを作り、創世記のパソコン雑誌に投稿するぐらいのめり込みました。
19才で、金融の世界に入ってからは、ゲーム作成ではなく、チャート作成に変化しました。
私は、自称、「世界で初めて、ろうそく足をパソコン画面に表示させた男」です。
当時、ロイター、クイックといった情報端末では、バー・チャートしか表示できませんでした。
開発した当初、情報ベンダー(ロイター・クイック)が、私が作成した世界初のパソコン上で見るろうそく足チャートを、視察しにきたものです。
プログラム・・・とっても簡単です。
特別な教育を受けなくとも、誰にでも、簡単に、組むことができます。
自分にはできない・・・と拒否するのではなく、ぜひ、この世界に足を踏み込んでください。
ご自身のアイデアを、プログラムに書いてください。
ご自身の分身を作る!とっても楽しい作業です。
プログラム言語
プログラム言語
以下に掲載しているプログラムを見て、「脳死」状態に入ってしまう方がいても、不思議ではありません。
しかし、言語は、とっても「簡単」です。
「意味不明」と脳死状態に入ってしまうのは、理由があります。
訳が分からない『単語』(変数)が並んでいるからです。
あるプログラムの、最初の数十行を見てみましょう!
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_color1 DodgerBlue
#property indicator_color2 Tomato
#property indicator_color3 CornflowerBlue
#property indicator_color4 Salmon
#property indicator_color5 DodgerBlue
#property indicator_color6 Red
extern double Period1 = 5.0;
extern double Period2 = 13.0;
extern double Period3 = 34.0;
extern string Dev_Step_1 = "1,3";
extern string Dev_Step_2 = "8,5";
extern string Dev_Step_3 = "21,12";
extern int Symbol_1_Kod = 164;
extern int Symbol_2_Kod = 174;
extern int Symbol_3_Kod = 174;
double g_ibuf_136[];
double g_ibuf_140[];
double g_ibuf_144[];
double g_ibuf_148[];
double g_ibuf_152[];
double g_ibuf_156[];
int gi_unused_160;
int gi_unused_164;
int gi_unused_168;
int gi_172;
int gi_176;
int gi_180;
int gi_184;
int gi_188;
int gi_192;
これだけで、プログラムの構造を知らない方は、「ノック・アウト」です。
しかし、プログラムを読み解く上では、この部分がもっとも、重要なのです。
プログラムは、変数の定義から始まります。
どんな変数を使うのかを、パソコンに教えることから始めるのです。
プログラム言語は、パソコンが理解できる「予約語」と呼ばれるものと、ユーザーが定義する言葉があります。
プログラムを書くのに、覚えねばならない予約語は、20程度しかありません。
英語をしゃべろうと思うと、2000以上の単語は知らないとダメみたいですが、プログラム言語ならたった20です。
たった20の単語を知りさえすれば、自動売買プログラムは書けます。
さて、話を元に戻しましょう。
皆さんが、脳死状態に陥るプログラムの冒頭部分ですが、これはすべて、変数の定義に過ぎません。
これから、どんな定義の変数を使うのか・・・が記載されているのです。
色の定義、利用する期間の設定などです。
extern double Period1 = 5.0;
extern double Period2 = 13.0;
extern double Period3 = 34.0;
たとえば、この部分は、Period1という変数名を使い、そして、その値は5、であることが記載されています。
この「宣言文」以降、プログラム文に、Period1が出てきたら、これは、「5」を示しています。
プログラム文で、Period1が利用されている箇所を探してみましょう・・・
if (Period1 > 0.0) CountZZ(g_ibuf_136, g_ibuf_140, Period1, gi_172, gi_176);
この文を見つけることができます。
あれれ・・・また、知らない変数が出てきました。
g_ibuf_136, g_ibuf_140,gi_172, gi_176
慌てることはありません。
すべて、プログラムの中に書いてあります。
使用する変数が多いと、難解なプログラムになります。
変数名は、プログラマーが、自由に付けることができます。
掲載したプログラムは、gから始まる変数で統一感がありますが、解読する方からすれば、変数名は、連想できるものにして欲しいと考えます。
たとえば、移動平均線のための変数を、「GTFR」と適当に付けるのではなく、
「idouheikin」としたほうが、プログラムとしては、解読しやすくなります。
しかし、このようにしない理由は、プログラマーが、「かっこよさ」を強調しているからです。
誰の目にも触れることがないプログラム・・・ユーザーからすれば「動いていてくれさえすれば良い」のですから、問題が起こらないと、プログラムを解読することはありません。
誰も見てくれない・・・からこそ、「かっこよさ」を、追求しているのです。
着物の裏生地に、こだわるのと同じ気持ちかも知れません。