Exemplo n.º 1
0
from haohaninfo import GOrder  # 匯入模組

Broker = 'Simulator'  # Yuanta(元大證券)、Capital(群益證券)、Capital_Future(群益期貨)、Kgi(凱基證券)、Kgi_Future(凱基期貨)、Simulator(虛擬期貨)
Kind = 'match'  # match(成交資訊)、commission(委託資訊)、updn5(上下五檔資訊)
Prod = 'TXFJ9'  # 商品代碼(GOrder內需先訂閱該商品)
lastTime = None  # 存放上一筆資料的時間
Close = []  # 存放每分鐘的收盤價
MA_List = []  # 存放每分鐘的MA值
MA = None  # 定義MA值
N = 5  # 定義MA期數

# 串接GOrder即時報價
GO = GOrder.GOQuote()
for i in GO.Describe(Broker, Kind, Prod):
    time = i[0]  # 時間
    minute = time[14:16]  # 分鐘
    price = float(i[2])  # 價格

    if time == lastTime:  # 同一分鐘
        Close[-1] = price  # 不斷更新最近一根K棒的收盤價
    else:  # 不同分鐘
        Close.append(price)  # 新增一根K棒的收盤價

    if len(Close) >= N:  # 陣列裡的收盤價數量足夠就可以開始計算MA指標
        MA = sum(Close[-N:]) / N  # 期數為N期的MA指標

        if time == lastTime:  # 同一分鐘
            MA_List[-1] = MA  # 不斷更新最近一根K棒的MA值
        else:  # 不同分鐘
            MA_List.append(MA)  # 新增一根K棒的MA值
Exemplo n.º 2
0
# Yuanta(元大證券)、Capital(群益證券)、Capital_Future(群益期貨)、Kgi(凱基證券)、Kgi_Future(凱基期貨)、Simulator(虛擬期貨)
Broker = 'Masterlink_Future'
PriceOffer = 'Simulator'

# match(成交資訊)、commission(委託資訊)、updn5(上下五檔資訊)
Kind = 'match'

# 取即時報價的商品代碼(GOrder內需先訂閱該商品)
Prod = 'TXFA0'

# 取得當天日期
Date = datetime.datetime.now().strftime("%Y/%m/%d")

# 定義報價指令的物件
GOQ = GOrder.GOQuote()
# 定義下單指令的物件
GOC = GOrder.GOCommand()

endTime = datetime.datetime.strptime('2020/1/3 16:33:10', '%Y/%m/%d %H:%M:%S')
import tick2OHLC

A = tick2OHLC.tick2OHLC()
for row in GOQ.Describe(PriceOffer, Kind, Prod):
    time = datetime.datetime.strptime(row[0], '%Y/%m/%d %H:%M:%S.%f')
    price = float(row[2])
    print(time, price)
    A.put(time, price)

    # if time >= endTime:
    #     GOQ.EndDescribe()