本ブログでは、文系初心者でも挫折しないように、いきなり自動売買(トレード)のBOTを作ってみる、というところから、プログラミングを始めます。そのため、プログラミングの基本のような教科書の説明はしません。
ただしプログラムの実行方法だけは知ってないと話にならないので、今から、前回の記事でインストールしたAnacondaを使って1つだけPythonプログラムを書いてみましょう。
まずはPythonのエディタを用意する
プログラムを書くためのエディタを用意します。
エディタは別に何でも構いません。メモ帳で書いても、ファイル形式を「.py」で保存すれば、ちゃんとPythonのファイルになります。私は起動が重いソフトが嫌いなので、sakuraエディタを使っています。
・サクラエディタ
他には、Spyderという開発環境(エディタ)もあります。AnacondaでPythonをインストールした方なら、一緒にSpyderもインストールされているので、そちらを使ってもいいでしょう。(Windowsのスタートメニューで「Spyder」と検索すると出てきます)
色々比較して検討したい方は、「python mac エディタ」「python windows エディタ おすすめ」などで検索して探してみるといいでしょう。
Pythonのコードを書いてみる
ひとまず「現在の時間を表示するPythonプログラム」というのを書いて作ってみましょう。
最初に適当にUserフォルダの下などにPythonプログラムを書くためのフォルダを作ってください。ここでは、わかりやすいように「C:ドライブ」の真下に「Pydoc」というフォルダを作ってみました。
次にテキストエディタを起動して、以下のような文字を書いてみましょう。
from datetime import datetime
time = datetime.now().strftime("%Y/%m/%d %H:%M:%S")
print(time)
一応、意味だけ簡単に説明しておきます。
私と同じような文系初心者が、いきなり実践をしながらプログラミングを学ぶために大事なことは、なるべく「意味のわからないままコピー」せずに、意味を調べながら「自分の手で書き写す」ことです。
初心者のうちはプログラミングは、自分で0からコードを書くのではなく、ほとんどの場合、Googleで検索してそれっぽいコードを拾い、その内容をカスタマイズして組み合わせることになります。そのときに、意味を調べる習慣がないと、動かないときに何がおかしいのか、何を調べればいいのかわからず、そこで挫折してしまいます。
簡単にいうと、上記のコードは以下の意味です。
1)1行目で、datetimeというライブラリをインポートしている
2)2行目で、datetime.now() という命令をして、現在の時刻を取得している
3)それに .strftime(“%Y/%m/%d %H:%M:%S”)を繋げて、以下のようなかたちに整形している
(〇年/〇月/〇日 〇時:〇分:〇秒)
4)上記の整形した結果を、timeという変数に代入している
5)3行目で、print()でtimeに代入した内容を表示している
とりあえず、この流れを何となく押さえれば今はOKです。
では、このテキストファイルを適当な名前で保存してみましょう。
ここでは、test.pyという名前にします。
サクラエディタの場合は、左上の「ファイル->名前を付けて保存」で以下のように保存します。
※ 「文字コードセット」はUTF-8で保存する習慣をつけてください。当サイトのコードをそのままコピペする場合、UTF-8でないと文字化けします。
ちゃんと保存先が先ほど作ったフォルダになっているか、を確認してください。またファイル名は「test.py」ですが、このとき、ファイルの種類が「すべてのファイル」になっていることを確認してください。
Pythonを実行する
それでは、pythonファイルを実行します。
windowsの左下のスタートメニューから、「Anaconda Prompt」を検索してください。
以下のような画面です。
※ まだAnacondaをインストールしていない方は、こちらの記事を読んでください。
「Anaconda Prompt」を起動すると以下のような画面になります。
まずPythonのプログラムを実行するためには、Pythonのプログラムファイル(先ほど作った「test.py」)のある場所を、このAnacondaプロンプトに指定してあげなければなりません。
デフォルトではパスが、Anacondaをインストールした「C:\Users\ユーザー名」になっていますが、Pythonファイルは、C:ドライブの下のPydocフォルダにあるので、そこに移動しましょう。
以下のようなコマンドを打って「Enter」を押します。
cd ../../
「cd」とはチェンジディレクトリの意味で、現在のディレクトリを移動するというコマンドです。
../は、1つ上のディレクトリに移動することを意味します。
ここでは、Cドライブまで遡りたいので、2つ上(../../)に移動します。
これでCドライブの下に移動できました。
ついでに同じ要領で、先ほど作った「Pydoc」というフォルダに移動しておきましょう。
以下のコマンドを打ちます。
cd Pydoc
これで、現在のディレクトリを「Pydoc」フォルダに設定することができました。
これでフォルダ内にあるPythonファイルを実行できる状態になりました。
Pythonファイルを実行するコマンド
Pythonファイルを実行するには、以下のコマンドを入力します。
python test.py
要するに、(Pythonファイルのあるディレクトリに移動した上で)、「python ファイル名」と入力することで、pythonプログラムを実行します。これは今後、何度も何度も使うことになるコマンドなので、ここまでの手順は覚えてしまいましょう。
このコマンドでEnterを押して、以下のように現在時刻が表示されれば、成功です。
私の場合は、今回、Cディレクトリの下に「Pydoc」フォルダを作りましたが、どこに作成しても手順は同じです。「cd」コマンドでフォルダを移動してから、「python ファイル名」コマンドで実行します。
なお毎回、Anacondaプロンプトを起動するたびに、ディレクトリを移動するのが面倒だという場合は、こちらの記事を参考にしてデフォルト(初期)の作業フォルダをPydocに変更することができます。
プロンプトの画面の消し方
ここでもう1つだけセットで覚えてしまって欲しいことがあります。
それが、画面をクリアするコマンド(「cls」)です。
Anacondaプロンプトでは、コマンドの入力とその結果がどんどん画面に蓄積されていきます。また、以下のように入力コマンドを間違えたりすると、「Anacondaプロンプト」に長々とエラー文が表示されます。
これを消したいときは、「cls」というコマンドを入力してください。
最初のまっさらな画面に戻ります。
まとめ
ここまで学ぶことができれば、あなたはPythonプログラムを自分で書いて作り、実際に動かすことができるようになりました。実はこれで、Bitflyerなどの仮想通貨取引所に、自動で買いや売りの注文を出すために必要なことは、ほとんどすべて習得したといっても、過言ではありません。
あなたは「現在時刻を表示する」というプログラムを書くために、ものすごく複雑で長いコードを自分で書く必要はありませんでした。あらかじめ用意されている、datetimeというライブラリにそのような命令(関数)が用意されているので、それをインポートするだけで、現在時刻を取得できたのです。
実は、仮想通貨の自動売買BOTを作るのもほとんど同じです。
あらかじめ、賢い人たちが作ってくれたプログラムを借りるだけで、かなり多くのことができます。次の記事では、仮想通貨の自動売買BOTで、絶対に使うことになる「API」というものを学んでみましょう。
APIって何?APIを使ってみよう