MT4 自動売買EA最強の口座認証を構築その3
この記事の続きになります
口座番号のリストをGoogleスプレッドシートで準備が出来ましたので、認証サーバーを契約していきます。
どこのサービスでもいいのですが、KAGOYAというサービスが日割りで契約できそうなのでこちらで構築していきたいと思います。
KAGOYA CLOUD VPSを契約して、インスタンスを作成します。
Ubuntu22.04LTSでインスタンスを作成しました。
ログイン用の認証キーを作成します。
作成後に秘密鍵がダウンロードされます。下記のteraterm接続にて使用します。
下記URLから、サーバーに接続するTeraTermのインストールと設定を行いサーバーに接続してください。
TeraTermでログイン出来たら下記のようなウィンドウが立ち上がっていると思います。
このまま設定行っちゃいます。下記のようにコマンド打ってください。必要なプログラムをインストールします。コピペで行けます。teratermでのペーストは、マウスの右クリックでペーストされます。
sudo apt update
sudo apt -y upgrade
sudo apt -y install python3-pip
pip3 install pandas
pip3 install gspread
pip3 install oauth2client
pip3 install gspread-dataframe
途中でピンクの画面で選択を迫られますが、気にせずenterで進む。
プログラム類がインストール出来たら、先日作成したスプレッドシートからデータを受信できるかテストしてみましょう。下記コマンドでtest.pyというファイルを作成し、編集モードに入ります。
nano test.py
真っ黒な画面ですが、編集画面です。その画面にプログラムを書いていきます。ここもコピペしましょう。6行目のスプレッドシートIDは前回スプレッドシートを作成した時のIDを記載してください。シート名を変更していれば、シート名も合わせて記載してください。
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import pandas as pd
from gspread_dataframe import get_as_dataframe, set_with_dataframe
SS_ID = 'スプレッドシートID'
scopes = [
'https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive'
]
credentials = ServiceAccountCredentials.from_json_keyfile_name(
'./service_account.json',
scopes=scopes
)
gc = gspread.authorize(credentials)
workbook = gc.open_by_key(SS_ID)
worksheet = workbook.worksheet("シート1")
df_read = get_as_dataframe(worksheet)
print(df_read)
ここまで打ったら、キーボードのctrlを押しながらo(オー)を押してください。このキーの組み合わせが、ファイルの保存です。キーを押したら、下の方に
[File Name to Write: test.py_]と表示されますのでそのままEnterキーで保存確定させます。保存が終わりましたら、キーボードのctrlを押しながらx(エックス)を押してください。これでファイルの編集モードを抜けられます。
次に、スプレッドシートの鍵を作成します。下記コマンドで、新しいファイルを作成してください。
nano service_account.json
スプレッドシートを作成した時にダウンロードしたJSONファイルをメモ帳などで開きコピペしてください。下記のような感じになると思います。
コピペしたらctrl+o →ctrl+xで編集を終えてください。
次に、スプレッドシートの接続テストを行います。
python3 test.py
と、コマンドを打つとスプレッドシートのデータが返ってきたら接続成功です。
root@v133-**-**-***:~# python3 test.py
口座番号 名前
0 123456.0 太郎
1 234567.0 花子
2 345678.0 うんこ
3 NaN NaN
4 NaN NaN
.. ... ...
995 NaN NaN
996 NaN NaN
997 NaN NaN
998 NaN NaN
999 NaN NaN
[1000 rows x 2 columns]
root@v133-**-***-***:~#
認証サーバーとスプレッドシートの接続までを完了しました。
本日はここまで(^^♪
今回作成したtest.pyは不要なので、下記コマンドで削除します。
rm test.py
モチベーション維持のために、投げ銭頂けると頑張れます(笑)
ここから先は
¥ 300
この記事が参加している募集
この記事が気に入ったらチップで応援してみませんか?