用Python投資加密貨幣:手機監控與自動下單 (Part 12)

我們上次已經寫好了「核心」程式
但什麼時候,才能執行這些程式呢?
總共有兩種方式啟動程式:

  1. 一種是連上網監控
  2. 另一種是時間間格、自動下單(每4小時)

1. 連上網監控

我們可以用「新增觸發條件」來觸發,
並且點選「API Gateway」:



最後會給你一個網址
用任何手機、筆電 連進去就可以了!

2. 時間間格、自動下單

首先我們先將原本的 API Gateway 刪除
然後再增加新的 Trigger:每4小時執行一次


這樣就會四小時執行一次了!

假如我們希望它四小時判斷多空與下單,
可以將上一個單元的範例
做以下的修改

  1. 新增 client 使用金鑰登入(可以到 Binance 申請)
  2. 做多時,要買入「BTCUSDT」
  3. 做空時,賣出「BTCUSDT」

以下的範例,在做空時,
我們只單純的賣出,而不額外做空
因為我們現在是用現貨且無槓桿的交易帳戶
所以沒有辦法做空喔!
假如想要做BTC期貨,也可以參考官方的Margin Trading End Point

以下就是現貨範例,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import json
from binance.client import Client

def lambda_handler(event, context):

##########
# Login #
##########

# before:
# client = Client()

# after:
PUBLIC = '<YOUR-PUBLIC-KEY>'
SECRET = '<YOUR-SECRET-KEY>'
QUANTITY = 0.0001

client = Client(api_key=PUBLIC, api_secret=SECRET)

###################
# historical data #
###################

klines = client.get_historical_klines("BTCUSDT", Client.KLINE_INTERVAL_4HOUR, "two week ago")

def sma(n):
return sum([float(k[4]) for k in klines[-n-1:-1]])/n

def prev_sma(n):
return sum([float(k[4]) for k in klines[-n-2:-2]])/n

sma60 = sma(65)
sma5 = sma(5)

psma60 = prev_sma(65)
psma5 = prev_sma(5)

###################
# Trade #
###################

ret = ''

if sma5 > sma60 and psma5 < psma60:
ret = 'long'
order = client.order_market_buy(
symbol='BTCUSDT',
quantity=QUANTITY)

if sma5 < sma60 and psma5 > psma60:
ret = 'short'
order = client.order_market_sell(
symbol='BTCUSDT',
quantity=QUANTITY)

if sma5 < sma60 and psma5 < psma60:
ret = 'hold short'

if sma5 > sma60 and psma5 > psma60:
ret = 'hold long'

# TODO implement
return {
'statusCode': 200,
'body': json.dumps('btc-trading-signal: ' + ret)
}

經過這12個單元,
相信大家對於加密貨幣量化交易有初步的理解
大概瞭解如何建構一個自動化的交易系統

你會發現
手刻一個交易系統,其實沒有很難
難的在於,
如何「系統化」的建立一個多元的交易策略
研發多個策略 並統整起來,
考驗大家撰寫策略、系統化的能力

怕輸太多錢嗎?
沒關係,因為加密貨幣可以切割至 10 的 8 次方!
就算你有一百種不同的策略,
也可以用300元台幣順利分散風險喔!
所以不要再猶豫了,趕快來試試看吧!

文章不錯,影音課程更讚:


或我們按個 鼓勵一下吧!