ビットコイン 自動売買 BOT 作成〈講座〉 Bybit取引所 最強ボットの作り方
-更新2021-03-27
USDTのペアでBTCを取引ソースコード更新いたしました。
symbola = "BTCUSDT"
# 利確用の差額(ドル)自由設定できる
BUYPROFIT= 200
SELLPROFIT= 600
-更新2021-02-11
VSCodeでPython実行環境構築
Discord交流会ご参加
僕はものまねが好きだ! ものまねをやっていると 知識を簡単に勉強できる。ものまねが上手くなりたいと思っているあなた。
残りの人生の時間は短いし。 後悔しないようにBot自動売買手法を勉強しましょう。
今回は超初心者がbotトレードで自動売買するための最短ルートを作成します。
これからBot系開発の知識を一緒に勉強して行きましょう。
今回、Bybit 取引所を戦場に、pythonのccxtというライブラリを利用したbotを動かしています。
公式サイトの確認
https://www.bybit.com
私の紹介リンクから登録すると下記のボーナスが適用されます。
https://www.bybit.com/ja-JP/register?affiliate_id=7282&language=ja-JP&group_id=0&group_type=1
やりたいこと
今回のロジックは下記となります、
while true:
APIで価格を取得する
シグナルを計算する
if ポジションを持っていない:
if 買いシグナルが出た:
買い注文を出す
else:
if 利確シグナルが出た:
利確注文を出す
elif 損切シグナルが出た:
損切注文を出す
sleep(30)//30秒待機
(1)価格を取得してシグナルを計算する
(2)まだポジションを取ってなければ、買いシグナルを確認し、シグナルが出ていれば買い注文を出す。出ていなければ何もしない。
(3)もし既にポジションを取っていれば、利確シグナルを確認する。シグナルが出ていれば利確注文を出す。出ていなければ、損切シグナルを確認する。シグナルが出ていれば損切注文を出す。両方出ていなければ何もしない。
(4)30秒間待機して、また(1)に戻る
事前に、必要なライブラリを導入
sudo pip-3.6 install requests
sudo pip-3.6 install ccxt
sudo pip-3.6 install bybit
まず、(1)価格を取得してシグナルを計算する
#最終価格を取得する
last = ccxt_bybit.fetch_ticker('BTCUSD')['last']
シグナルのロジックは下記となります。
チャネルブレイクアウト戦略導入。
トレンドフォローの戦略として広く知られているものです。1960年代にドンチャンが考案し、その後「タートルズ」という投資集団によって有名になりました。古典的な手法ではありますが、その有効性ゆえ、多くのヘッジファンドが使うトレード手法のベースとなっている、という話もあります。
価格が設定した期間の最高値を上回った場合「買い・ロング」、設定した期間の最安値を下回ったら「売り・ショート」という非常にシンプルな手法です。よく、水平サポートラインや水平レジスタンスラインを引いてそれを抜けたらエントリをする、という裁量の手法があります。チャネルブレイクアウト戦略は、それをシステム的に実現するものとも言えるでしょう。ちなみに、最高値と最安値のバンドをHLバンドと呼んだりもします。
チャネルブレイクアウトは一定期間以上の中長期トレードに有効性があるとされています。設定期間には20や40を使うことが多いようです。
完成したイメージは下記の通りです。
BybitのAPI申請画面は下記となります。事前に準備しておきましょう。
API発行手順
bybitのアカウント&セキュリティ
→API管理
→新しいキーの作成
→名前:お好きな名前
→IPに接続(ホワイトリスト、無ければ省略)
→キー許可(発注する場合はアクティブな注文は必要です、読み込むだけならポジションです)
ではソースで説明しましょ。
まず-設定項目開始
#--------設定項目開始--------
#指定すると通知します
DISCORDURL = ''
# エントリー用
# 1度に売買する数量(ドル)
LOT = 100
# 単価監視用
# ループの待ち時間
SLEEP = 30
# 売買対象の取引所
EXCHANGE = 'bybit'
#レバレッジ設定
LEVERAGE = 3
ccxt_bybit = ccxt.bybit(
{
"apiKey": あなたのAPI,
"secret": あなたのSECRET,
"enableRateLimit": True,
"verbose": False,
"options": {"adjustForTimeDifference": True},
}
)
#レバレッジ設定をbybitに反映する
symbola = "BTCUSD"
result = ccxt_bybit.Positions.Positions_saveLeverage(symbol=symbola, leverage=LEVERAGE).result()
#--------設定項目完了--------
次はアカウントのポジションを確認する
ここから先は
¥ 9,850
この記事が気に入ったらサポートをしてみませんか?