久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Python股票期貨交易利器,磚型圖詳細繪制教程!

     追夢文庫 2020-04-05

    一、磚型圖簡介。

    在所有行情軟件中,記錄價格波動軌跡的幾乎都是K線圖,只有在很少的程序化量化軟件中才有磚型圖的身影。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    熱卷hc2005

    磚型圖顧名思義,相當于是用磚頭一塊一塊地拼湊而成記錄價格波動軌跡的圖形,稱之為“磚型圖”。

    每一塊磚的尺寸都一致,這里的尺寸是指行情每上漲或下跌一定距離,就繪制下一塊磚型圖,如果行情沒有達到這個尺寸,無論行情走了多久,我們都不會更新磚型圖。因此,磚型圖的走勢始終就只有上漲和下跌兩個方向。

    二、磚型圖的優勢。

    (一)讓行情走勢結構更加的清晰。

    在k線圖中,行情如果遇到小幅的盤整,行情在一個很小的區間內來回突突,迷惑你,并且看上去走了很長的一段時間,實際上它并沒有上漲或下跌多少。

    但是,采用磚型圖看行情的話,如果將這個區間設置成磚型圖的尺寸,那么在這個區間只繪制一塊磚,從而減少交易者在此區間的錯誤判斷。

    Python股票期貨交易利器,磚型圖詳細繪制教程!
    Python股票期貨交易利器,磚型圖詳細繪制教程!

    tick行情走勢

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    尺寸=2,磚型圖

    (二)降低周期參數對整個公式或指標計算的影響。

    我們都知道,k線是按照時間周期來進行繪制的,因此每到一個時間節點它都會進行切換并重新繪制,這樣的話如果在橫盤期間價格一直不怎么動,指標一樣要滾動計算。

    拿均線來說,這樣計算出來的值很可能就是一根橫向整理的線條,但如果采用磚型圖進行繪制均線或計算其他指標的話,就會降低這樣的影響程度。如下圖所示:

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    一旦采用磚型圖,就沒有時間概念了,只有空間的概念。

    三、磚型圖代碼編寫。

    磚型圖我們可以也看做沒有影線的k線,磚的最頂部我稱作最高價,最底部我稱為最低價。繪制磚型圖之前,首先我們要了解單塊磚型圖的構造和多塊磚型圖如何組合。

    假設,下列行情的開盤價為3555。

    (一)單塊磚型圖。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    假設,上圖是開盤前5分鐘的走勢,開盤下跌。當價格下跌到5跳的時候,第一塊磚的最高價就是開盤價,最低價就是開盤價-尺寸(5跳),如果開盤價=3555。

    磚的最高價就是3555

    磚最低價就是3555-5=3550。

    如果開盤后上漲了5跳,那么磚最低價就是開盤價3555,最高價就是3560。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    這是第一塊磚型圖的畫法。但是,最重要的是組合磚型圖的畫法,組合方式只有4種。

    (二)組合磚型圖畫法。

    1.上漲行情的組合。如果市場一開盤就往上走并且超過了2個尺寸,也就是10跳。當第一塊繪制完成之后,價格回調并沒有達到5跳,進而繼續上揚上漲了5跳,那此時磚型圖的最高最低價如何確定。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    最高價:上一塊的最高價+5跳 ,即:3560+5 = 3565。

    最低價:上一塊的最高價,即:3565。

    如果行情繼續往上,同時回調不夠5跳,那么繼續按照此邏輯繪制。

    2.下跌行情組合。如果市場一開盤就往下走并且超過了2個尺寸,也就是10跳。當第一塊繪制完成之后,價格回調并沒有達到5跳,進而繼續下跌了5跳,那此時磚型圖的最高最低價如何確定。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    開盤價:3555

    最高價:上一塊的最低價 ,即:3550。

    最低價:上一塊的最低價-5跳,即:3550-5 = 3545。

    如果行情繼續往下,同時回調不夠5跳,那么繼續按照此邏輯繪制。

    3.上漲后反轉組合。當市場已經走了兩塊磚了,此時遇到阻力位掉頭并向下跌了5跳,此時的最高價最低價如何確定。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    最高價:上一塊的最低價 ,即:3560。

    最低價:上一塊的最低價-5跳,即:3560-5 = 3555。最低價又回到開盤價位置。

    如果行情繼續往下,同時回調不夠5跳,那么繼續按照此邏輯繪制。

    4.下跌后反轉組合。當市場已經走了兩塊磚了,此時遇到支撐位掉頭并向上漲了5跳,此時的最高價最低價如何確定。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    最高價:上一塊的最高價+5跳 ,即:3550+5 = 3555。

    最低價:上一塊的最高價,即:3550。最高價又回到開盤價位置。

    如果行情繼續往上,同時回調不夠5跳,那么繼續按照此邏輯繪制。

    5.震蕩反轉組合。如果出現以下行情,繪制方法是和上面的三種繪制方法是一致的。主要出現在行情在某個區間內上漲5跳后突然反轉下跌5跳,反轉結束之后緊接著有反方向漲5跳,如此反復觸發設定的尺寸。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    6.一個tick多次觸發多個尺寸組合。這種情況,是比較少見的,比如一筆超級大單子突然出現,將行情一次就推了100跳,那么此時應該怎么繪制。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    如果出現這種情況,用100/5=20個尺寸,直接循環繪制20次,最高價和最低價按照上面4個方法進行繪制,下跌100跳也是按照這樣的思路。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    (三)代碼實現。

    1.總的繪制邏輯:

    (1)計算最新一個tick與上一個tick的差值,然后除以尺寸,得出需要繪制的次數。

    (2)當出現余數時,當前這塊磚繪制完成后,將余數傳回下一個tick繼續累加。

    (3)繪制完一塊時,通過count = count +1 的方式作為磚型圖的x軸,y軸是最高價和最低價。

    2.代碼繪制邏輯。

    (1)導入模塊并獲取8000個tick數據,品種使用rb2005。

    import pandas as pd

    from tqsdk import TqApi

    from datetime import timedelta

    from matplotlib.path import Path

    from matplotlib.patches import PathPatch

    import matplotlib.pyplot as plt

    import numpy as np

    api = TqApi()

    ticks = api.get_tick_serial("SHFE.rb2005",8000)

    (2)首先我們要計算最新一個tick與上一個tick的差值,然后除以尺寸,得出需要繪制的次數和需要傳回繼續累加的余數。

    參數變量設置

    def renko_charts():
    dis_sum = 0 # 每更新一個tick都將漲跌幅累加,直到至少滿5跳繪制后,將余數傳回繼續累加
    dis_sum_list = [] # 漲跌幅累加一次,就將當時的累計漲跌幅存入,方便后續判斷上一根是否虧損。
    Renko_h = [] # 記錄每塊磚的最高價,用于計算均線。
    location = [] # 存儲每一塊磚的坐標,后面繪制。
    dot = 5 # 磚的尺寸
    count = 0 # X軸坐標
    k_list = [] # 用于存儲磚的最高價最低價

    如果變動了至少1個尺寸,計算繪制次數和余數。decimals 代表余數(需要傳回繼續累加),integer代表整數(需要繪制的次數)

        for i in range(len(ticks)):
    last_price = ticks['last_price'].iloc[i]
    last_time = pd.to_datetime(ticks.datetime.iloc[i]) + timedelta(hours=8)

    if i ==0:
    k_list.append(last_price)
    Renko_h.append(last_price)

    else:
    "統計換線閥值 >= 5,換線"
    dis_sum = dis_sum + (last_price - ticks['last_price'].iloc[i-1])

    "如果變動了5個點,就換線"
    if abs(dis_sum) >= dot:
    "計算循環繪制次數-閥值的倍數,下一個Tick繼續累加"
    if dis_sum / dot<0:
    decimals = float('-0.' + str(dis_sum / dot).split('.')[1])
    else:
    decimals = float('0.' + str(dis_sum / dot).split('.')[1])

    integer = int(float(str(abs(dis_sum) / dot).split('.')[0]))

    首先我們要計算出第一塊是陰還是陽,然后在根據前一塊的陰陽和當前陰陽情況進行繪制最新的一塊磚。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    繪制第一塊:也就是說只判斷第一次統計等于或超過尺寸的情況。

    "循環繪制-連續出現N條磚"
    for j in range(integer):
    dis_sum_list.append(dis_sum)
    count += 1
    print('---------------------------------------------------------')
    print('---------------------------------------------------------')
    "如果是上漲"
    if len(Renko_h) == 1:
    # print('換線了---------------')
    if dis_sum_list[-1] > 0:
    k = k_list[-1] + dot
    "最低價"
    k_list.append(k_list[-1])
    "最高價"
    k_list.append(k)
    dis_sum = decimals # 將剩余部分傳回最新一個tick繼續累加漲跌幅
    print("最高價:%s,最低價:%s"%(k_list[-1],k_list[-2]))
    "基準價"
    Renko_h.append(k)
    print(Renko_h)
    "磚形圖坐標"
    location.append([(count-1,k_list[-2]) ,(count-1,k_list[-1]),
    (count,k_list[-1]),(count,k_list[-2]), (count, last_price)])

    elif dis_sum_list[-1] < 0:
    # print('換線了---------------')
    k = k_list[-1] - dot
    "最低價"
    k_list.append(k)
    "最高價"
    k_list.append(k_list[-1])
    dis_sum = decimals # 將剩余部分傳回最新一個tick繼續累加漲跌幅
    print("最高價:%s,最低價:%s" % (k_list[-1], k_list[-2]))
    Renko_h.append(k_list[0])
    location.append([(count-1,k_list[-2]) ,(count-1,k_list[-1]),
    (count,k_list[-1]),(count,k_list[-2]), (count, last_price)])

    繪制第N塊:在上面代碼中,我們已經得到了第一塊的最高價最低價,以及坐標。

    最高價:k_list[-1]

    最低價:k_list[-2]

    那么在接下來我們,我們繪制第N塊磚。

    當上一塊是陽,繪制當前陰陽兩種情況。

    Python股票期貨交易利器,磚型圖詳細繪制教程!
    Python股票期貨交易利器,磚型圖詳細繪制教程!

    當上一塊是陰,繪制當前陰陽兩種情況的思路和上述一致。

    繪制磚型圖到畫布:rb2005合約tick數據,尺寸 = 2跳。

    length=10
    average = []
    for i in range(len(Renko_h)):
    if i<length:
    average.append(np.nan)
    else:
    average.append(np.mean(Renko_h[i - length:i]))
    print(average)
    fig, (ax1,ax2) = plt.subplots(2,1,figsize = (20,10))
    codes = [Path.MOVETO] + [Path.LINETO] * 3 + [Path.CLOSEPOLY]

    for i in range(len(location)):
    if i==0:
    if location[i][2][1] > 0 and dis_sum_list[0]>0:
    path = Path(location[i], codes)
    pathpatch = PathPatch(path, facecolor='r', edgecolor='black')
    ax2.add_patch(pathpatch)
    ax2.autoscale_view()

    elif location[i][2][1] < 0 and dis_sum_list[0]<0:
    path = Path(location[i], codes)
    pathpatch = PathPatch(path, facecolor='g', edgecolor='black')
    ax2.add_patch(pathpatch)
    ax2.autoscale_view()

    else:
    if location[i][2][1] > location[i-1][2][1]:
    path = Path(location[i], codes)
    pathpatch = PathPatch(path, facecolor='r', edgecolor='black')
    ax2.add_patch(pathpatch)
    ax2.autoscale_view()

    else:
    path = Path(location[i], codes)
    pathpatch = PathPatch(path, facecolor='g', edgecolor='black')
    ax2.add_patch(pathpatch)
    ax2.autoscale_view()

    ax2.plot(average)
    ax1.plot(ticks['last_price'])
    plt.show()

    if __name__ == '__main__':
    renko_charts()

    run:

    rb2005合約tick數據,尺寸 = 2跳。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    尺寸 = 3跳。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    尺寸 =4跳。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    尺寸 = 5跳。

    Python股票期貨交易利器,磚型圖詳細繪制教程!

    6.上面的不同尺寸的磚型圖中,我們可以得出,尺寸越大磚的數量就越少。反之,越多。

    總結。

    本文主要分享了磚型圖的簡介,算法和代碼實現。利用磚型圖進行交易的人非常少,但并不意味著用它賺不了錢,因為大部分的行情軟件都只有按時間節點來繪制的k線圖,并沒有按照空間來進行繪制。

    其實k線圖和磚型圖的最大區別是,一個是按照時間繪制,一個是按照空間來繪制,兩者的出發點懸殊非常大,思考的方式也不一樣。

    當然還有另外2種描述價格的算法,量能為閥值的,量能k線,以包含關系的,纏論,這些都值得去研究一下。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 久久亚洲精品中文字幕波多野结衣 | 免费人成网站视频在线观看| 亚洲VA中文字幕无码久久| 无码AV免费永久免费永久专区| 日韩精品人妻中文字幕| 精品一区二区不卡无码AV| 亚洲gay片在线gv网站| 国产线观看免费观看| 无码8090精品久久一区| 国产亚洲精品AA片在线爽| 国产成人亚洲精品无码青APP| 开心一区二区三区激情| 欧美性XXXX极品HD欧美风情| 高清偷拍一区二区三区| 欧美亚洲日韩国产人成在线播放| 久久精品不卡一区二区| 免费人妻无码不卡中文字幕18禁| 亚洲精品一区二区区别| 宝贝扒开下面自慰给我看| 宅男噜噜噜66在线观看| 老司机久久99久久精品播放免费| 噜噜久久噜噜久久鬼88| 宝贝腿开大点我添添公视频免 | 无码精品人妻一区二区三区免费看| 无码激情亚洲一区| 最新无码国产在线视频人与| 综合色一色综合久久网| 18禁男女爽爽爽午夜网站免费| 四虎国产精品免费久久久| 亚洲国产午夜精品理论片妓女| 亚洲中文字幕无码爆乳APP| 国产91午夜福利精品| 五月天婷婷激情无码专区| 亚洲色大成网站WWW国产| 精品偷拍一区二区三区| 欧美日韩精品一区二区视频| 隔壁老王国产在线精品| 国产一卡2卡三卡4卡免费网站| 日韩免费无砖专区2020狼| 久久久久波多野结衣高潮| 日本高清视频色WWWWWW色|