FC2ブログ
にほんブログ村 為替ブログ システムトレード 自作EA派へ にほんブログ村 為替ブログ ユーロドルへ

ほったらかしのメタトレードで資産1億円を目指す

今月から楽天のアフェリエイトをやっています。
サイトを経由するだけで、購入金額の1%が懐に入ってきます。
ぜひぜひ、皆様もお試しくださいね。

今月から楽天のアフェリエイトをやっています。
サイトを経由するだけで、購入金額の1%が懐に入ってきます。
ぜひぜひ、皆様もお試しくださいね。

02 | 2021/03 | 04
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

最強EA 9.2

無料ダウンロード

今日から、地道にコーディングをやっていく

ソースコードの置き換え → これまでインジケータの新部分をmql4で書いていた。これをまずpythonに書き換える必要がある。
https://github.com/chanmoto/rsi_breakout

ソースはMQL4であるが、要はCライクな言語である。

最近はPYTHONを触り始めたので、これに書き換えるところから始めることにする。

乖離率の計算は下記
Kairi_buffer[i] = (RSI[i]-mov_rsi[i])/mov_rsi[i];

区間に分けて考えていく

j=0;
for(i=1; j if (Kairi_buffer[i] * Kairi_buffer[i+1] <= 0){
ii[j] = i;
j++;
if(j>2){
if(ii[j-1]-ii[j-3] j=j-2;
}
}
}
}

乖離率の変曲点で、上下をグループ分けする。

if(Kairi_buffer[ii[0]]<0)
{
for(ll=0; ll {
Hi_stack[ll] = ArrayMaximum(RSI, ii[1+ll*2]-ii[0+ll*2]+1, ii[0+ll*2]+1);
Lo_stack[ll] = ArrayMinimum(RSI, ii[2+ll*2]-ii[1+ll*2]+1, ii[1+ll*2]+1);
}
}
else
{
for(ll=0; ll {
Hi_stack[ll] = ArrayMaximum(RSI, ii[2+ll*2]-ii[1+ll*2], ii[1+ll*2]+1);
Lo_stack[ll] = ArrayMinimum(RSI, ii[1+ll*2]-ii[0+ll*2], ii[0+ll*2]+1);
}
}

ここからが実体線と予想線を作るところ(最大のポイント)

for(ll=0;ll {
hp1=RSI[Hi_stack[ll]];
hp2=RSI[Hi_stack[ll+1]];
hp1n=Hi_stack[ll];
hp2n=Hi_stack[ll+1];
hp3n=Hi_stack[ll-1];

if(hp2n!=hp1n) { rh=((hp2-hp1)/(hp2n-hp1n));}

lp1=RSI[Lo_stack[ll]];
lp2=RSI[Lo_stack[ll+1]];
lp1n=Lo_stack[ll];
lp2n=Lo_stack[ll+1];
lp3n=Lo_stack[ll-1];

if(lp1n!=lp2n){ rl=((lp1-lp2)/(lp2n-lp1n));}

for(k=0;k for(k=0;k for(k=1;k<=hp1n-hp3n;k++){ buf3[hp1n-k]=hp1-rh*k;}
for(k=1;k<=lp1n-lp3n;k++){ buf4[lp1n-k]=lp1+rl*k;}
}

for(i=0; i buf5[i]=EMPTY_VALUE;
buf6[i]=EMPTY_VALUE;
}


いかが売買サイン

for(i=0; i // SELL
if ( buf4[i]>=buf4[i+1] && MathAbs((buf4[i]-buf4[i+1])-(buf4[i-1]-buf4[i]))<0.001 && RSI[i] < buf4[i] && RSI[i+2] > buf4[i+2] && buf4[i+1] - RSI[i+1] > margin){
buf6[i]=RSI[i];
} else {
buf6[i]=EMPTY_VALUE;
}
// BUY
if ( buf3[i]<=buf3[i+1] && MathAbs((buf3[i]-buf3[i+1])-(buf3[i-1]-buf3[i]))<0.001 && RSI[i]>buf3[i] && RSI[i+2] margin){
buf5[i]=RSI[i];
} else {
buf5[i]=EMPTY_VALUE;
}
}
return(0);
}
スポンサーサイト





https://qiita.com/EasyCording/items/1fa5780d55424306d1de

久しぶりの更新をしている

最近、AIやらWEBやら、本当に技術の進歩がすさまじく、
この勢いの中で、自分の進化が遅いことに、
すっかりあきれてしまっている。

ここらで初心に戻らないと、本当に潰されそうな気がしてならない。

考えれば、10年ぐらい前の時代が、
すごく時間の流れが緩やかで、
過ごしやすかった気がする。

最近、特にリモートワークで家にいる時間が長くて、
時間はたくさんあるのに、頭の成長ができていないことに
我ながら嘆いている。
(逆を言えば、普段仕事に追われて、勉強する時間が
取れなかったころに比べて、今は真逆の悩み事を抱えている)


AIトレード

 半年かけてAIを学んできたことであるが、やはり問題の複雑さをAIで解くことは
非常に苦手であって、逆に言えば、問題を極力簡単にしてあげることが、
やはりAI使いこなしのコツなのではないかと考えている。

 前の検討では、PFチャートから何らかの予想を考えていたが、
これはある意味、問題の複雑化が災いして、いかに解かせるのか?
といった、妙なところで試行錯誤していたようだ。

参考記事
http://1969681.blog66.fc2.com/blog-entry-592.html


MTブレイクラインへの適用

 AIの得意分野としては、やはりパターン認識と、0/1判断のようなところから
再度、出直してみようかと思う。
 以前にMT4のインジケータで、後出しじゃんけんのようなものがあった。
いわゆるデータにあわせて、つじつまを合わせをするものであって、
リアルタイムで出しているサインを、後になって消去してしまうようなものだ。

 こういうのをウソ発見器とでもいうべきだろうか?

 インジケータが出したサインを、そのあとに控えているAIが、
あたかも、ウソ?、ホント?を出してくれるようなものを
作ればいいのではないか?

 幸いながらバックテストを実施すれば、サインが出た時の状況と、
その後、サインが消灯したのかは再現でき、これは大量に学習データを用意することができる。
 
 少なくとも、自分が開発したMTブレイクラインも、少なからず
そういうタイプのインジケータであった。
 
 今回はやはり初心に戻って、当初のインジケータ開発で遭遇していた
つじつま合わせに対して、AIで判定をすることを考えてみたいと思う。

MTブレイクアウトの過去記事はこちら

http://1969681.blog66.fc2.com/blog-entry-25.html
http://1969681.blog66.fc2.com/blog-entry-363.html



motochan

Author:motochan
人に感謝されることをやっていく。誰かに喜ばれること。先に歩いて、道を作っていくこと。喜ばれることを、生きがいにしていく。時代は、後でついてくるもの。自分で感じたことを、自分がやっていく。世の中にないものは、自分で考えていく。理想とするものは、自分が自ら考える。自己の満足が、他人の満足につながる。


詳細はコチラ>>

Copyright(C) 2006 テクニカル講座上級の部屋 All Rights Reserved.
Powered by FC2ブログ. template designed by 遥かなるわらしべ長者への挑戦.