【仮想通貨】上ヒゲ取りbot公開
2021.7.10 記事投稿
2021.7.11 コード改良版追加
2021.7.18 コード改良版追加
はじめに
こんにちは。
まずはじめに、こちらは無料で最後まで読むことができますが、最後に投げ銭を置かせていただきますので、「こんな感じで作ってるんだ、ふーん」となにか参考になりましたらチャリンと入れていただけると嬉しいです。
1000円以上お金が集まったらWWFに寄付します。
自然を守ろう。
2021.7.18 寄付完了。
現時点で目標金額には到達しておりませんが、先に目標金額を寄付しました。
あと、返金対応は、、、、ごめんなさい。。。
また、本記事では試作段階の上ヒゲ取り専用botのコードを記載しておりますが、あくまで参考程度としてご活用ください。本botで損をしても一切責任は取りません。自己責任の範囲でお願いします。
自己紹介
さて、軽く自己紹介です。
本業は開発業務に携わっておりますが、プログラムとは全く無縁の業種です。
2月頃に仮想通貨に興味を持ち、某給付金をタネ銭としてトレードを始めようとしたものの、投資をしたことがないためにビビり過ぎてしばらくpineスクリプトを勉強したりゴミbotを大量生産して遊ぶだけの生活が続きました。
そんなことしてても意味がないので、5月からビットコインのトレードを本格的に始め、これまで総資金に対し40%ほどプラスできてます。
現在8bot動かしており、全て1から考え作ったオリジナルbotです。
はむとれ勢ですが、無課金野郎です。お金ないですすいません。
弊botを1つ寄贈したら入れてくれないかな。ダメか。
5月はほぼ裁量でしたが月末に私の指値ミスによりロスカットをくらった(当時の自分を殴りたい)のと、目指すトレードスタイルではなかったので、6月からbotオンリーでトレードを再開しました。
7月11日現在もトレードスタイルは変わらず、botオンリーです。
本題 ~上ヒゲ取りbotのコード紹介~
早速ですが、こちらです。
//@version=4
strategy(title="上ヒゲ取り", overlay=true)
//CCI//
length = input(15, minval=1)
src = input(low, title="Source")
upperband = input(200, title="Sトリガー")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
//CCI//
//VWAP//
len = input(33, "Length", minval=1)
vsrc = input(close, "Source", type = input.source)
vma = vwma(vsrc, len)
ma1=vma*1.004
ma2=vma*0.995
plot(ma1, title="VWMA", color=color.white)
plot(ma2, title="VWMA", color=color.white)
plot(vma, title="VWMA", color=color.blue)
//VWAP//
//strategy//
SV = crossover(close, ma1)
SE = cci >= upperband
if (SV and SE)
strategy.order("S", strategy.short)
SC = crossunder(close, ma2)
if (SC)
strategy.close_all()
//strategy//
strategy.orderとstrategy.close_allの所のスペースはキーボードの[Tab]で開けてください。
トレードルールはシンプルです。
VWMA(出来高加重移動平均)に係数を掛けたラインの上ラインを上抜けた時にエントリーし、下ラインを下抜けた時にクローズします。
ただ、フィルターとしてCCI(商品チャネル指数)が200以上の買われ過ぎ状態のときのみとすることで期待値を上げています。
5分足のバックテスト結果です。
6月~の結果ですが、17回しかトレードしていません。
これではカーブフィッティングと言われても仕方がないかなと思います。
現に、右側の大きく損してるタイミングで稼働させ、いきなり損をくらいましたw
この後の検証について
そもそもショート専用でかつヒゲ取りという、心理的作用の大きいショートを逆張りで狙っていく、ゾクゾクするようなbotなので、私の性格に合わず、このトレードルールに対して更なる改良は行う気があまりありません。
むしろ、これを基に裁量トレードした方がよっぽど稼げるんじゃないかと思っています。
もし検証するなら、トレード回数を減らしているフィルターをCCIから他に変えるくらいかなと思っています。
例えばですが、
//@version=4
strategy(title="上ヒゲ取り", overlay=true)
//CCI//
length = input(15, minval=1)
src = input(low, title="Source")
upperband = input(200, title="Sトリガー")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
//CCI//
//VWAP//
len = input(33, "Length", minval=1)
vsrc = input(close, "Source", type = input.source)
vma = vwma(vsrc, len)
ma1=vma*1.005
ma2=vma*0.995
plot(ma1, title="VWMA", color=color.white)
plot(ma2, title="VWMA", color=color.white)
plot(vma, title="VWMA", color=color.blue)
//VWAP//
//strategy//
SV = crossunder(close, ma1)
SE = crossunder(cci, upperband)
if (SV and SE)
strategy.order("S", strategy.short)
SC = crossunder(close, ma2)
if (SC)
strategy.close_all()
//strategy//
strategyのエントリー条件を上のものと少し変えました。
こっちの方がより成績は良くなります。
2021.7.18 追加
もっとよい設定があったのでご参考程度に。
僕はこちらで動かし始めました。
//@version=4
strategy(title="上ヒゲ取り", overlay=true)
//CCI//
length = input(25, minval=1)
src = input(high, title="Source")
upperband = input(220, title="Sトリガー")
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
//CCI//
//VWAP//
len = input(32, "Length", minval=1)
vsrc = input(close, "Source", type = input.source)
vma = vwma(vsrc, len)
ma1=vma*1.005
ma2=vma*0.997
plot(ma1, title="VWMA", color=color.white)
plot(ma2, title="VWMA", color=color.white)
plot(vma, title="VWMA", color=color.blue)
//VWAP//
//strategy//
SV = crossunder(close, ma1)
SE = crossunder(cci, upperband)
if (SV and SE)
strategy.order("S", strategy.short)
SC = crossover(close, ma2)
if (SC)
strategy.close_all()
//strategy//
変更点は、
1. VWMAに掛ける係数を変更し、下ラインを上げた
2. 利確を「VWMAの下ラインを下抜けたら利確」から、「上抜けた時」に変更
3. その他パラメータ手直し
です。
5分足、bybit成行往復手数料込みの1か月間バックテスト結果。
下位足の価格乖離を刈り取るbotは市場心理を利用したものです。
市場心理が大きく変わった場合、この設定で勝てなくなる可能性は十分にあります。
ショートのbot開発について
今回の上ヒゲ取りbotは、つっこみロングと、ヨコヨコ相場のお祈りロングの損切を取りに行くことが狙いです。
ただ、これの怖いのはこのまま上がって行っちゃうパターンだとどこまでもついて行くことです。
初稼働でいきなりこれですw
バックテストの結果を見る限り、エントリー後続いて上がっていく場合はろくなことがないので、手動損切でもよいかもしれません。
さいごに
ここまで書いておいて今更なんですがこのbot、ヒゲ取ってないですよね。
上位足でみればヒゲ取りと言えなくもないですが。
ヒゲ取りbotじゃなくて、飛び乗りロンガー叩き落し拾いbotでしたね。
名前は自由に変更してください。
宣伝
Twitterやってます。
仮想通貨専用でアカウントを作っており、そちらでは日々のトレード日記とbot開発に関するイキりツイートをしております。
何の役にも立たないアカウントなので、フォロー非推奨です。
また、一点注意として、この記事から私のTwitterアカウントに飛ぶと本垢の方に飛んでいってしまいますので、下記ツイから仮想通貨専用アカウントに飛んでいただければと思います。
https://twitter.com/kata44362555/status/1410212700454416386
もし、私と一緒にbot開発してくださる方がいたらDMください。
ただ、pineスクリプトしかいじれないのと、スクリプトをいじる能力も初心者レベルなので予めご了承ください。
長くなりましたが最後に一言。相田みつをさんの詩で私の好きな詩で締めたいと思います。
そのうち、そのうち、そのうち、、、
できない理由を繰り返しているうちに、
結局は何もやらなかった空しい人生の墓がおりて
顔の上に淋しい墓標が立つ。
そうならないように。
ここから先は
¥ 100