RSIストラテジー

ショートホップ、トレンド転換を材料にRSIでナンピンしてみた。

f:id:motiofx:20220402204430p:plain

BTCUSD H1 2021.12,1 to 2022.4.2

ナンピン最高。死なない程度にロット調整すればいけるか?

f:id:motiofx:20220402205709p:plain

最適化いやマジで楽しい。

pineにしてみるとちょっと

f:id:motiofx:20220403171303p:plain

最適化。

f:id:motiofx:20220405192658p:plain

pythonでどうなるか。。。あと昨年5月の大暴落は死ぬ。。

f:id:motiofx:20220405193504p:plain

資金力ないからこれは厳しい。

またボットが止まってる。。ここか。余計なAPI動作削った。

short_hop1分足が止まらないでやっと動くようになった。

shorthopRSIやるか。

f:id:motiofx:20220408185841p:plain

むむ

f:id:motiofx:20220408185932p:plain

いつもここから

www.algo-fx-blog.com

rolling系でやりやすかった。

f:id:motiofx:20220408191237p:plain

プロフィット比較

トレンド転換 +2928

ショートホップ +1704

ショートホップRSI +3574

トレビューだと違うんだな

トレンド転換 +125%

ショートホップ +184%

ショートホップRSI +157%

MT5はいいや。めんどくなった。

RSI計算少し間違ってた。

f:id:motiofx:20220409150844p:plain

プロフィットの違いは、トレビューはポジション数無制限だが、パイソンではポジション10までにしてた。

そういう違いだ。

いや違うそうじゃない。1ポジション0.1づつ加算されるので、それと最大posは両方とも0.6だった。何が違うのだろうか?

 

Bybitテストネット運用状況確認用

testnet.bybit.com

 

・トレンド転換ボット

再検討を行う。トレンド転換のMAをフィルター追加、以前のEAでスプレッドとドンチャン比較でフィルターしたのが効果あったのでそれを追加、

20190801~20220424だいぶ生き延びやすくなった。

 

雑にバックテストするのにMT5は楽だ。

 

ショートホップボット

pineにはRSIにMAを表示する機能があってこれはいけるのではと、使ってみた。

PF3以上出すのは初めてなので、びびった。

 

やっぱり、利益出るストラテジーを触ってしまう。

ロジック修正で確度上がったような気がする。気のせいか。

EAも作ろう。

RSIMA_shorthop

www.mql5.com

これを使うか。しまったソースコードがない。

fx-d.jp

www.mql5.com

これか。よくわからん。これで何とかするしかない。

#property indicator_width2  1
#property indicator_label2  "RSI"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrMagenta
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

を追加でRSI表示できたか。

既存のRSIと比較して差異はない。

www.mql5.com

SimpleMAOnBuffer()を使う。

SimpleMA()か?

 

www.mql5.com

思い出したこれだ。

あと、スレッショルド。。まあいいや。バックテスト回すか。

この崖は泣ける。最適化するか。

うわぁ。プラスだけど痛い。でもこれが一番利益残る。

まあこれならやれる気がする。

本日のエントリーが、マイナス終了するならば、次のエントリはプラスになると見込んでリアル口座行ってみるか。

 

pythonボットの方もやってみるか。

RSI計算の確認。コードを変えてみたけど結果は一緒なんだ。

def make_RSI1(df, span=14):
    df["diff"] = df["close"].diff() # 価格の変化幅を計算
    up, down = df["diff"].copy(), df["diff"].copy()
    up[up < 0] = 0
    down[down > 0] = 0
    A = up.rolling(span, center=False).sum().abs()    # 上昇幅
    B = down.rolling(span, center=False).sum().abs()  # 下落幅
    RSI = A / (A + B) * 100
    return RSI

ならば、これでいっか。

 

www.delftstack.com

バックテストのラベルが重なってるのをちょっと直したい。

fig.autofmt_xdate(rotation=45)

これでうまくいった。

( ,,`・ω・´)ンンン?

なんだ?パラメータいじったっけ?

うわ、for文でパラメータ回す勉強せねば。。

いやショートしてた。修正。

ああ、わからなくなってきた。

ああよかった。わかってきた。
結局パラメータかよ。

今更だけどショートもうまくやればいけるんじゃないか。

いやその前に最適化。

パラメータを手動で変えてくところが原始人だわ。

まあ今後の課題

rsi=9, ma=19, 42, 71でこれか。

 

じゃあちょっとっとショートもやってみよう。

過剰最適化だがPFすげーのでた。

じゃMT5か。。。

進みが悪くなってきた。

LUNAはバイナンスだ進めよう。急げ。

50.26。20

46.36.12

48.36.15

2つ合わせて資金5倍だ!

後半がやばい。