久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

python怎么實(shí)現(xiàn)唐奇安通道策略

這篇文章主要介紹“python怎么實(shí)現(xiàn)唐奇安通道策略”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“python怎么實(shí)現(xiàn)唐奇安通道策略”文章能幫助大家解決問(wèn)題。

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的長(zhǎng)島網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

編寫(xiě)策略

到目前為止,你應(yīng)該很好地理解了原始唐奇安通道規(guī)則,以及我們將要改進(jìn)它的方法。現(xiàn)在我們就用代碼編寫(xiě)這個(gè)交易策略吧。

第1步:編寫(xiě)策略框架

策略框架其實(shí)就是兩個(gè)函數(shù),其中main函數(shù)是整個(gè)程序的入口函數(shù),也就是說(shuō)策略開(kāi)始執(zhí)行的時(shí)候,會(huì)先執(zhí)行main函數(shù);另外一個(gè)是onTick函數(shù),onTick只是一個(gè)函數(shù)的名字,當(dāng)然你也可以自由命名,onTick函數(shù)里面主要編寫(xiě)策略邏輯。整個(gè)框架其實(shí)就是在main函數(shù)中重復(fù)執(zhí)行onTick函數(shù)。

# 策略主函數(shù)
def onTick():
    pass


# 程序入口
def main():
    while True:  # 進(jìn)入無(wú)限循環(huán)模式
        onTick()  # 執(zhí)行策略主函數(shù)
        Sleep(1000)  # 休眠1秒

第2步:定義全局變量和外部參數(shù)
我們這個(gè)策略只需要一個(gè)控制虛擬持倉(cāng)的全局變量,所謂的虛擬持倉(cāng)指的是理論持倉(cāng)而非真實(shí)持倉(cāng),無(wú)論開(kāi)倉(cāng)還是平倉(cāng),我們都假設(shè)訂單已經(jīng)完全成交。

# 定義全局變量
mp = 0  # 用于控制虛擬持倉(cāng)

# 外部參數(shù)
long_coefficient = 0.999
short_coefficient = 1.001
cycle_length = 55

第3步:處理K線數(shù)據(jù)
我們?cè)谇懊嬉呀?jīng)定義過(guò),上軌是過(guò)去N天的最高價(jià)的最大值,下軌是過(guò)去N天的最低價(jià)的最小值。要想計(jì)算這兩個(gè)值,首先要先獲取基礎(chǔ)K線數(shù)據(jù)。但是在使用GetRecords方法獲取完基礎(chǔ)K線數(shù)據(jù)之后,先不要慌著計(jì)算上軌和下軌,而是先把數(shù)據(jù)處理一下。

因?yàn)槲覀冊(cè)谟?jì)算上軌和下軌的時(shí)候需要N個(gè)K線,如果K線數(shù)量太少就不能計(jì)算了,所以要加一個(gè)if條件,判斷當(dāng)前K線是否滿足我們所需要的數(shù)量,如果不滿足就直接返回,等待下一次循環(huán)。另外我們還需要從K線數(shù)組中提取當(dāng)前最新價(jià)格和上根K線的收盤(pán)價(jià),最新價(jià)格主要用于開(kāi)平倉(cāng),上根K線收盤(pán)價(jià)主要用于判斷開(kāi)平倉(cāng)信號(hào)。

有的朋友可能會(huì)問(wèn),為什么不直接使用最新的價(jià)格來(lái)判斷開(kāi)平倉(cāng)信號(hào)呢?這是因?yàn)槿绻褂米钚聝r(jià)格來(lái)判斷,就可能出現(xiàn)信號(hào)反復(fù)的問(wèn)題,同時(shí)也為了規(guī)避未來(lái)函數(shù)和偷價(jià)這些常見(jiàn)的量化交易問(wèn)題,所以我們的策略在設(shè)計(jì)上是:當(dāng)前K線出信號(hào),下根K線發(fā)單。

exchange.SetContractType("rb000")  # 訂閱期貨品種
bar_arr = exchange.GetRecords()  # 獲取K線數(shù)組
if len(bar_arr) < cycle_length + 1:  # 判斷K線數(shù)組的長(zhǎng)度
    return  # 如果K線長(zhǎng)度過(guò)小,就直接返回
close_new = bar_arr[len(bar_arr) - 1]['Close']  # 獲取最新價(jià)格(賣價(jià)),用于開(kāi)平倉(cāng)
close_last = bar_arr[len(bar_arr) - 2]['Close']  # 上根K線收盤(pán)價(jià),用于

第4步:計(jì)算上軌、下軌、中軌
在發(fā)明者量化交易軟件中,已經(jīng)內(nèi)置了talib庫(kù)中的Highest函數(shù)和Lowest函數(shù),所以我們直接調(diào)用這兩個(gè)函數(shù)就可以計(jì)算上軌和下軌的值。但因?yàn)槲覀兪鞘褂蒙细鵎線收盤(pán)價(jià)為基準(zhǔn),來(lái)判斷它與上軌、下軌、中軌的位置關(guān)系來(lái)開(kāi)平倉(cāng),所以在計(jì)算上軌和下軌之前需要先刪除K線數(shù)組中的最后一個(gè)元素。

bar_arr.pop()  # 去掉K線數(shù)組最后一個(gè)元素,策略是當(dāng)前K線出信號(hào),下根K線發(fā)單,這樣可以避免未來(lái)函數(shù)和偷價(jià)
on_line = TA.Highest(bar_arr, cycle_length, 'High') * long_coefficient  # 計(jì)算上軌
under_line = TA.Lowest(bar_arr, cycle_length, 'Low') * short_coefficient  # 計(jì)算下軌
middle_line = (on_line + under_line) / 2  # 計(jì)算中軌

第5步:下單交易
根據(jù)Python的語(yǔ)法規(guī)則,要想在函數(shù)內(nèi)使用外部的全局變量,需要在使用這個(gè)變量之前,先用global關(guān)鍵字把變量引入。注意下面代碼中的注釋,真?zhèn)€代碼流程是使用if語(yǔ)句,然后根據(jù)我們之前定義的策略邏輯來(lái)編寫(xiě)。有兩個(gè)地方需要注意,一個(gè)是在下單之前需要先設(shè)置下單的類型方向,也就是先調(diào)用SetDirection函數(shù)。另一個(gè)是在下單之后,要把虛擬持倉(cāng)變量mp重新賦值。

global mp # 引入全局變量

if mp == 0:  # 如果當(dāng)前無(wú)持倉(cāng)
    if close_last > on_line:  # 如果價(jià)格大于上軌
        exchange.SetDirection("buy")  # 設(shè)置交易方向和類型
        exchange.Buy(close_new, 1)  # 開(kāi)多單
        mp = 1  # 設(shè)置虛擬持倉(cāng)的值,即有多單
    elif close_last < under_line:  # 如果價(jià)格小于下軌
        exchange.SetDirection("sell")  # 設(shè)置交易方向和類型
        exchange.Sell(close_new - 1, 1)  # 開(kāi)空單
        mp = -1  # 設(shè)置虛擬持倉(cāng)的值,即有空單

# 如果持多單,并且價(jià)格小于下軌
if mp > 0 and close_last < middle_line:
    exchange.SetDirection("closebuy")  # 設(shè)置交易方向和類型
    exchange.Sell(close_new - 1, 1)  # 平多單
    mp = 0  # 設(shè)置虛擬持倉(cāng)的值,即空倉(cāng)

# 如果持空單,并且價(jià)格大于上軌
if mp < 0 and close_last > middle_line:
    exchange.SetDirection("closesell")  # 設(shè)置交易方向和類型
    exchange.Buy(close_new, 1)  # 平空單
    mp = 0  # 設(shè)置虛擬持倉(cāng)的值,即空倉(cāng)

完整策略代碼

# 回測(cè)配置
'''backtest
start: 2015-02-22 00:00:00
end: 2019-11-27 00:00:00
period: 1h
exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
'''


# 定義全局變量
mp = 0  # 用于控制虛擬持倉(cāng)


# 外部參數(shù)
long_coefficient = 0.999
short_coefficient = 1.001
cycle_length = 55


def onTick():
    exchange.SetContractType("rb000")  # 訂閱期貨品種
    bar_arr = exchange.GetRecords()  # 獲取K線數(shù)組
    if len(bar_arr) < cycle_length + 1:
        return
    close_new = bar_arr[len(bar_arr) - 1]['Close']  # 獲取最新價(jià)格(賣價(jià)),用于開(kāi)平倉(cāng)
    close_last = bar_arr[len(bar_arr) - 2]['Close']  # 上根K線收盤(pán)價(jià)
    bar_arr.pop()
    on_line = TA.Highest(bar_arr, cycle_length, 'High') * long_coefficient
    under_line = TA.Lowest(bar_arr, cycle_length, 'Low') * short_coefficient
    middle_line = (on_line + under_line) / 2

    global mp # 引入全局變量
    
    if mp == 0:  # 如果當(dāng)前無(wú)持倉(cāng),并且在規(guī)定的交易時(shí)間內(nèi)
        if close_last > on_line:  # 如果價(jià)格大于上軌
            exchange.SetDirection("buy")  # 設(shè)置交易方向和類型
            exchange.Buy(close_new, 1)  # 開(kāi)多單
            mp = 1  # 設(shè)置虛擬持倉(cāng)的值,即有多單
        elif close_last < under_line:  # 如果價(jià)格小于下軌
            exchange.SetDirection("sell")  # 設(shè)置交易方向和類型
            exchange.Sell(close_new - 1, 1)  # 開(kāi)空單
            mp = -1  # 設(shè)置虛擬持倉(cāng)的值,即有空單
    
    # 如果持多單,并且價(jià)格小于下軌或者非規(guī)定的交易時(shí)間
    if mp > 0 and close_last < middle_line:
        exchange.SetDirection("closebuy")  # 設(shè)置交易方向和類型
        exchange.Sell(close_new - 1, 1)  # 平多單
        mp = 0  # 設(shè)置虛擬持倉(cāng)的值,即空倉(cāng)
    
    # 如果持空單,并且價(jià)格大于上軌或者非規(guī)定的交易時(shí)間
    if mp < 0 and close_last > middle_line:
        exchange.SetDirection("closesell")  # 設(shè)置交易方向和類型
        exchange.Buy(close_new, 1)  # 平空單
        mp = 0  # 設(shè)置虛擬持倉(cāng)的值,即空倉(cāng)
    LogStatus(mp)
      
        
# 程序入口      
def main():
    while True:
        onTick()
        Sleep(1000)  #休眠1秒

關(guān)于“python怎么實(shí)現(xiàn)唐奇安通道策略”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

標(biāo)題名稱:python怎么實(shí)現(xiàn)唐奇安通道策略
瀏覽路徑:http://www.js-pz168.com/article12/jcipdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司網(wǎng)站策劃網(wǎng)站建設(shè)搜索引擎優(yōu)化網(wǎng)站制作響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
97视频资源在线观看| 91在线观看一区二区| 波多野结衣精品在线| 岛国视频一区| 日韩精品久久久毛片一区二区| 一本到高清视频免费精品| 欧美男生操女生| 久久视频一区二区| 亚洲激情图片一区| 日韩精品欧美精品| 国产成人在线免费| 99re在线视频上| 亚洲蜜桃在线| 日韩三级精品电影久久久| 中文字幕av不卡| 天堂va蜜桃一区二区三区| 国产成人午夜视频| 久久艳妇乳肉豪妇荡乳av| 91久久国产最好的精华液| 欧美精品一区二区三区很污很色的| 亚洲免费毛片网站| 狠狠色丁香久久婷婷综合丁香| 91尤物视频在线观看| 日本一区二区三区四区高清视频 | 国产亚洲1区2区3区| 一区二区三国产精华液| 国产一区日韩二区欧美三区| 97se亚洲国产综合自在线观| 日日噜噜噜噜夜夜爽亚洲精品| 欧美亚洲国产一区在线观看网站| 日韩午夜激情av| 欧美国产禁国产网站cc| 亚洲国产精品人人做人人爽| 美腿丝袜亚洲色图| 国产伦精品一区二区三区在线 | 国产成人h网站| 欧美日韩精品中文字幕一区二区| 欧美日韩激情一区二区| 国产精品国产三级国产普通话三级 | 国产无人区一区二区三区| 亚洲成人自拍一区| 国产精品乱子久久久久| 青青草原综合久久大伊人精品优势| 成人黄色电影在线| 亚洲一二三区精品| 国产亚洲欧美日韩俺去了| 日韩成人免费电影| 国产精品伊人日日| 欧美日本一区二区在线观看| 中文字幕在线不卡视频| 国产精品一区二区三区网站| 另类视频在线观看+1080p| 日韩一级片在线观看| 亚洲午夜三级在线| 3d动漫啪啪精品一区二区免费| 杨幂一区欧美专区| 国产精品免费网站在线观看| 国产美女在线精品| 欧美日韩一区二区三区在线视频 | 午夜精品久久久久| 9a蜜桃久久久久久免费| 精品视频在线看| 亚洲黄色片在线观看| 99精品欧美一区二区三区综合在线| 一本久久综合亚洲鲁鲁五月天| 国产精品午夜在线观看| 国产成人在线免费| 午夜精品一区二区三区四区| 欧美精品一区二区久久久| 日产精品久久久久久久性色| 国产精品区一区| 91精品久久久久久久99蜜桃| 亚洲国产aⅴ天堂久久| 成人h精品动漫一区二区三区| 欧美艳星brazzers| 亚洲摸摸操操av| 99在线影院| 日韩免费观看2025年上映的电影| 日韩精品一级二级| 日本精品一区二区三区不卡无字幕| 精品国产网站在线观看| 久久福利资源站| 五月婷婷综合色| 中文字幕一区二区视频| 暴力调教一区二区三区| 欧美日韩在线综合| 亚洲在线视频网站| 国外成人在线视频网站| 精品国产精品一区二区夜夜嗨| 美国欧美日韩国产在线播放| 天堂一区二区三区| 亚洲欧美日韩在线| 国产99视频精品免费视频36| 日韩精品在线看片z| 久久97超碰色| 正在播放一区二区三区| 亚洲一区免费观看| 久久精品日韩| 国产精品久久久久久久久搜平片 | 中文字幕国产一区| 国产尤物一区二区| 欧美网站一区二区| 免费看精品久久片| 亚洲三区四区| 亚洲在线免费播放| 欧美性天天影院| 国产精品日韩成人| 99视频免费观看| 久久久久97国产精华液好用吗| 成人午夜免费视频| 欧美一区二区三区公司| 久久精品国产亚洲aⅴ| 色综合久久久久综合体桃花网| 亚洲综合一区二区三区| 精品国产乱码久久久久久蜜柚| 国产午夜精品久久| 91手机在线视频| 久久久久久久久久久久久夜| 成人免费毛片app| 日韩欧美国产wwwww| 国产成人超碰人人澡人人澡| 欧美一区二区三区在线| 国产一区三区三区| 欧美欧美欧美欧美首页| 国产精品自拍av| 日韩一区二区在线看片| 成人av午夜电影| 久久久www成人免费毛片麻豆| 97精品电影院| 国产欧美精品在线观看| 国产精品高清一区二区三区| 国产精品水嫩水嫩| 激情小说综合区| 日韩久久一区二区| 噜噜噜噜噜久久久久久91| 亚洲欧美另类图片小说| 欧美性色黄大片人与善| 亚洲一区二区三区四区在线免费观看| 日韩高清dvd| 日韩激情av在线| 欧美在线观看一区二区| 国产制服丝袜一区| 日韩欧美中文一区| 成人国产电影网| 亚洲精品一区二区三区99| 国产一区二区三区四区五区在线| 日本一区二区免费在线观看视频| 99re免费视频精品全部| 欧美激情一区二区三区在线| 一区二区三区在线观看国产| 成人av网站在线| 欧美日本一区二区三区| 国产精品一二三| 久久久不卡网国产精品一区| 久久久福利视频| 午夜精品一区二区三区电影天堂| 欧美性高清videossexo| 不卡视频一二三| 亚洲欧美一区二区不卡| 91久久精品一区二区三| 成人免费看的视频| 亚洲品质自拍视频| 欧美性xxxxxxxx| 91在线精品观看| 五月天久久比比资源色| 日韩一区二区视频| 精品日本一区二区三区在线观看| 亚洲第一激情av| 日韩一二三区不卡| 久久99蜜桃综合影院免费观看| 日本不卡免费在线视频| 26uuu精品一区二区三区四区在线| 久久人人九九| 国产一区 二区 三区一级| 国产女人aaa级久久久级 | 精品福利一区二区三区| 久久久久久久有限公司| 久久福利资源站| 国产精品天干天干在观线 | 日韩国产精品久久| 亚洲精品一区在线观看| 欧洲精品一区色| 国产成人丝袜美腿| 亚洲男人天堂一区| 国产成人丝袜美腿| 一区二区三区日韩在线观看| 欧美精品国产精品| 久久伊人资源站| 国产大陆a不卡| 一区二区三区在线视频免费| 欧美一区二区三区成人| 女同一区二区| 岛国精品在线观看| 亚洲国产aⅴ天堂久久| 欧美精品一区二区三区久久久| 亚洲精品一区二区毛豆| 91美女视频网站| 久久精品理论片| 亚洲欧美一区二区三区久本道91| 宅男噜噜噜66一区二区66|