こんにちは。ノマド家族のぱぱぞん(@nomadkazoku)です。
2023年4月、我が家はマレーシア移住をはたし、クアラルンプールで暮らしています。
産油国であるマレーシアは電気代が安く、半導体のシェアもなにげに世界7位と知り、ビットコインのマイニングを始められないものかと妄想する今日このごろです。
関連記事
>> ビットコインとは何か?初心者(嫁&子供)向けわかりやすく解説した本
ビットコインほどの値動きの激しさがあれば自動売買でも余裕で儲けられそうじゃん!
と思い立った僕は、Pythonの勉強がてら、暗号資産(仮想通貨)の自動売買ツールの開発をしてみました。
しかしながら、現実はそんなに甘くなく、自動売買のアルゴリズムの研究にはまだまだ時間がかかりそうなので、ひとまずシンプルにコツコツ購入するだけの「自動積立プログラム」を完成させました。
3分動画でサクッと使い方を解説してみましたので、まずはコチラをご覧ください!
今回は、淡々とドルコスト平均法でビットコインを積立るためのビットコイン自動積立のサンプルプログラムの一部を公開させて頂きつつ、そのコードの中身を解説をしてみたいと思います。
※あくまでノンプログラマーのコードですので、各自最低限のJavaScriptの知識を備えた上で【自己責任】でのご利用をお願いします。
※一つのコードを購入し、ご自身で改変して別の取引所に対応して頂いても大丈夫です。
ビットコイン×自動積立プログラムの相性が良い理由は、以下の記事で解説しています。
関連記事
>> ビットコインは自動積立がおすすめ!メリット・デメリットを解説
ビットコイン自動積立プログラム|GAS×API
今回作成したプログラムの基本動作は、以下の通りです。
あくまで、1つの取引所で、1つの通貨を積立てるシンプルな積立設計です。
プログラムで設定可能な項目は以下の3つです。
③について補足・・・「指値」はプログラム動作時の直近価格を取得します。
ビットコインは今すぐに必要なわけではないので「直近の値段より少し低めの値段で発注したい」と考えました。
その変数「DISCOUNT」の初期値は「0.99」(=1%低め)に設定しています。
確実に購入したい場合はこの数値を「1」に、お手頃価格で購入したい方は低めに設定してください。
ただし!この数値を下げすぎると取引が成立しない可能性もあるのでご留意くださいませ!
複数の通貨を積立てたい場合は、プログラムを複製して並行してご利用ください。
腕に自身のある方はコード自体の改造にもチャレンジしてみてください!
プログラミングなんてもう無理!
という方は、取引所の「自動積立サービス」を利用しましょう!
関連
>> ビットコインの始め方 いくらから買える?▶もらう&P交換も手段!
>> 求む!!自動つみたて|暗号資産取引所-取扱銘柄数ランキング2021
GMOコイン用
bitbank用
Coinchek用
bitFlyer用
BTC自動積立プログラム稼働に必要なもの
プログラムの動作に必要なものは、以下の4つです。
①暗号資産取引口座 (要入金)
②取引口座のAPIキー → APIとは?
③Googleアカウント
④LINE Notify トークン ※オプション
それぞれ詳細を解説します!
仮想通貨の取引口座
以下の対応口座の内、いずれかをお持ちであればOKです。
①bitFlyer
②GMOコイン
③bitbank
④コインチェック
口座をお持ちでない場合は、いずれかの口座開設をご検討ください。
特にこだわりがなければ、取引手数料マイナス(≒キャッシュバック)もあるbitbankがおすすめです。
口座には「注文」の動作確認用に最低1万円程度を口座に入金しておいてください。
取引口座のAPIキー
WEBでAPIの接続をするためには以下の2つが必要です。
・APIキー(アクセスキー)
・APIシークレットキー
ログインIDとパスワードのようなものだとお考えください。
これらは、各取引所のメニューから無料で発行可能です。
以下の記事を参考にAPIキーを取得して下さい
関連記事
>> 2022 仮想通貨取引所 API一覧とキーの取得方法
最新情報は、各取引所のヘルプページをご参照ください。
Googleアカウント
Google Apps Script(GAS)を使うために必要です。
万が一、アカウントをお持ちでない方がいたら作りましょう!
Google Apps Script(GAS)とは?
Googleが提供するJavaScriptベースの開発環境です。
Gmail、Googleカレンダー、スプレッドシートなどGoogleが提供するサービスとの連携し、さまざまな便利なツールを作る事ができます。
とはいえ、今回のプログラムでは、特に連携機能は利用していません。
LINE Notify トークン
あくまでオプションの機能なので、不要なら省略してもOKです。
全自動とは言え、残高不足に気づかず放置してしまうと機会損失になるので「残高不足」と「発注完了」時にLINE通知する機能をつけています。
下記のページからLINEにログインし、トークンを取得してください。
LINE Notify
LINE NotifyはGitHub,IFTTT,MackerelなどのWebサービスからの通知を、LINEで受信することが出来る便利なサービスです。
以上、準備ができたら、早速各プログラムのソースコードをコピペしましょう!
【コピペOK】BTC自動積立プログラム
ソースコードは、note または Stripeからご購入頂けます。
※あくまでノンプログラマーのコードですので、各自最低限のJavaScriptの知識を備えた上で【自己責任】でのご利用をお願いします。
ちなみに販売開始から1年以上経ちますが、サポートのお問合せ率は約2割で、8割の方は自力で積立を開始できているようです。
補足:ビットコイン自動積立のスプレッド
スプレッドとは、“売値と買値”の差額のことです。
仮想通貨取引所には「販売所」と「取引所」があり、ほとんどの「販売所」では取引手数料は”無料”に設定されていますが、実質的にはこのスプレッドに取引所の利益(手数料)が含まれています。
値動きが激しいタイミングほど、在庫コインの損失リスクが増すため、スプレッドは広がる(手数料高)傾向にあり、値動きが安定しているタイミングは、スプレッドは狭まる(手数料安)傾向があります。
参考までに2022年5月4日22時頃の取引所と販売所の価格差をスクショして見ました。
自動積立では、購入タイミングのスプレッド(≒値動きの激しさ)は判断できないため、自動積立の購入場所を「取引所」に設定することで購入コストを数%下げる効果があると考えます。
ちなみに、主な取引所でもビットコインの自動積立サービスがありますが購入は「取引所」ではなく「販売所」価格に設定されています。
仮に平均スプレッドを+1%と見積もった場合、本note販売額「1,500円」を回収するためには、ざっと15万円以上の積立てが必須です。ご購入判断の材料にしてみて下さい!
BTC自動積立用取引所の比較
各取引所の特徴は以下の通り。
“自動積立”を設定するなら、ぼくのオススメはbitbankです。
詳しくはこちらの記事もご参照下さい!
API対応通貨一覧
各取引所の対応通貨数と主な通貨の最小注文数量は、以下の通りです。
APIを利用した自動積立用の取引口座としては、bitbankがオススメです。
関連記事
>> まずはビットコインから!取引手数料が安いオススメ暗号資産取引所
BTC自動積立プログラムの使い方【10分作業】
設定作業は、ほぼコピペです。なれた方であれば10分程度で完了します。
利用したいコードをコピーする
まずは、利用したい取引所のコードをコピーしてください。
Google Apps Scriptを開きペースト
以下のURLより、Google Apps Scriptのページを開き、
「+新しいプロジェクト」を作成し、エディタ内にまるっとペーストしてください。
初期設定(自分のAPIキーをコピペする)
「必要なもの」でご用意頂いた下記3点をプログラム内にコピペしてください。
コピペ①|API(アクセス)キー
コピペ②|シークレットキー
コピペ③|LINE Notify トークン
※③は、LINE通知を使用したい場合のみ
LINE Notifyを有効化する
「LINE Notify」がなくても動作するように、デフォルトでは「LINE通知」の命令を無視する設定(コメントアウト)になっています。
「LINE通知」を利用する場合は「//★削除★//」部分を削除し「lineNotify(strBody)」を有効にしてください。
積立設定(通貨・予算・値下げ)をする
7〜11行目の①COIN(積立対象通貨)、②AMOUNT(積立額)、③DISCOUNT(値下げ率)を設定してください。
【COIN】対応通貨 & 大文字 or 小文字に注意!
※取引所によって対応通貨や記入方法が違うので、各ソースの8行目「対応通貨」からコピペして下さい。
【AMOUNT】最小注文数量に注意!
※bitFlyerは「Lightning 現物」を利用するため、
0.001BTC(1BTC500万円の場合)▶5,000円以上に設定する必要があります。
※その他の取引所は、
0.01BTC(1BTC500万円の場合)▶500円以上に設定しておけば大丈夫かなと。
【DISCOUNT】少しでも割安に買いたい!
※確実に購入したい場合は、”1″に設定し、現在価格をそのまま適応させてください。
ただし暗号資産は1日数%の上下は日常茶飯事なので、プログラムで取得する現在価格より、少し低めに設定しておくことで、平均購入価格を下げるのが良いのかなと思います。
動作確認をする
設定が完了したら、動作確認をしてみましょう。
初回のみ、GAS実行の承認作業が必要になります。
承認後、以下の順番でパートごとにプログラムを実行してみて下さい。
動作確認の順番は、一応、動作しやすい順に並んでいます。
①getbuyPrice(Public API-GET) ※APIキー不要
②getBalance(Private API-GET) ※APIキー必要だが、BODY(指示)不要
③order(Private API-POST) ※APIキーもBODY(指示)も必要
①〜③が動作すれば、基本的には④も動くはずです。
手順は以下のスライドをご参照下さい
★注意★
「Order」の動作確認では、成功すると実際にに注文されてしまうため、あらかじめ注文額をかなり低めに設定にするなどして、キャンセルできるようにしておきましょう!
※「DISCOUNT」は、0.7=30%OFF程度に設定し、指値が成立しないようにする。
※「AMOUNT」は、各取引所の”最小注文数量“以上になるようにご留意下さい。
※日本円の残高が不足している場合、エラーになる可能性があります。
積立頻度(トリガー)設定をする
左メニューの時計マークから、トリガーを開き「トリガーを追加」し設定を保存。
①実行する関数を選択 ▶ main
②実行するデプロイを選択 ▶ Head
③イベントのソースを選択 ▶ 時間主導型
④時間ベースを選択 ▶ (お好みで)
⑤時間の間隔を選択 ▶ (お好みで)
以上で設定は完了です。
積立な必要なご予算は、ご自身で計画的に入金して下さい!
よくある質問
読者さんから頂く質問です。
「ORDER」実行時にLINEへの通知は来るが、取引所での注文が実行されない…。
設定予算が小さすぎる場合、もしくは、コインの価格が急上昇してしまった場合、各取引所の最低注文数量に満たなくなってしまうケースがあるようです。
プログラム初期設定では、各取引所のビットコイン”最小注文数量“を基準に小数点の位置を設定してありますが、予算や通貨の価格上昇に合わせて、小数点の位置を調整してみてください。
結論 仮想通貨はドルコスト平均法でコツコツ積立
以上、今回は国内4つの取引所に対応した「ビットコイン自動積立プログラム」の使い方を解説をしてみました。
※大事なことなのでしつこく繰り返しますが、あくまでノンプログラマーのコードですので、各自最低限のJavaScriptの知識を備えた上で【自己責任】でのご利用をお願いします。
値動きの激しい暗号資産は、人間の弱い意志では購入するタイミングを決めるのがとても難しいため、「自動積立」はとても有効な購入方法だと思います。
僕自身「買わなきゃ買わなきゃ」と思いつつ値上がりし続けるビットコインに全く手を出せずにいました。現在のような下落相場は躊躇不要な自動積立を始めるにはよいタイミングだと思います。
プログラミングの利用が難しそうだと感じた方は、多少割高となりますが各取引所の「自動積立サービス」を利用するのも良いかもしれません。
ビットコインを0.01枚(約4万円分)持つ人は、まだ世界の人口のたった0.1%
いまだ保有する人は少なく、希少価値のある存在です!
1枚の価格に面食らわず、自分の資産の数%だけでもビットコインで持っておくことは十分に意味のあることだと思います。
以上、長文失礼いたしました!m(_ _)m
コメント
[…] ー取得。以下サイトからスクリプトをパクってGAS(Google Apps Script)に投入。LINE Notifyトークンを作った。 【無料】ビットコイン自動積立プログラム|GAS×API|Coinchek/bitFlyer/GMOコイン/bitbank […]