仮想通貨自動売買botを作ろうシリーズ_10---スペースを使いこなそう---

※以降は全て、windows10を前提にお話しています。
※不明な所は、都度ググって確かめる癖をつけておきましょう。
※読んでみて価値が無いと思われた方は、「返金申請」をしてください。

前号はこちら


<ifやwhileの後にはインデント>

前回までで、if文やwhile文の条件が揃った時に実行されるコードは、「半角スペース4個ずらした所から書き始める」と、理由も言わずに書いてきました。
ここで、「スペースの意味」について説明します。

まず「半角スペース4個分ずらす」事を、通常は「インデント」と呼びます。
使用されているエディタによっては、キーボードのTab(タブ)ボタンを押すことで自動的に半角スペース4個ずらした状態になりますので、人によってはタブと呼ぶ人もいますが同じ事です。
エラーメッセージなどは「インデント」と出ますので、私はインデントと呼ぶ派です。

この「行の先頭に」半角スペース4個と言うのは、実は「意味のある」事で、「インデントと言う命令」だと覚えても良いかもしれません。
インデントは、その前の行にあるif文やwhile文の「子供となるサブプロセス」のイメージです。
つまり、親であるif文やwhile文と「ワンセット」の物だと考えてください。
なので、「意味なく」インデントを入れるとエラーになったり暴走したりします。

前回までで、if文の下の階層でもう一度if文と言うのをやりましたが、そうやって階層が増えるたびにインデントを付けていけば、無限に階層を深くしていく事が可能です。

「while True: # インデントなし」
「    if ほにゃらら: # インデント1回」
「        if ほにゃらら: # インデント2回」
「            while True: # インデント3回」
「                print('ほにゃらら') # インデント4回」
「                # インデントで階層を無限に続けることが可能」

木の枝をイメージして、どんどん命令の中身が分岐していく感じです。
こうしてインデントを付ける事で、色んな条件による枝分かれの処理が可能になってきます。

例えばbotの場合だと、通常は売買botが動いているけど、日付が変わる瞬間だけ損益通知をLINEに送る様にするとかで、全く違う処理を枝分かれで実現させていく事が可能になってきます。
サンプルコードを書いておきます。

「while True:」
「    if 現在の時刻が23時59分を超えたかの判断:」
「        LINEへ損益通知をするコード」
「    else:」
「        自分の証拠金残高を取得するコード」
「        LTPを取得するコード」
「        どこに指値を置けばよいか計算するコード」
「        実際に発注するコード」

何となくbotの作り方の全体像が理解できてくる頃かと思います。


以降の有料部分に書かれているのは、
<言葉の区切りにスペースを入れる>
<行をまたいでもスペースは有効>
<条件式が入る命令の最後には決まった記号を付けよう>


※※※無料※※※

ここから先は

3,721字

¥ 100

この記事が気に入ったらサポートをしてみませんか?