魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

ロボットの作り方②

ダウ理論を学ぼう。役に立つ。
と偉そうに言うぼくだけど、つい最近まで知らなかったんだ。
誰かが、づ理論を知っているのに、〇〇がうまくいかないなら~、
ということを言っていたのを見て、初めて調べたんだ。
それで知った。でも、ダウ理論から、どうやってロボットを作るんだ。
ダウ理論のロボットは、RPGで作れるようにするよ。
でも、入門板に組み込むかはまだ決めてない。

 

東天の獅子

面白れぇ小説だ。作者は、夢枕獏
夢枕獏と言えば、若い頃、魔獣狩りを全巻読んだ。
確か、痛みを感じることができない、美空と言う登場人物が好きだった。
鼻腔は、痛みへの憧れの表情を見せる。誰でも、自分に無いものには憧れるものだ。
その後,餓狼伝を読んだ。これも、面白れぇ話だ。

今、東天の獅子は、まだ、木村が主人公の時期だ。
木村というのは「木村政彦はなぜ力道山を殺さなかったのか
という書物に出てくる木村である。
東天の獅子は、ある日本人がブラジルに渡り、ブラジル人に柔術を伝え、
それが後に、バーリトゥードゥ(何でもあり)になるのである。
その創成期の話だ。
そう、ぼくは格闘技が好きだ。
現代では、五味孝典と青木真也が好きだ。
彼らの試合は、youtubeで観られる。
是非、一度、観てくれ。

ぼくのバーリィトゥードゥとの出会いは、
第1回、UFC大会で、ホイスグレーシーを見たのが始まりだ。
何でもありの無差別級の大会だ。狂犬として有名な、極真空手の選手が、
素手による顔面へのパンチで相手選手は血だらけの中、
ホイすだけは無傷で、次々と勝ち抜いていく。そして優勝した。
今でも、その大会の英語版のDVDが手に入るはずだ。
ところで、
ホイスの兄に、引く孫グレイシーという男がいた。
この男は善戦無配という記録を持っていた。今考えると、
それは当然で、ヒクソンは、何でもありで、勝つ技術を、知り抜いていたのだ。

あるとき、UWFの舟木が、ヒクソンと戦うときがあった。
舟木はタップ(参った)をしないと宣言していた。
それを、テレビで観ていたぼくは、「舟木、タップをしないのか」
と、独り言。試合は、ヒクソンチョークスリーパーで勝ちとなった。
舟木は宣言通り、首を絞められても、参ったは、しなかった。
失神したので、レフリーストップとなった。
もし、腕を折られてもタップしなかったろう。
ぼくは熱くなった。

相場だって、努力と経験の蓄積により、勝つ方法を知り尽くした人間に、
楽して儲けたいため努力をできない人間が勝つはずが無いのだ。

 

ハスケルの投入

技研にエース、Haskellを投入する。
ハスケルを習得できる人は、限られる。
Pythonではないのだ。
つまり、技研の新たなエッジなのである。
ただし、3年以内に使うことはないだろう。
ここ2年に使うのは、MQL4/5+NGLのみだろう。

MQL4 → Reo / Ana / Cat / Misteak / Phoenix
NGL → RPG / PRIDE

 

PRIDE

f:id:fxrobot:20210402203325j:plain

「半永久的ロボット」統合開発環境
(Permanent Robots)

RPGに次ぐ、技研のロボット開発ツールだ。
ロボットのメンテナンス機能を持つものだ。

RPGのイメージが完成しつつある中、次のアイデアが湧いて出たので、名前を付けて、
イデアをまとめようとしている。

MMQL4のソースを表示して、ポイント箇所をハイライトする機能等を持つ。
技研のプライドを賭けた開発ツールだ。その名も、PRIDE。

 

ロボットの作り方

もしぼくだったら、何とかRPGを手に入れる算段を付けて、

RPGが手に入るまでの猶予を、MQL4の勉強とロボロジを作る時間に充てる。
ロボロジは、得意のテクニカルを作り、iCustom関数を使ったロジックのめどを立てる。
後は、RPGを使って、iCustom関数、その他の条件を指定するだけで、ロボットは完成する。
完成後のMQL4のソースを見て、ロボットの動きをチェックする。
納得出来たらバックテストを行い、ロボットの出来を確認し、かいりょぷ点があれば、もう一度、
RPGを使って、改良ロボットを作り直す。
作り直しでも、RPGを使えば瞬時に出来る。
この場合、RPGが、リモコン機能も、兼ねることになる。
RPG入門版は、誰でも手に入れることは可能であり、
よほど複雑なロジック出なければ、生成できるだろう。
問題は、RPGがまだ存在しないことだ。

RPGは簡単な機能であれば、比較的に早い時期の出来上がる可能性もある。
開発者はお人好しだ。急がせることは可能だ。
自分のロボットを後回しにしても、RPGを急ぐはずだ。

RPGを待つ
②MQL4を覚える
③iCustom関数を使えるようにする
 ㋐得意なテクニカルを、作る。
 ㋑得意なテクニカルで、ロボロジを作る。
 ㋒iCustom関数の引数を決める。

RPGには、OderSend関数とOrderClose関数の
引数と、iCustom関数の引数を与えれば、
ロボットは出来上がる。簡単だ。
引数の入力は、RPGの質問に答えるだけでいい。

RPGの開発者は、お人好しだが、気分屋でもある。
そこが問題だ。
なお、RPGが対応するテクニカルは、
移動平均ボリンジャーバンドストキャスティクス
MACD、RSIの5つになる予定だ。その他、四本値の値を条件に
出来る予定だ。四本値始値終値、高値、安値。

その他、要望があれば、答える用意はある。

技研としては、設定できる条件に付いては、まだまだ
沢山アイデアがあるが、企業秘密でもあり、出し惜しみする。

 

技研の目指すもの

①ロボット開発
②ロボット開発ツール(RPG)開発
テクニカル分析研究

①は言うまでもない。
かつ、MQLによる開発ノウハウを蓄積する。
②は、RPGの開発。使い易さ・機能・性能を向上させる。
③は、①②のための基礎技術のレベルアップを目指す。
★既存テクニカルの研究
★独自テクニカルの研究

 

MQL4の覚え方④

無限エントリーに陥らないように。
例えば、移動平均を、価格を宇和抜けしたら、
エントリーするという条件でエントリーする
ロボットを作ったとしたら、On Start()の途端に、
移動平均を大きくうわな割っていたら、それ以後、
エントリーし続けることになりそうじゃないか。

それを防ぐように、条件に工夫をする必要がある。
この点に注意をしさえすれば、ロボットを動かす心配は無用だろう。
じゃ、どうすればいい。
RPG(Robot Prigram Generator)を使えば、
そういった間違いを犯さない、プログラムを作ってくれるので、心配ない。

だから、どうすればいいのさ。教えなさい。
検討を祈る。Break a leg your self.

 

テクニカル分析の勧め

2冊の本を紹介する⑩「テクニカル分析大全」は、
ぼくも購入して今も持っている。
①知識ゼロで裁量トレード時代
②ロボット運用時代 ③出直し時代

③の時代に貪るように読んだ本だ。
100以上のインジケータで相場を観察した時代でもある。
幾らでも無料で、使えるインジケータが簡単に手に入った時代。

FX仲間と、どのテクニカルが使えるかなど、
楽しく議論したものだった。

f:id:fxrobot:20210331212628j:plain

f:id:fxrobot:20210331213248j:plain

f:id:fxrobot:20210331163333j:plain

 

RPG

f:id:fxrobot:20210402210650j:plain

 

には、本格版と入門版の2種類がある。
本格版は、非公開、技研内部用。
入門版は配布する前提で作ろうとしている。
RPG入門版の説明は、本ブログで行う。
RPGGUIによる、質問に答えるだけで、
ロボットが出来上がる魔法のツールなのだ。
こりゃ、インチキ本の読み過ぎだね。
悪影響を受けてるんじゃないかい。

 

Phonix

Reo, Ana, Emily, Cat, Miateak に続く、6つ目のロボット計画だ。

Phoenixは、BB,MACD,RSIの3つのテクニカルを組み合わせて動くロボットだ。

2つ、もしくは3つのテクニカルを組み合わせるのは、有力じゃないだろうか。
其々のテクニカルを深く理解すれば、それらの組み合わせは、また新たな力を
生み出すはずだ。

ロボット入門者の方は、iCustom関数を使って、1つ~3つのテクニカルを基に、
独自のアイデアを加えれば、オリジナルロボットが、簡単に作れる。

PyAutoGUI

ぼくは、これがいま気に入ってる。
技研のGUIトライアルには脱落したPythonだが、
PyAutoGUIは、大したもんだ。
今後、研究して、紹介したいと思っている。
RPAのツールとしても、最有力の一つだと言えそうだ。
Python+NGLで、無敵のRPAツールになるんじゃないだろうか。

GUIとの長い戦い

もう20年以上の時間が過ぎた。
ぼくは最善を探求してしまう癖が有る。
GUIで最もメジャーなのは、VB6だと思う。
VB6を超えるGUIを提供する言語には、長い間、出合うことは無かった。
一時期、Delphiにそれを求め、凝った時期があるが、
VB6と比べると見劣りしたのだ。Javaに向かった時期もある。
AWTやSwingを学んだ時期もあった。VB6の明解さには、とても及ばなかった。
そして今。JavaFXという新兵器に誘われて、JavaSE8に
向かっているのだ。JavaFXへの追及はまだ当分続く続くだろう。
しかしVB6を超える暫定的な王者は決まっているのだ。
それは「なでしこ」だ。GUIは本来難しいものじゃない。
GUIの簡単さ便利さを具現化したのは、史上、vB6となでしこだけだったのだ。
JavaFXが、難解で不合格なものだとはわかっている。
しかし難解ではあっても、美しい構造を持っている可能性はあるので、
今後も調査は続けたい。
なでしこは残念なことに、日本語の構文を持っている。
PLを齧ったことのある初心者には、かえって敬遠されやすいだろう。
JavaFXには、切り捨てるだけの決定打を、まだ、見つけられていないので、
もうあと、1か月から6か月は、掛かるだろう。
JavaSE8の全体を理解するのに時間が掛かるんだ。
ただし、RPGの開発は、NGL(なでしこ)で行うと決めている。
RPGは技研に導入する、ロボット生産ツールだ。

PythonのzGUIは、QtやGTkなどと比べるとよくできているほうだが、
VB6やなでしこと比べると残念なものだった。
グイド・ヴァンロッサムが設計すれば、良かったのにね。

 

ぎけんでは、Tkinterを最後まで押そうとしていたが、調べれば調べるほど、

納得がいかないという結果になったんだ。技研の標準GUIはNGLなのだ。

あとは、JavaFXの評価が終われば、全てが終わる。

 

iCustomの注意点

最後に満濃にも見えるiCustomの注意点を書く。

パラボリック・テクニカルにバグがあるとのことで使えない模様。
②zigzagテクニカルがうまく機能しないとのこと。
②はぼくもショックだ。予定していた研究手順がトン挫した。
ゼロから、作らなければならない。だけとも言えるが、
本来以外のところに力が割かれてしまう。
何だ、泣き言かい。
RgPhのためには、予定通り、役に立つ。有難い。
iCustom("RgPh")があるわけじゃない。
"RSI"||"MACD"→→RgPhということだ。
テクニカルに精通していて、かつ、勘が良ければ、
これだけのヒントで気づくはず。
でなければ、詳しく話しても、豚に真珠さ。
いずれ、RgPhは、Misteakという形で利益を生み出すはず。

ビバ!iCustom

の価値が、まだ伝わっていないだろうと思い、
ダメ押しだ。かと言って、技術的な話はしない。

必要と感じれば、調べることは容易だ。
もっとも、MQLに用のない人には、iCustom関数にも、
用はないはずだ。

こう言う自分も、
iCustom関数は擦り切れるほど使おうと思っている。

使い方は簡単だ。必要なのはテクニカルを理解するということだ。
理解しなくても、iCustom関数は使える。ただし、
その頭(姿勢)では、儲けが出せるロボットは作れないだろう。

ところで、技研では、zigzagに興味があると話した。
Puzzleという、zigzagを解明するツールを作る計画もある。
しかし、zigzagよりも有力なテクニカルを見出したのだ。
その名を、RgPhという。
RgPhは、その基礎にiCustom関数を使う。
そこから、丸まる一つ分のテクニカルを作るほどのコーディングが必要だが、
そのロジックはもう既に出来ている。
これも、iCustom関数が無ければ、諦めていたところだ。
zigzagから、先の研究も、iCustomのお陰で、完成の見通しができたのだ。
ロボット開発は、iCustomの価値を理解できるかどうかにかかっていると
言ってもよいだろう。
諄いなぁ。
お節介心だ。

MQL4の覚え方③

今回は、もう一回、iCustom関数(以下簡単にiC関数)の話。
テクニカルインジケータが簡単に手に入らない時代に、
MQLの提供するiCustom関数は有り難いものだ。
ぼくはゼロから自分で作ろうと覚悟し、テクニカルの分厚い教科書を
手に入れていた。勿論今後すべて読むつもりだが、
iCustom関数のおかげで面倒な計算をする必用は無いのだ。

テクニカルには、Bandsという名でボリンジャーバンドや、
Ichimokuという名で、一目均衡表などが使えるのだ。
何れも人気の高いテクニカルだ。
iCustom("Bands")やiCustom("Ichimoku")を使えば、
ロボットを作るのは簡単だ。
ボリンジャーバンド一目均衡表がどういうものかは、
ネットをググってもwくぁかるし、ぼくのように、一冊くらいは
専門書を買って読むのもいいだろう。
後は、if文が使えて、OrderSend関数(注文)と、
OrderClose関数(決済)を覚えれば、ロボットを作ることは
出来るんだ。こうしていったん作ったロボットは、
MT4の持つ機能で、バックテストができるので、
運用して利益が出るかの見通しを立てることもできるんだ。

また、最初は、70を上回ったら買うと言うロジックだったと
してもバックテストで、60にしたほうが良いなどの、
最適化もできる。
iCustom関数で使えるテクニカルを知りたければ、
MT4の画面の中に、一覧が表示されるし、ググっても、
分かるだろう。
MQLの覚え方①②③で紹介したポイントを押さえてから、学べば、
覚えやすくなるはずだ。

なお、移動平均のテクニカルは、iMA関数でも使えるが、
iCustom関数でも使える。

テクニカルの意味さえ勉強しておけば、iCustom関数のおかげで、
面倒な計算をする必要が無いのだ。
このことは、結構知らない人が多いのだ。
ぼくもロボットを運用している時代から、知らなかったのだ。
iCustomという宝石箱は絶対開いたほうがいい。

Break a lrg.