R-Breaker策略怎么編寫

這篇“R-Breaker策略怎么編寫”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“R-Breaker策略怎么編寫”文章吧。

大石橋網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司

一、摘要

R-Breaker策略由Richard Saidenberg開發(fā),并于1994年公布于世。在之后連續(xù)十五年被美國(guó)《Futures Truth》雜志評(píng)選為前十大最賺錢的交易策略之一。與其他策略相比,R-Breaker是趨勢(shì)與反轉(zhuǎn)相結(jié)合的交易策略。不僅可以捕捉趨勢(shì)行情獲得大利潤(rùn),還可以在行情反轉(zhuǎn)的時(shí)候,及時(shí)主動(dòng)止盈并順勢(shì)反手。

二、阻力位與支撐位

簡(jiǎn)單的說(shuō),R-Breaker策略就是一個(gè)支撐位和阻力位策略,它根據(jù)昨日的最高價(jià)、最低價(jià)和收盤價(jià),計(jì)算出七個(gè)價(jià)格:一個(gè)中心價(jià)(pivot)、三個(gè)支撐位(s1、s2、s3)、三個(gè)阻力位(r1、r2、r3)。然后根據(jù)當(dāng)前價(jià)格與這些支撐位和阻力位的位置關(guān)系,以形成買賣的觸發(fā)條件,并且通過(guò)一定的算法調(diào)整,調(diào)節(jié)這七個(gè)價(jià)格之間的距離,進(jìn)一步改變交易的觸發(fā)值。

  • 突破買入價(jià)(阻力位r3) = 昨日最高價(jià) + 2 *(中心價(jià) - 昨日最低價(jià))2

  • 觀察賣出價(jià)(阻力位r2) = 中心價(jià) +(昨日最高價(jià)-昨日最低價(jià))

  • 反轉(zhuǎn)賣出價(jià)(阻力位r1) = 2 * 中心價(jià) - 昨日最低價(jià)

  • 中心價(jià)(pivot) =(昨日最高價(jià) + 昨日收盤價(jià) + 昨日最低價(jià))/ 3

  • 反轉(zhuǎn)買入價(jià)(支撐位s1) = 2 * 中心價(jià) - 昨日最高價(jià)

  • 觀察買入價(jià)(支撐位s2) = 中心價(jià) -(昨日最高價(jià) - 昨日最低價(jià))

  • 突破賣出價(jià)(支撐位s3) = 昨日最低價(jià) - 2 *(昨日最高價(jià) - 中心價(jià))

由此我們可以看到,R-Breaker策略是根據(jù)昨天的價(jià)格繪制了一個(gè)類似網(wǎng)格的價(jià)格線,并且每天更新一次這些價(jià)格線。在技術(shù)分析上支撐位和阻力位,并且兩者的作用可以互相轉(zhuǎn)換。當(dāng)價(jià)格成功向上突破阻力位時(shí),阻力位變成了支撐位;當(dāng)價(jià)格成功向下突破支撐位時(shí),支撐位變成了阻力位。

在實(shí)際交易中,這些支撐位和阻力位為交易者指出了開平倉(cāng)方向和精確等買賣點(diǎn)位。具體的開平倉(cāng)條件交易者可以根據(jù)盤中價(jià)格、中心價(jià)、阻力位、支撐位靈活定制,也可以根據(jù)這些網(wǎng)格價(jià)格線進(jìn)行加減倉(cāng)的頭寸管理。

三、策略邏輯

接下來(lái),讓我們看一下R-Breaker策略是怎樣利用這些支撐位和阻力位的。它邏輯一點(diǎn)也不復(fù)雜。如果當(dāng)前沒(méi)有持倉(cāng)就進(jìn)入趨勢(shì)模式,當(dāng)價(jià)格大于突破買入價(jià)就開倉(cāng)做多;當(dāng)價(jià)格小于突破賣出價(jià)就開倉(cāng)做空。

  • 趨勢(shì)模式

    • 多頭開倉(cāng):如果無(wú)持倉(cāng),并且價(jià)格大于突破買入價(jià)

    • 空頭開倉(cāng):如果無(wú)持倉(cāng),并且價(jià)格小于突破賣出價(jià)

    • 多頭平倉(cāng):如果持多單,并且當(dāng)日最高價(jià)大于觀察賣出價(jià),并且價(jià)格小于反轉(zhuǎn)賣出價(jià)

    • 空頭平倉(cāng):如果持空單,并且當(dāng)日最低價(jià)小于觀察買入價(jià),并且價(jià)格大于反轉(zhuǎn)買入價(jià)

  • 反轉(zhuǎn)模式

    • 多頭開倉(cāng):如果持空單,并且當(dāng)日最低價(jià)小于觀察買入價(jià),并且價(jià)格大于反轉(zhuǎn)買入價(jià)

    • 空頭開倉(cāng):如果持多單,并且當(dāng)日最高價(jià)大于觀察賣出價(jià),并且價(jià)格小于反轉(zhuǎn)賣出價(jià)

    • 多頭平倉(cāng):如果持多單,并且價(jià)格小于突破賣出價(jià)

    • 空頭平倉(cāng):如果持空單,并且價(jià)格大于突破買入價(jià)

如果有持倉(cāng)時(shí)就進(jìn)入反轉(zhuǎn)模式,當(dāng)持有多單時(shí),并且當(dāng)日最高價(jià)大于觀察賣出價(jià),并且價(jià)格跌破反轉(zhuǎn)賣出價(jià)就平掉多頭持倉(cāng)反手做空。當(dāng)持有空單時(shí),并當(dāng)日最低價(jià)小于觀察買入價(jià),并且價(jià)格突破反轉(zhuǎn)買入價(jià)就平掉空頭持倉(cāng)反手做多。

四、策略編寫
'''backteststart: 2019-01-01 00:00:00end: 2020-01-01 00:00:00period: 5mexchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]'''# 策略主函數(shù)def onTick():# 獲取數(shù)據(jù)exchange.SetContractType(contract_type)   # 訂閱期貨品種bars_arr =exchange.GetRecords(PERIOD_D1)  # 獲取日K線數(shù)組if len(bars_arr) < 2:  # 如果K線數(shù)量小于2根returnyesterday_open = bars_arr[-2]['Open']     # 昨日開盤價(jià)yesterday_high = bars_arr[-2]['High']     # 昨日最高價(jià)yesterday_low = bars_arr[-2]['Low']       # 昨日最低價(jià)yesterday_close = bars_arr[-2]['Close']   # 昨日收盤價(jià)# 計(jì)算pivot = (yesterday_high + yesterday_close + yesterday_low) / 3 # 樞軸點(diǎn)r1 = 2 * pivot - yesterday_low # 阻力位1r2 = pivot + (yesterday_high - yesterday_low) # 阻力位2r3 = yesterday_high + 2 * (pivot - yesterday_low) # 阻力位3s1 = 2 * pivot - yesterday_high  # 支撐位1s2 = pivot - (yesterday_high - yesterday_low)  # 支撐位2s3 = yesterday_low - 2 * (yesterday_high - pivot)  # 支撐位3today_high = bars_arr[-1]['High'] # 今日最高價(jià)today_low = bars_arr[-1]['Low'] # 今日最低價(jià)current_price = _C(exchange.GetTicker).Last #當(dāng)前價(jià)格# 獲取持倉(cāng)position_arr = _C(exchange.GetPosition)  # 獲取持倉(cāng)數(shù)組if len(position_arr) > 0:  # 如果持倉(cāng)數(shù)組長(zhǎng)度大于0for i in position_arr:if i['ContractType'] == contract_type:  # 如果持倉(cāng)品種等于訂閱品種if i['Type'] % 2 == 0:  # 如果是多單position = i['Amount']  # 賦值持倉(cāng)數(shù)量為正數(shù)else:position = -i['Amount']  # 賦值持倉(cāng)數(shù)量為負(fù)數(shù)profit = i['Profit']  # 獲取持倉(cāng)盈虧else:position = 0  # 賦值持倉(cāng)數(shù)量為0profit = 0  # 賦值持倉(cāng)盈虧為0if position == 0:  # 如果無(wú)持倉(cāng)if current_price > r3:  # 如果當(dāng)前價(jià)格大于阻力位3exchange.SetDirection("buy")  # 設(shè)置交易方向和類型exchange.Buy(current_price + 1, 1)  # 開多單if current_price < s3:  # 如果當(dāng)前價(jià)格小于支撐位3exchange.SetDirection("sell")  # 設(shè)置交易方向和類型exchange.Sell(current_price - 1, 1)  # 開空單if position > 0:  # 如果持有多單if today_high > r2 and current_price < r1 or current_price < s3:  # 如果今日最高價(jià)大于阻力位2,并且當(dāng)前價(jià)格小于阻力位1exchange.SetDirection("closebuy")  # 設(shè)置交易方向和類型exchange.Sell(current_price - 1, 1)  # 平多單exchange.SetDirection("sell")  # 設(shè)置交易方向和類型exchange.Sell(current_price - 1, 1)  # 反手開空單if position < 0:  # 如果持有空單if today_low < s2 and current_price > s1 or current_price > r3:  # 如果今日最低價(jià)小于支撐位2,并且當(dāng)前價(jià)格大于支撐位1exchange.SetDirection("closesell")  # 設(shè)置交易方向和類型exchange.Buy(current_price + 1, 1)  # 平空單exchange.SetDirection("buy")  # 設(shè)置交易方向和類型exchange.Buy(current_price + 1, 1)  # 反手開多單# 程序主函數(shù)def main():while True:     # 循環(huán)onTick()    # 執(zhí)行策略主函數(shù)Sleep(1000) # 休眠1秒

以上就是關(guān)于“R-Breaker策略怎么編寫”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)名稱:R-Breaker策略怎么編寫
當(dāng)前網(wǎng)址:http://muchs.cn/article36/pdgisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、標(biāo)簽優(yōu)化ChatGPT自適應(yīng)網(wǎng)站、網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(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)站網(wǎng)頁(yè)設(shè)計(jì)