見出し画像

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

モチベーション維持のために、投げ銭頂けると頑張れます(笑)

ここから先は

0字

¥ 300

この記事が参加している募集

この記事が気に入ったらチップで応援してみませんか?