魔術師をめざして

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

er-robot

(event research for et-robot)

etのためには、忍耐強い調査が欠かせない。
魔術師は、興味の低い対象への忍耐は、
ほぼ無いのだ。忍耐の代行をロボットに
任せようというのが、er-robotなのだ。

etは、調査が大切。雇用統計以外にも
経済指標は多い。具体的な指標発表を
追いかけるばかりではなく、もっと一般的に
値動きの幅が、一定以上の大きさになり、
その後に一定以上の戻り幅がある場合を
自動的に捉えて、蓄積するのが、er-robotだ。
その他に、etのシミュレーションも行う。
幾らのもうけを蓄積できるかを実際の
取引をしないで、シミュレーションモードで、
実取引をしたら、幾ら儲かるかを報告する。
er-robotでもうけを確信できたら実際に、
et-robotで実際のもうけを経験したら、次は
取引レートを上げて、大きな儲けを得る。
まっ,兎に角、magicの開発が先だ。

MGLで、er-robotとet-robotを書くのがしみだ。
この2つのロボットを書けるような仕様に
しなければならない。そこが勝負の分かれ目。

 

 

 

et-robot②

実は、魔術師も、et(event trade)のアイデア
固まっていない。ここで少し、考えてみよう。

元々、etは、株やfxで、高確率で勝つために
考えた手法だ、
株の世界では,ある程度、知名度のある手法だ。
魔術師のオリジナルではない。
fxでのetは、魔術師が考えたものだ。
fxは、雇用統計などの経済指標の発表で、
大きく値が動く。実際にこの目で、何度も
見てきた。その大きく動いた値が、
一定期間で元に戻ろうとする。
添いのメカニズムに乗じた、手法だ。
これ以上は、秘密だ。
この手法の成功には、辛抱強い、
調査と分析が必要なんだ。この苦労が、
ロボット任せにできるのなら、楽勝だ。

et-robot

(event trade robot)

現在、magicに向かって一直線の魔術師だが、
ロボットの開発にも目覚めそうなんだ。
それが、et-robot。
MGLで書くつもりだ。それをmagicで、MQLにする。
et(Event Trade)をロボット化するなんて、
自分でも、随分意欲的な計画だと思う。

魔術師の考えでは、etは、利益が小さい。
しかも面倒だ。だが、成功確率は高い。
これが、ロボット化できるとしたら、
真に、これこそ、年金ロボットと言えるだろう。
一番の欠点である、面倒が消え、少額ながら、
高い確率で儲けてくれるというある種、
理想のロボットだ。
ロボットにすべきアイデアのロボットだ。
皆さんは、どう思う?
etの中身を知らないよ。
以前、少し書いたよ。今後、もっと書こう。
でも、その必要はないか。
MGLのソースをを見れば、すべてが分かるはず。
テストを兼ねて、et-robotのMGLを書くつもりだから。
でも、公開するかどうかは決めていない。
興味を持つのは、魔術師が、et-robotoで、
成功するのを見届けてからでいいよね。
面白くなってきたぞ。
これで成功すれば、それこそ、magicだ。
そして、本当の魔術師の誕生だ!

魔術師の言語研究

魔術師は、PLが大好きだ。

数学もそうだが、ぼくに魔力を与えてくれるという
いう気がするのだ、
真に、magic(魔術)もPLが与えてくれる。
魔術師の自慢は、ハスケルとキャメルだ。
それらを独学で身に付けたこと。
ハスケルには、3か月程掛かってしまった。
「すごいHaskellたのしく学ぼう!」
を読んで覚えた。暑い夏ベッドに寝転んでで
読んだ。気に入ったので、原書(英語版)も買った。
皆さんにも強くお勧めだ。
ハスケルには、もう一冊「プログラミングHaskell
という優れた本がある。
現在は、キャメル(OCaml)の本を読んでいる。
この本の著者は素晴らしい。間違いなく、
魔術師よりも利巧だ。
ぼくは、難しい言語があると聞くと、挑戦したくなる。
しんなぼくが、今は、簡単なれど、実用(magic)
のために、PerlPythonを学んでいる。
Pythonは、機械学習とデータ収集・分析の
ためにも必要なんだ。
いっそのこと、すべてをPythonでやろうかとも
考えている(検討中)。
Pythonは自分のMAXの力を出さなくてもよく、
魔術師にとって、癒し系の言語でもある。

magicをめざせ!

 

Y氏の思い出:
魔術師がmagicを思いついたのは、今は亡き
Y氏のおかげなのだ。まだ生きてるぞ!多分。

Y氏は、魔術師はPLが得意なので、Y氏にロボットの
制作依頼をされたことがある。断ったけどね。
そういえば、Y氏は、よくプログラム請負業者に
ロボット制作を頼んでいた。
後で、ちょっと直したい箇所が、
いつも出てくるようだった。でも、
1行程度を直すにも、一々自分の考えを説明する
必要があるし、修正1回毎に、2~3万円のお金が
掛かる様だった。それに、Y氏はなんと、
作ったロボットを販売していたんだ。
Y氏なら、是非とも、magicが欲しいと言うだろう。
magicさえあれば、Y氏はロボットプログラマだ。

magic(MGL→MQL)は、プログラムを書くよりも、
MGLの仕様を生み出すほうが難しいのだ。

magicは、ロボット以外にもインジケータを作れる
ようにするか、その辺りを詳しく検討するつもりだ。
すでに、そのあたりのことを意識しながら、
MQLの文法を調べている。
それができれば。魔術師も、是非使いたい。
良いインジケータ(ind)を作るのも、
良いロボット(robot)を作るのも、直接的に、
トレードの成否を左右するからね。

ところで、このブログの前身は、
「年金ロボットをめざして」だった。
magicを使ってもう一度その夢に挑戦だ!
奇跡のrobot/indへの再挑戦ができそうだ。
漸く、ここも、本格的なFXブログになるかもだね。

そう考えると、魔術師のためのmagicなんだといえる。
門外不出にしたほうがいいのかも。
皆さんは、どう思う?

magic開発開始

magic開発開始

magicというのは、MQLメタ言語のこと。
漸く、MQLの復習を始めた。
それで、開発開始ってかい?
ところで、
ここに来る人は、きっと、FXをやっているよね。
じゃ、ロボットを動かしているだろう。
えっ、プログラミングができないって?
そんなひとのためにに、magicがある。
magicなら、簡単に書けて、MQLに変換できるんだ。
自分専用のロボットを作ってみないかい?

それが、誰にでもできるというのがmagicだ。
それが、magicの開発目標。

magicで使う言語は、MGLという。
すばわち、MGL → MQLコンバータが、magicだ。
将来は、MGLで、ロボットを作ってFXで儲けよう!
というのがこのブログの内容になれば、
いいなと思っている。
MGLの仕様案は、ここでも公開するので、お楽しみに。
MGLの仕様が決定したら、ロシアサーバーにある、
ふりーのMQLソフトを落として、魔術師の手によって、
MGLにハンド逆コンパイルしてお見せしよう。
そのうち、magicに、
コンパイル機能(MQL → MGL)を
付けなきゃね。そうすれば、

きっとロボット研究の役に立つだろう。

py_compile を使おう

pyinstalerを使えば、python不要なexeファイルを作れるが、
6.5MB程の大きなファイルになる。それよりは、
サイズの小さな、pycファイルにコンパイルした
ほうが、配布も便利だろう。それに、python
入れている人は多いので、pycをメールに添付して
送信するのが便利だと思う。


以下、Pythonプログラムのコンパイル方法

pyinstallerのことじゃない。
pythonコマンドで実行できるが、中身が
分からない「pyc」という形式にコンパイルする方法を紹介する。

魔術師がやった通りを説明する。

以下のファイルを作り、「helloc.py」と名付けた。
コンパイルを行う、Pythonのプログラムだ。
#------------------------------
import py_compile
py_compile.compile('hello.py')
#------------------------------
以下は、「hello.py」という名のいつものやつ。
#------------------------------
print("Hello World!!!")
#------------------------------

>\mypy python helloc.py #コンパイルの実行

__pycache__ という名前のフォルダができ、
その中に、xxxxxxxxxx.pyc と藺生なのコンパイル結果のファイルができる。
名前を hello.pyc に変更し、\mypyフォルダに入れた。
名前を変えたのは、覚えにくいので簡単にしただけ。

>\mypy python hello.pyc #と実行したが、ちゃんと動いた。
hello.pycの中をエディタで見たが、判読できない形式だった。

>\mypy python hello.pyc #コンパイル結果を実行。

無事、Hello World!!! が表示された。

なお、シェルから行うこともできる。その場合は、
最初に「py_compile」をインポート(import)すること。

pyinstaller と、今回の py_compile を
目的・状況に応じて、使い分けるとよいだろう。

magic/tric/boomelan

 

ジョン会は、
魔術師が作ろうとしているプログラムについて。
もう知ってるよ。しつこく行く。

一番最初に作るのは、magicの予定だ。
①のmagic以外は、②を検討中。
いずれもテキスト処理のアプリだ。


①magic
②boomelan(飛ばすのはboomerang)
③tric(仲間由紀恵は、TRICK

boomelan(bootstrap meta language)
bootstrap は、面倒なhtml/cssの記述を助けるツールだが、
それをもっと簡単にしようとするもの。
magic同様、BML → bootstrapのソースを
吐き出すコンパイラの一種だ。
tric(TRanslate web user Interface Codes)
詳細は、検討中だが、吐き出すのは、
jQuery や、reactなどのコードだ。
boomelanとtricがあれば、webサイトが、
簡単に作れるというアイデアだ。
2つをtric一本にまとめるということもありうる。

magic


magicは、以下の略だったが、こじ付けなので、それはどうでもいい。
兎に角、コンパイラは、 magic という名前なのだ。
(MQL Advanced Ganerate In Compiler)

magicは、MGL → MQL変換を行う。
MGLは、C言語ライクなMQLとは違い、プログラミングに
縁のない人にも、FXを知っていれば、書ける言語で、
それをMQL言語に変換するのが、magicの仕事だ。
正確には、MT4(メタトレーダー4)で動く
MQL4言語だ。MT5/MQL5については未定。
まずは、MT4/MQL4だ。
市場のメタトレーダーは、未だ殆どMT4とのことだ。
MGLの仕様案は、ここで公開する予定。

書くのが楽しいって本当?

書くのが楽しいとは、
よく聞く、rubyの宣伝文句だ。

確かに、
#---------------------------
abclist.map do |x| x**2 end
#---------------------------
という、文を見た時など、
ワクワクしたのは事実だ。
このような構文の集合が、rubyだとすれば、
ジャロに電話する必要はない。

rubyは、Perlsmalltalkに影響されているという。
smalltalkには、研究室で、Altoを体験して以来、
夢中になったぼくだが、未だsmalltalkを、
実用に使ったことはない。
rubyは、perlの実用性と、smalltalkのワクワクを
現代に、継承した、言語なのかもしれないね。

 

tclは簡単

 

tclは、3日で覚えられるほど、覚えることが
少ない言語だ。そして、魔術師は暗記が苦手だ。
だから、tclは、魔術師の性に合っている。

ところで、pythonは、予約語が少ないことが自慢だ。
だけど、pythonの本(視力のせいで電子書籍しか読めない)
は、簡単なことが、ダラダラと長いのが普通。
python/ruby自体は無料だが、それで食べている
あまり優れない人間が、それの周りに多くいる。
ただダラダラ長い本も、それらの人間の不成果物だ。

魔術師は本の悪口をよく書くが、実は、優れた本との出会いも多いんだ。
好きな本は、「プログラミングHaskell」など多い。
今読んでいる「プログラミング in Ocaml」も素晴らしい。
この2冊の著者は、魔術師よりも利巧だろう。

戻って、tclの実用性は、高いとは言えない。
好きにならないほうが良いものを好きになったということか。
まるで、不倫のようだね。
でも、仕方がない。だからって棄てるわけにもいかないんだ。
是非もなく,魔術師は、今後も益々tclに取り組むだろう。

自由なtcl③

eという名のproc(pロシージャ/関数)を定義して使ってみた。


c:\mytcl>tclsh
% proc e {x} {return [expr $x]}
% e 123**10
792594609605189126649

 

eは好きな計算ができる汎用的関数だ。

上の例では、123の10乗を計算させた。

t実にmclは、面白いおもちゃだ。
次は、tclで、実用アプリに向かう。
そう、magicだ。その前に、NQLを復習しないと。