日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

说说海龟交易法则的基本原理,如何实现海龟交易策略?

發(fā)布時(shí)間:2023/12/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 说说海龟交易法则的基本原理,如何实现海龟交易策略? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址:https://www.fmz.cn/digest-topic/8978
什么是海龜策略?
幾乎所有的寬客(Quant)都聽說過海龜交易策略,該策略以海龜交易法則為核心。海龜交易法則,起源于八十年代的美國,是一套簡單有效的交易法則。這個(gè)法則以及使用這個(gè)法則的人的故事被寫成了一本書——《海龜交易法則》,這是一本入門量化投資的經(jīng)典書籍。

股票證券的程序化、量化交易以前門檻可不低,以前軟件支持少,賬戶開戶門檻極高。FMZ.CN(國內(nèi)站)支持富途證券、中泰XTP,開通了富途證券就可以很方便的做程序化模擬盤、實(shí)盤測試。本篇我們就一起學(xué)習(xí)設(shè)計(jì)一個(gè)股票版本的多品種海龜交易策略,初期我們主要基于回測系統(tǒng)進(jìn)行設(shè)計(jì)、研究,慢慢的擴(kuò)展至富途證券的模擬盤(模擬賬戶)。

策略設(shè)計(jì):
策略架構(gòu)我們參考http://FMZ.CN上開源的「商品期貨多品種海龜策略」。和商品期貨版本一樣,我們設(shè)計(jì)一個(gè)海龜交易邏輯管理對象的構(gòu)造函數(shù)TTManager。構(gòu)造的對象(obj)用來操作、管理每個(gè)股票的海龜交易邏輯的執(zhí)行。

```javascriptvar TTManager = {New: function(needRestore, symbol, initBalance, keepBalance, riskRatio, atrLen, enterPeriodA, leavePeriodA, enterPeriodB, leavePeriodB, useFilter,multiplierN, multiplierS, maxLots) {// subscribevar symbolDetail = _C(exchange.SetContractType, symbol)if (symbolDetail.VolumeMultiple == 0) {Log(symbolDetail)throw "股票合約信息異常"} else {Log("合約", symbolDetail.InstrumentName, "一手", symbolDetail.VolumeMultiple, "股, 最大下單量", symbolDetail.MaxLimitOrderVolume, ", 最小下單量", symbolDetail.VolumeMultiple)}var obj = {symbol: symbol,tradeSymbol: symbolDetail.InstrumentID,initBalance: initBalance,keepBalance: keepBalance,riskRatio: riskRatio,atrLen: atrLen,enterPeriodA: enterPeriodA,leavePeriodA: leavePeriodA,enterPeriodB: enterPeriodB,leavePeriodB: leavePeriodB,useFilter: useFilter,multiplierN: multiplierN,multiplierS: multiplierS}obj.maxLots = maxLotsobj.lastPrice = 0obj.symbolDetail = symbolDetailobj.status = {symbol: symbol,recordsLen: 0,vm: [],open: 0,cover: 0,st: 0,marketPosition: 0,lastPrice: 0,holdPrice: 0,holdAmount: 0,holdProfit: 0,switchCount: 0,N: 0,upLine: 0,downLine: 0,lastErr: "",lastErrTime: "",stopPrice: '',leavePrice: '',isTrading: false}... 股票市場和商品期貨市場又有些差別,下面我們來一起分析一下這些差別,然后對于策略進(jìn)行具體的修改、設(shè)計(jì)。交易時(shí)間差別 我們需要單獨(dú)設(shè)計(jì)一個(gè)函數(shù),識別開盤休盤時(shí)間,如下函數(shù)設(shè)計(jì),給構(gòu)造函數(shù)TTManager返回的對象obj增加方法:```javascript```javascript obj.newDate = function() {var timezone = 8 var offset_GMT = new Date().getTimezoneOffset() var nowDate = new Date().getTime() var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)return targetDate}obj.isSymbolTrading = function() {// 使用 newDate() 代替 new Date() 因?yàn)榉?wù)器時(shí)區(qū)問題var now = obj.newDate()var day = now.getDay()var hour = now.getHours()var minute = now.getMinutes()StatusMsg = "非交易時(shí)段"if (day === 0 || day === 6) {return false}if((hour == 9 && minute >= 30) || (hour == 11 && minute < 30) || (hour > 9 && hour < 11)) {// 9:30-11:30StatusMsg = "交易時(shí)段"return true } else if (hour >= 13 && hour < 15) {// 13:00-15:00StatusMsg = "交易時(shí)段"return true } return false } 交易方向的差別 商品期貨有開倉、平倉。股票只有買、賣,沒有開倉平倉。股票類似于現(xiàn)貨,但是也有持倉,買入的股票會(huì)在GetPosition函數(shù)獲取的持倉列表中顯示。需要我們對交易下單的部分做設(shè)計(jì),增加函數(shù):```javascript obj.sell = function(e, contractType, lots, insDetail) {... }obj.buy = function(e, contractType, opAmount, insDetail) {... }

下單頭寸計(jì)算
商品期貨交易下單時(shí)是按照合約張數(shù)下單,一張合約根據(jù)其合約乘數(shù)代表一定量的商品(例如rb合約,一張代表10噸螺紋鋼)。股票雖說也是有按手計(jì)算的(根據(jù)板塊有的1手100股,有的500股,還有的200股)。但是下單的時(shí)候必須是股數(shù),并且要能被一手的股數(shù)整除。不能整除的會(huì)報(bào)錯(cuò)。

這樣就需要對海龜交易法計(jì)算頭寸的部分做一定修改:

var atrs = TA.ATR(records, atrLen)var N = _N(atrs[atrs.length - 1], 4)var account = _C(exchange.GetAccount)var unit = parseInt((obj.initBalance-obj.keepBalance) * (obj.riskRatio / 100) / N / obj.symbolDetail.VolumeMultiple)var canOpen = parseInt((account.Balance-obj.keepBalance) / (lastPrice * 1.2) / obj.symbolDetail.VolumeMultiple)unit = Math.min(unit, canOpen)unit = unit * obj.symbolDetail.VolumeMultipleif (unit < obj.symbolDetail.VolumeMultiple) {obj.setLastError("可開 " + unit + " 手 無法開倉, " + (canOpen >= obj.symbolDetail.VolumeMultiple ? "風(fēng)控觸發(fā)" : "資金限制") + "。 可用: " + account.Balance)return}// 交易函數(shù)if (opCode == 2) {throw "股票不支持做空"}

策略注釋
為了方便理解策略代碼,我們對策略通篇注釋。

/*backtest start: 2016-05-01 00:00:00 end: 2022-02-19 23:59:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_XTP","currency":"STOCK","minFee":0}] args: [["Instruments","600519.SH,600690.SH,600006.SH,601328.SH,600887.SH,600121.SH,601633.SH"],["ATRLength",30],["EnterPeriodA",30],["LeavePeriodA",50],["EnterPeriodB",60],["LeavePeriodB",80],["KeepRatio",5]] */var SlideTick = 10 // 下單滑價(jià)點(diǎn)數(shù),設(shè)置10下買單時(shí)價(jià)格加10跳 var Interval = 1000 // 程序暫停毫秒數(shù)/* TTManager : 海龜交易邏輯對象的構(gòu)造函數(shù) 參數(shù):needRestore, symbol, initBalance, keepBalance, riskRatio, atrLen, enterPeriodA, leavePeriodA, enterPeriodB, leavePeriodB, useFilter, multiplierN, multiplierS, maxLots需要恢復(fù)持倉、交易品種代碼、初始資產(chǎn)、保留資產(chǎn)、風(fēng)險(xiǎn)系數(shù)、ATR參數(shù)、入市周期A,離市周期A、入市周期B、離市周期B、是否使用入市過濾、加倉間隔(N的倍數(shù))、止損系數(shù)(N的倍數(shù))、最大加倉次數(shù) */ var TTManager = {New: function(needRestore, symbol, initBalance, keepBalance, riskRatio, atrLen, enterPeriodA, leavePeriodA, enterPeriodB, leavePeriodB, useFilter,multiplierN, multiplierS, maxLots) {// subscribevar symbolDetail = _C(exchange.SetContractType, symbol) // 切換合約代碼,合約代碼為symbol的值if (symbolDetail.VolumeMultiple == 0) { // SetContractType會(huì)返回切換的品種的一些信息,檢測返回的數(shù)據(jù)中的VolumeMultiple字段是否正常Log(symbolDetail)throw "股票合約信息異常"} else {Log("合約", symbolDetail.InstrumentName, "一手", symbolDetail.VolumeMultiple, "股, 最大下單量", symbolDetail.MaxLimitOrderVolume, ", 最小下單量", symbolDetail.VolumeMultiple) // 輸出相關(guān)信息}// 聲明當(dāng)前構(gòu)造函數(shù)TTManager返回的對象obj,該對象記錄每個(gè)海龜交易邏輯的相關(guān)信息,例如執(zhí)行的品種(股票代碼)、ATR參數(shù)、加倉、止損N值系數(shù)等var obj = {symbol: symbol,tradeSymbol: symbolDetail.InstrumentID,initBalance: initBalance,keepBalance: keepBalance,riskRatio: riskRatio,atrLen: atrLen,enterPeriodA: enterPeriodA,leavePeriodA: leavePeriodA,enterPeriodB: enterPeriodB,leavePeriodB: leavePeriodB,useFilter: useFilter,multiplierN: multiplierN,multiplierS: multiplierS}obj.maxLots = maxLotsobj.lastPrice = 0obj.symbolDetail = symbolDetailobj.status = {symbol: symbol,recordsLen: 0,vm: [],open: 0,cover: 0,st: 0,marketPosition: 0,lastPrice: 0,holdPrice: 0,holdAmount: 0,holdProfit: 0,switchCount: 0,N: 0,upLine: 0,downLine: 0,lastErr: "",lastErrTime: "",stopPrice: '',leavePrice: '',isTrading: false}// 用于記錄錯(cuò)誤的函數(shù),記錄的信息會(huì)在狀態(tài)欄上顯示obj.setLastError = function(err) {if (typeof(err) === 'undefined' || err === '') {obj.status.lastErr = ""obj.status.lastErrTime = ""return}var t = new Date()obj.status.lastErr = errobj.status.lastErrTime = t.toLocaleString()}// 獲取指定股票代碼的持倉數(shù)據(jù)obj.getPosition = function(e, contractTypeName) {var allAmount = 0var allProfit = 0var allFrozen = 0var posMargin = 0var price = 0var direction = nullpositions = _C(e.GetPosition) // 根據(jù)參數(shù)e調(diào)用指定的交易所對象的獲取持倉函數(shù)GetPosition,e即代表一個(gè)配置的賬戶,e.GetPosition即代表獲取這個(gè)賬戶目前的持倉數(shù)據(jù)for (var i = 0; i < positions.length; i++) {// 遍歷持倉數(shù)據(jù),找到指定的股票if (positions[i].ContractType != contractTypeName) {continue}if (positions[i].Type == PD_LONG) {posMargin = positions[i].MarginLevelallAmount += positions[i].AmountallProfit += positions[i].ProfitallFrozen += positions[i].FrozenAmountprice = positions[i].Pricedirection = positions[i].Type}}if (allAmount === 0) {return null}return {MarginLevel: posMargin,FrozenAmount: allFrozen,Price: price,Amount: allAmount,Profit: allProfit,Type: direction,ContractType: contractTypeName,CanCoverAmount: allAmount - allFrozen}}// 獲取當(dāng)前時(shí)間對象obj.newDate = function() {var timezone = 8 var offset_GMT = new Date().getTimezoneOffset() var nowDate = new Date().getTime() var targetDate = new Date(nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000)return targetDate}// 判斷是否開市obj.isSymbolTrading = function() {// 使用 newDate() 代替 new Date() 因?yàn)榉?wù)器時(shí)區(qū)問題var now = obj.newDate()var day = now.getDay()var hour = now.getHours()var minute = now.getMinutes()StatusMsg = "非交易時(shí)段"if (day === 0 || day === 6) {return false}if((hour == 9 && minute >= 30) || (hour == 11 && minute < 30) || (hour > 9 && hour < 11)) {// 9:30-11:30StatusMsg = "交易時(shí)段"return true } else if (hour >= 13 && hour < 15) {// 13:00-15:00StatusMsg = "交易時(shí)段"return true } return false }// 買入函數(shù)obj.buy = function(e, contractType, opAmount, insDetail) {var initPosition = obj.getPosition(e, contractType) // 獲取初始時(shí)的持倉var isFirst = truevar initAmount = initPosition ? initPosition.Amount : 0 // 設(shè)置初始持倉數(shù)量var positionNow = initPosition // 設(shè)置當(dāng)前持倉數(shù)據(jù)if(!IsVirtual() && opAmount % insDetail.LotSize != 0) { // 判斷需要交易的數(shù)量opAmount(股數(shù))是否符合整手?jǐn)?shù)throw "每手?jǐn)?shù)量不匹配"}while (true) {var needOpen = opAmountif (isFirst) {isFirst = false} else {Sleep(Interval*20)positionNow = obj.getPosition(e, contractType)if (positionNow) {needOpen = opAmount - (positionNow.Amount - initAmount)}} // 需要交易的量如果小于一手?jǐn)?shù)量,或者不符合整手?jǐn)?shù)跳出循環(huán)if (needOpen < insDetail.LotSize || (needOpen % insDetail.LotSize != 0 && !IsVirtual())) {break} var depth = _C(e.GetDepth)// 需要檢測是否漲跌停var amount = needOpene.SetDirection("buy")var orderId = e.Buy(depth.Asks[0].Price + (insDetail.PriceSpread * SlideTick), amount, contractType, 'Ask', depth.Asks[0])// CancelPendingOrderswhile (true) {Sleep(Interval*20)var orders = _C(e.GetOrders)if (orders.length === 0) {break}for (var j = 0; j < orders.length; j++) {e.CancelOrder(orders[j].Id)if (j < (orders.length - 1)) {Sleep(Interval*20)}}}}var ret = nullif (!positionNow) {return ret}ret = positionNowreturn ret}// 賣出函數(shù)obj.sell = function(e, contractType, lots, insDetail) {var initAmount = 0var firstLoop = trueif(!IsVirtual() && lots % insDetail.LotSize != 0) {throw "每手?jǐn)?shù)量不匹配"}while (true) {var n = 0var total = 0var positions = _C(e.GetPosition)var nowAmount = 0for (var i = 0; i < positions.length; i++) {if (positions[i].ContractType != contractType) {continue}nowAmount += positions[i].Amount}if (firstLoop) {initAmount = nowAmountfirstLoop = false}var amountChange = initAmount - nowAmountif (typeof(lots) == 'number' && amountChange >= lots) {break} for (var i = 0; i < positions.length; i++) {if (positions[i].ContractType != contractType) {continue}var amount = positions[i].Amountvar depthvar opAmount = 0var opPrice = 0if (positions[i].Type == PD_LONG) {depth = _C(e.GetDepth)// 需要檢測是否漲跌停opAmount = amountopPrice = depth.Bids[0].Price - (insDetail.PriceSpread * SlideTick)}if (typeof(lots) === 'number') {opAmount = Math.min(opAmount, lots - (initAmount - nowAmount))}if (opAmount > 0) {if (positions[i].Type == PD_LONG) {e.SetDirection("closebuy")e.Sell(opPrice, opAmount, contractType, "平倉", 'Bid', depth.Bids[0])}n++}// break to check alwaysif (typeof(lots) === 'number') {break}}if (n === 0) {break}while (true) {Sleep(Interval*20)var orders = _C(e.GetOrders)if (orders.length === 0) {break}for (var j = 0; j < orders.length; j++) {e.CancelOrder(orders[j].Id)if (j < (orders.length - 1)) {Sleep(Interval*20)}}}}}// 恢復(fù)控制對象數(shù)據(jù)obj.reset = function(marketPosition, openPrice, N, leavePeriod, preBreakoutFailure) {if (typeof(marketPosition) !== 'undefined') {obj.marketPosition = marketPositionobj.openPrice = openPriceobj.preBreakoutFailure = preBreakoutFailureobj.N = Nobj.leavePeriod = leavePeriodvar pos = obj.getPosition(exchange, obj.tradeSymbol)if (pos) {obj.holdPrice = pos.Priceobj.holdAmount = pos.AmountLog(obj.symbol, "倉位", pos)} else {throw "恢復(fù)" + obj.symbol + "的持倉狀態(tài)出錯(cuò), 沒有找到倉位信息"}Log("恢復(fù)", obj.symbol, "加倉次數(shù)", obj.marketPosition, "持倉均價(jià):", obj.holdPrice, "持倉數(shù)量:", obj.holdAmount, "最后一次加倉價(jià)", obj.openPrice, "N值", obj.N, "離市周期:", leavePeriod, "上次突破:", obj.preBreakoutFailure ? "失敗" : "成功")obj.status.open = 1obj.status.vm = [obj.marketPosition, obj.openPrice, obj.N, obj.leavePeriod, obj.preBreakoutFailure]} else {obj.marketPosition = 0obj.holdPrice = 0obj.openPrice = 0obj.holdAmount = 0obj.holdProfit = 0obj.preBreakoutFailure = true // test system Aobj.N = 0obj.leavePeriod = leavePeriodA}obj.holdProfit = 0obj.lastErr = ""obj.lastErrTime = ""}// 獲取控制對象狀態(tài)信息obj.Status = function() {obj.status.N = obj.Nobj.status.marketPosition = obj.marketPositionobj.status.holdPrice = obj.holdPriceobj.status.holdAmount = obj.holdAmountobj.status.lastPrice = obj.lastPriceif (obj.lastPrice > 0 && obj.holdAmount > 0 && obj.marketPosition !== 0) {obj.status.holdProfit = _N((obj.lastPrice - obj.holdPrice) * obj.holdAmount * obj.symbolDetail.VolumeMultiple, 4) * (obj.marketPosition > 0 ? 1 : -1)} else {obj.status.holdProfit = 0}obj.status.symbolDetail = obj.symbolDetailreturn obj.status}// 執(zhí)行海龜交易邏輯obj.Poll = function() {obj.status.isTrading = obj.isSymbolTrading(obj.symbol)if (!obj.status.isTrading) {return}var suffix = WXPush ? '@' : ''// switch symbolvar insDetail = exchange.SetContractType(obj.symbol)if (!insDetail) {return}// 獲取tick數(shù)據(jù)var ticker = exchange.GetTicker()if (!ticker) {obj.setLastError("獲取tick失敗")return}if (IsVirtual()) {ticker.Info = {}ticker.Info.LotSize = obj.symbolDetail.VolumeMultipleticker.Info.PriceSpread = 0.01}var records = exchange.GetRecords()if (!records) {obj.setLastError("獲取K線失敗")return}obj.status.recordsLen = records.lengthif (records.length < obj.atrLen) {obj.setLastError("K線長度小于 " + obj.atrLen)return}var opCode = 0 // 0: IDLE, 1: LONG, 3: CoverALLvar lastPrice = records[records.length - 1].Closeobj.lastPrice = lastPriceif (obj.marketPosition === 0) {obj.status.stopPrice = '--'obj.status.leavePrice = '--'obj.status.upLine = 0obj.status.downLine = 0for (var i = 0; i < 2; i++) {if (i == 0 && obj.useFilter && !obj.preBreakoutFailure) {continue}var enterPeriod = i == 0 ? obj.enterPeriodA : obj.enterPeriodBif (records.length < (enterPeriod + 1)) {continue}var highest = TA.Highest(records, enterPeriod, 'High')var lowest = TA.Lowest(records, enterPeriod, 'Low')obj.status.upLine = obj.status.upLine == 0 ? highest : Math.min(obj.status.upLine, highest)obj.status.downLine = obj.status.downLine == 0 ? lowest : Math.max(obj.status.downLine, lowest)if (lastPrice > highest) {opCode = 1}if (opCode != 0) {obj.leavePeriod = (enterPeriod == obj.enterPeriodA) ? obj.leavePeriodA : obj.leavePeriodBbreak}}} else {var spread = obj.marketPosition > 0 ? (obj.openPrice - lastPrice) : (lastPrice - obj.openPrice)obj.status.stopPrice = _N(obj.openPrice + (obj.N * StopLossRatio * (obj.marketPosition > 0 ? -1 : 1)))if (spread > (obj.N * StopLossRatio)) {opCode = 3obj.preBreakoutFailure = trueLog(obj.symbolDetail.InstrumentName, "止損平倉", suffix)obj.status.st++} else if (-spread > (IncSpace * obj.N) && Math.abs(obj.marketPosition) < obj.maxLots) {opCode = obj.marketPosition > 0 ? 1 : 2}if (opCode == 0 && records.length > obj.leavePeriod) {obj.status.leavePrice = obj.marketPosition > 0 ? TA.Lowest(records, obj.leavePeriod, 'Low') : TA.Highest(records, obj.leavePeriod, 'High')if ((obj.marketPosition > 0 && lastPrice < obj.status.leavePrice) ||(obj.marketPosition < 0 && lastPrice > obj.status.leavePrice)) {obj.preBreakoutFailure = falseLog(obj.symbolDetail.InstrumentName, "正常平倉", suffix)opCode = 3obj.status.cover++}}}if (opCode == 0) {return}if (opCode == 3) {var pos = obj.getPosition(exchange, obj.tradeSymbol)obj.sell(exchange, obj.tradeSymbol, pos.Amount, ticker.Info)obj.reset()_G(obj.symbol, null)var account = _C(exchange.GetAccount)return}// Openif (Math.abs(obj.marketPosition) >= obj.maxLots) {obj.setLastError("禁止開倉, 超過最大持倉 " + obj.maxLots)return}var atrs = TA.ATR(records, atrLen)var N = _N(atrs[atrs.length - 1], 4)var account = _C(exchange.GetAccount)var unit = parseInt((obj.initBalance-obj.keepBalance) * (obj.riskRatio / 100) / N / obj.symbolDetail.VolumeMultiple)var canOpen = parseInt((account.Balance-obj.keepBalance) / (lastPrice * 1.2) / obj.symbolDetail.VolumeMultiple)unit = Math.min(unit, canOpen)unit = unit * obj.symbolDetail.VolumeMultipleif (unit < obj.symbolDetail.VolumeMultiple) {obj.setLastError("可開 " + unit + " 手 無法開倉, " + (canOpen >= obj.symbolDetail.VolumeMultiple ? "風(fēng)控觸發(fā)" : "資金限制") + "。 可用: " + account.Balance)return}// 交易函數(shù)if (opCode == 2) {throw "股票不支持做空"}var ret = obj.buy(exchange, obj.tradeSymbol, unit, ticker.Info)if (ret) {Log(obj.symbolDetail.InstrumentName, obj.marketPosition == 0 ? "開倉" : "加倉", "離市周期", obj.leavePeriod, suffix)obj.N = Nobj.openPrice = ticker.Lastobj.holdPrice = ret.Priceif (obj.marketPosition == 0) {obj.status.open++}obj.holdAmount = ret.Amountobj.marketPosition += opCode == 1 ? 1 : -1obj.status.vm = [obj.marketPosition, obj.openPrice, N, obj.leavePeriod, obj.preBreakoutFailure]_G(obj.symbol, obj.status.vm)} else {obj.setLastError("下單失敗")return}}var vm = nullif (RMode === 0) {vm = _G(obj.symbol)} else {vm = JSON.parse(VMStatus)[obj.symbol]}if (vm) {Log("準(zhǔn)備恢復(fù)進(jìn)度, 當(dāng)前合約狀態(tài)為", vm)obj.reset(vm[0], vm[1], vm[2], vm[3], vm[4])} else {if (needRestore) {Log("沒有找到" + obj.symbol + "的進(jìn)度恢復(fù)信息")}obj.reset()}return obj} }function onexit() {Log("已退出策略...") }function main() {if((!IsVirtual() && exchange.GetCurrency() != "STOCK" && exchange.GetName() != "Futures_Futu") || (IsVirtual() && exchange.GetCurrency() != "STOCK_CNY" && exchange.GetName() != "Futures_XTP")) {Log("currency:", exchange.GetCurrency(), "name:", exchange.GetName())throw "不支持"}SetErrorFilter("login|ready|流控|連接失敗|初始|Timeout|market not ready")while (!exchange.IO("status")) {Sleep(3000)LogStatus("正在等待與交易服務(wù)器連接, " + _D())}var positions = _C(exchange.GetPosition)if (positions.length > 0) {Log("檢測到當(dāng)前持有倉位, 系統(tǒng)將開始嘗試恢復(fù)進(jìn)度...")Log("持倉信息", positions)}Log("風(fēng)險(xiǎn)系數(shù):", RiskRatio, "N值周期:", ATRLength, "系統(tǒng)1: 入市周期", EnterPeriodA, "離市周期", LeavePeriodA, "系統(tǒng)二: 入市周期", EnterPeriodB, "離市周期", LeavePeriodB, "加倉系數(shù):", IncSpace, "止損系數(shù):", StopLossRatio, "單品種最多開倉:", MaxLots, "次")var initAccount = _C(exchange.GetAccount)var realInitBalance = initAccount.Balanceif (CustomBalance) {realInitBalance = InitBalanceLog("自定義啟動(dòng)資產(chǎn)為", realInitBalance)}var keepBalance = _N(realInitBalance * (KeepRatio/100), 3)Log("當(dāng)前資產(chǎn)信息", initAccount, "保留資金:", keepBalance)var tts = []var filter = []var arr = Instruments.split(',')for (var i = 0; i < arr.length; i++) {var symbol = arr[i].replace(/^\s+/g, "").replace(/\s+$/g, "");if (typeof(filter[symbol]) !== 'undefined') {Log(symbol, "已經(jīng)存在, 系統(tǒng)已自動(dòng)過濾")continue}filter[symbol] = truevar hasPosition = falsefor (var j = 0; j < positions.length; j++) {if (positions[j].ContractType == symbol) {hasPosition = truebreak}}var obj = TTManager.New(hasPosition, symbol, realInitBalance, keepBalance, RiskRatio, ATRLength, EnterPeriodA, LeavePeriodA, EnterPeriodB, LeavePeriodB, UseEnterFilter, IncSpace, StopLossRatio, MaxLots)tts.push(obj)}var tblAssets = nullvar nowAccount = nullvar lastStatus = ''while (true) {if (GetCommand() === "暫停/繼續(xù)") {Log("暫停交易中...")while (GetCommand() !== "暫停/繼續(xù)") {Sleep(1000)}Log("繼續(xù)交易中...")}while (!exchange.IO("status")) {Sleep(3000)LogStatus("正在等待與交易服務(wù)器連接, " + _D() + "\n" + lastStatus)}var tblStatus = {type: "table",title: "持倉信息",cols: ["合約名稱", "持倉方向", "持倉均價(jià)", "持倉數(shù)量", "持倉盈虧", "加倉次數(shù)", "開倉次數(shù)", "止損次數(shù)", "成功次數(shù)", "當(dāng)前價(jià)格", "N"],rows: []}var tblMarket = {type: "table",title: "運(yùn)行狀態(tài)",cols: ["合約名稱", "合約乘數(shù)", "保證金率", "交易時(shí)間", "移倉次數(shù)", "柱線長度", "上線", "下線", "止損價(jià)", "離市價(jià)", "異常描述", "發(fā)生時(shí)間"],rows: []}var totalHold = 0var vmStatus = {}var ts = new Date().getTime()var holdSymbol = 0var tradingCount = 0for (var i = 0; i < tts.length; i++) {tts[i].Poll()var d = tts[i].Status()if (d.holdAmount > 0) {vmStatus[d.symbol] = d.vmholdSymbol++}if (d.isTrading) {tradingCount++}tblStatus.rows.push([d.symbolDetail.InstrumentID + "/" + d.symbolDetail.InstrumentName, d.holdAmount == 0 ? '--' : (d.marketPosition > 0 ? '多' : '空'), d.holdPrice, d.holdAmount, d.holdProfit, Math.abs(d.marketPosition), d.open, d.st, d.cover, d.lastPrice, d.N])tblMarket.rows.push([d.symbolDetail.InstrumentID + "/" + d.symbolDetail.InstrumentName, d.symbolDetail.VolumeMultiple, _N(d.symbolDetail.LongMarginRatio, 4) + '/' + _N(d.symbolDetail.ShortMarginRatio, 4), (d.isTrading ? '是#0000ff' : '否#ff0000'), d.switchCount, d.recordsLen, d.upLine, d.downLine, d.stopPrice, d.leavePrice, d.lastErr, d.lastErrTime])totalHold += Math.abs(d.holdAmount)}var now = new Date()var elapsed = now.getTime() - tslastStatus = '`' + JSON.stringify([tblStatus, tblMarket]) + '`\n輪詢耗時(shí): ' + elapsed + ' 毫秒, 當(dāng)前時(shí)間: ' + _D() + ', 星期' + ['日', '一', '二', '三', '四', '五', '六'][now.getDay()] + ", 持有品種個(gè)數(shù): " + holdSymbol + ", 手動(dòng)恢復(fù)字符串: " + JSON.stringify(vmStatus)LogStatus(lastStatus)Sleep(LoopInterval * 1000)} }

回測測試、研究
我們選擇幾只股票回測:600519.SH,600690.SH,600006.SH,601328.SH,600887.SH,600121.SH,601633.SH。

其它參數(shù)設(shè)置:

回測時(shí)狀態(tài)欄信息輸出:

可以觀察到,海龜交易法這種趨勢跟蹤策略需要在有較大的行情時(shí)才會(huì)有較好的盈利。在行情反復(fù)震蕩時(shí)可能會(huì)有一定回撤。
漲幅較大的貴州茅臺貢獻(xiàn)了整體收益的絕大部分,看來選股也是十分重要的因素。并且根據(jù)狀態(tài)欄中顯示的統(tǒng)計(jì)數(shù)據(jù)來看,海龜交易法的止損次數(shù)要遠(yuǎn)高于策略成功盈利次數(shù)。這也是策略的思路核心,用較小的頭寸試錯(cuò)。一旦抓住趨勢突破加倉,抓住肥尾。創(chuàng)造震蕩期損失數(shù)倍的盈利。
完整策略:https://www.fmz.cn/strategy/346551
該策略僅用于回測研究,實(shí)盤請自行優(yōu)化、修改。

總結(jié)

以上是生活随笔為你收集整理的说说海龟交易法则的基本原理,如何实现海龟交易策略?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产视频精品久久 | 福利网址在线观看 | 97国产 | 亚洲影音先锋 | 亚洲aⅴ在线 | 亚洲综合色视频 | 在线观看福利网站 | 插婷婷 | 国产美女精品在线 | 精品一区二区三区久久久 | 四虎在线免费观看视频 | 黄色在线免费观看网站 | 丁香花在线观看视频在线 | 精品福利视频在线 | 免费午夜视频在线观看 | 91视频在线免费看 | 人人爽人人爽人人片av免 | 黄色一级在线免费观看 | av亚洲产国偷v产偷v自拍小说 | 日日夜夜精品 | 久草视频在线观 | 六月激情久久 | 青青草国产免费 | 黄色成人av | 免费网站观看www在线观看 | 国产一区视频在线播放 | 久久短视频 | 日韩激情中文字幕 | 免费亚洲黄色 | 国产日韩欧美在线 | 久久精品毛片 | 69久久99精品久久久久婷婷 | 久久久久久久久久久免费视频 | 亚洲精品合集 | 欧美日韩免费视频 | 黄色片亚洲 | 久久久久久久久久久久亚洲 | 日本最大色倩网站www | 天堂av色婷婷一区二区三区 | 51久久成人国产精品麻豆 | 婷婷日韩 | 久久久久黄 | 欧美成人精品欧美一级乱黄 | 久久久久久久久久久福利 | 天天干天天操天天干 | 国产亚洲观看 | 久久综合中文色婷婷 | 国产美女无遮挡永久免费 | 91禁在线看 | 超碰97人人射妻 | 亚洲国产成人久久综合 | 伊人狠狠 | av在线等 | 欧美成人69av| 狠狠色狠狠综合久久 | 久久久久久久久久久免费av | 天天操夜夜操夜夜操 | 亚洲一级免费观看 | 中文字幕在 | 国产精品国产三级国产不产一地 | 免费高清看电视网站 | 成人毛片在线视频 | 人人添人人 | 91免费网址| 啪啪免费视频网站 | 91黄色在线观看 | 国产一级性生活 | 午夜在线日韩 | 九九久久影视 | www.亚洲精品视频 | av电影在线播放 | 成年人黄色免费网站 | 亚洲国产资源 | 99色在线视频| 91免费版在线观看 | 天天操天天操天天 | 免费a一级 | 九九精品视频在线观看 | 特级大胆西西4444www | 黄色毛片视频 | 91chinese在线| av在线播放免费 | 丁香午夜婷婷 | 国产a网站 | 在线观看黄色av | 国产五十路毛片 | 国产精品久久视频 | www.操.com | 国产精品一区免费在线观看 | 91视频免费网站 | 免费观看的黄色 | 在线播放日韩av | av网站大全免费 | 精品在线二区 | 精品国产一区二区三区久久影院 | 欧美久久久一区二区三区 | 中文字幕在线观看亚洲 | 福利网在线| 久久一本综合 | 欧美激情视频一二区 | 精品一区二区在线看 | 午夜的福利 | 欧美va在线观看 | 精品在线观看一区二区 | 亚洲人人射 | 日韩av黄 | 国产精品欧美精品 | 国产精品免费一区二区三区在线观看 | 亚洲乱码国产乱码精品天美传媒 | 探花视频在线观看免费 | 国产精品免费一区二区三区在线观看 | 中文字幕日韩高清 | 91九色视频在线播放 | 日日精品 | 91精品在线免费视频 | 人人爽人人香蕉 | 四虎www com | 黄色小说视频在线 | 日本最大色倩网站www | 婷婷六月天在线 | 波多野结衣视频一区二区 | 久草在线精品观看 | 亚洲1级片 | 色久av | av成人在线观看 | 成人av手机在线 | 国产精品久久久99 | 久久国产精品二国产精品中国洋人 | 日韩激情第一页 | 久久精品这里热有精品 | 中文字幕人成乱码在线观看 | 91视频 - x99av | 最新99热 | 日韩专区 在线 | 成人午夜片av在线看 | 免费a v在线 | 天天操狠狠干 | 国产一级免费在线 | 国产成人精品午夜在线播放 | 亚洲精品综合欧美二区变态 | 亚洲人成影院在线 | 欧美日韩中文国产一区发布 | 国产精品视频全国免费观看 | 亚洲综合色播 | 黄色大片免费播放 | www.久热 | 五月天色综合 | 国产一级免费电影 | 美女av在线免费 | 狠狠操天天干 | 日韩精品一区二区久久 | 久久96国产精品久久99漫画 | 一级性生活片 | 国内免费久久久久久久久久久 | 在线精品视频免费播放 | 最新日本中文字幕 | 免费看的黄网站 | 三级av小说 | 免费在线观看成人av | 亚洲黄色片在线 | 91高清免费观看 | 亚洲视屏在线播放 | 色 中文字幕 | 色婷婷影视 | 国产精品成人一区二区 | 97超级碰碰碰视频在线观看 | 日韩中文字幕在线 | 97av在线 | 日韩欧美精品一区 | 亚洲视频在线免费看 | 国产精品高潮久久av | 免费成人黄色片 | 成人97人人超碰人人99 | 欧美极品在线播放 | 91女神的呻吟细腰翘臀美女 | 中文字幕在线观看视频一区二区三区 | 免费色婷婷| 成人一区二区三区在线 | 成年人av在线播放 | 麻豆国产网站入口 | 日本少妇高清做爰视频 | 久草在线视频精品 | av电影在线观看完整版一区二区 | 久久看片网站 | 久久久久久久99 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 欧美 日韩 视频 | 日韩国产精品久久 | 久久99中文字幕 | 国产91精品在线播放 | 国产一及片 | 又大又硬又黄又爽视频在线观看 | 国产精品一区二区三区四 | 亚洲成av人影片在线观看 | 国产精品久久久久久久久久三级 | 在线免费黄网站 | 国产一区高清在线 | 亚洲人成人在线 | av一本久道久久波多野结衣 | 欧美a级片免费看 | 色久综合| 中文字幕在线久一本久 | 免费a网址 | 黄色av免费 | 欧美日韩不卡一区二区 | 国产第一页福利影院 | 日韩午夜小视频 | 免费一级日韩欧美性大片 | 麻豆成人精品视频 | 欧美孕妇与黑人孕交 | 三级小视频在线观看 | 婷婷综合五月天 | 久久69精品 | 日韩欧美视频在线观看免费 | 精品99免费 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 99热日本 | 日本成人黄色片 | 亚洲综合一区二区精品导航 | 成人黄色在线播放 | 欧美极品一区二区三区 | 欧美成人精品欧美一级乱黄 | 日日成人网 | 日韩区欠美精品av视频 | 欧美精品一区二区在线观看 | 粉嫩av一区二区三区四区 | 国产精品日韩久久久久 | 中文字幕刺激在线 | 欧美另类一二三四区 | 亚洲伊人成综合网 | 亚洲一级片在线观看 | 九九九热视频 | 国产在线美女 | 国产亚洲日本 | 中文字幕在线观看日本 | 国产精品电影一区二区 | 伊人久久一区 | 色综合久久五月 | 999久久久久久久久久久 | 在线看片日韩 | 亚洲激情六月 | 国产精品一区二区三区在线看 | 天天碰天天操视频 | 91最新在线| 久久精品欧美一区二区三区麻豆 | 久久97视频 | 色婷婷国产在线 | 狠狠色丁香久久婷婷综 | 国产精品中文久久久久久久 | 午夜在线资源 | 久久黄色免费 | 日韩免费看视频 | 欧美另类调教 | 一区二区三区免费在线观看视频 | 91av大全 | 亚洲少妇xxxx | 国产午夜精品视频 | 国产精品乱码久久久久 | 久久国产精品99久久久久 | 热九九精品 | 日韩成人高清在线 | 国产一性一爱一乱一交 | 欧美日韩精品二区第二页 | 欧美一级久久 | 天天射天天干天天操 | 久久久久9999亚洲精品 | 国产手机在线精品 | 狠狠干成人 | 天天草天天干天天射 | 婷婷草| 免费特级黄色片 | 欧美另类老妇 | 中文字幕无吗 | 又黄又爽又无遮挡免费的网站 | 人人超在线公开视频 | 在线看国产视频 | 久久久久久免费视频 | 岛国av在线免费 | 天天干天天操天天搞 | 国产 日韩 在线 亚洲 字幕 中文 | 免费一级片观看 | 99久久日韩精品免费热麻豆美女 | 黄色特级毛片 | 97日日| 久久精品高清视频 | 午夜国产福利视频 | www.夜夜操 | 日日夜av| 午夜久久久精品 | 国产.精品.日韩.另类.中文.在线.播放 | 成人av地址 | 久久人人爽人人人人片 | zzijzzij日本成熟少妇 | 亚洲精品美女在线观看播放 | av大全在线免费观看 | 天天干天天拍天天操天天拍 | 中文字幕不卡在线88 | 中文字幕第一页在线播放 | 18久久久久久 | 激情综合网在线观看 | 99精品在线免费 | 国产一区高清在线观看 | 国产在线91在线电影 | 天天干.com | 中文字幕高清免费日韩视频在线 | 婷婷激情网站 | 欧美日韩电影在线播放 | 欧美成人精品欧美一级乱黄 | 天天拍天天色 | 国产一区91| 色吧av色av | 友田真希x88av | 久久综合五月天婷婷伊人 | 中文字幕久久网 | 人人干天天射 | 91探花视频 | 六月丁香久久 | 99re久久资源最新地址 | 精品美女久久久久久免费 | 欧美淫视频 | 在线观看免费成人 | www·22com天天操| 色偷偷888欧美精品久久久 | 国产视频日韩视频欧美视频 | 日韩爱爱片 | 337p日本欧洲亚洲大胆裸体艺术 | 国产麻豆电影 | 日本性久久 | 久草免费看 | 欧美大片mv免费 | 婷婷六月中文字幕 | 国产一区在线免费 | 狠狠色丁香久久婷婷综合五月 | 欧美午夜理伦三级在线观看 | 欧美激情xxxx | www.夜夜操.com | 国产成a人亚洲精v品在线观看 | 日韩av资源站 | 这里只有精品视频在线观看 | 日韩精品在线播放 | 欧美国产日韩一区二区三区 | 91久久国产综合精品女同国语 | 欧美激情综合网 | 狠狠的操狠狠的干 | 亚洲欧美视频在线观看 | 91av视频在线观看 | 成x99人av在线www | 91资源在线播放 | 亚洲精品在线免费播放 | 伊人网综合在线观看 | 久久久999精品视频 国产美女免费观看 | 国产精品一区电影 | 福利视频 | 综合久色 | 国产一区二区在线免费播放 | 激情婷婷在线 | 精品影院 | 国产黄色片免费在线观看 | 国产精品女主播一区二区三区 | 亚州国产精品久久久 | 国产精品美女视频网站 | 久久午夜羞羞影院 | av中文字幕电影 | 成人动漫精品一区二区 | 国产婷婷一区二区 | 97涩涩视频 | 96av在线| 日韩视频中文 | 中文字幕在线视频网站 | 国产人成精品一区二区三 | 国产精品久久久久亚洲影视 | 国产69精品久久99不卡的观看体验 | 午夜视频在线观看一区二区三区 | 黄色av大片 | 亚洲精品美女久久久久网站 | 久草视频免费在线播放 | 中文字幕精品一区二区精品 | 午夜国产一区二区三区四区 | 久久久久亚洲精品国产 | 欧美黑人性猛交 | 日韩三级免费 | 日日干激情五月 | 亚洲成av人片在线观看www | 97网站| 久久高清精品 | 久久国产精品免费观看 | 日韩精品一区二区在线 | 在线观看av国产 | 久久九九久久 | 久热超碰| 成人免费视频网站 | 国产精品一区二区久久精品爱微奶 | 999成人国产 | 国产亚洲精品女人久久久久久 | 久99久久| 中文字幕在线观看免费观看 | 中日韩三级视频 | 91精品国产综合久久福利 | 精品亚洲一区二区 | 欧美一级大片在线观看 | 日本婷婷色 | 久久黄色影视 | 日韩精品国产一区 | 国产 成人 久久 | 天天操天天射天天 | 美女视频黄频大全免费 | 国产精品免费久久久 | 九九热1 | 欧美成人中文字幕 | 国产区在线看 | av资源在线观看 | 丁香午夜 | 午夜视频在线观看一区二区三区 | 日韩欧美国产激情在线播放 | 99精品视频免费看 | 狠狠色丁香婷综合久久 | 亚洲理论在线观看电影 | 91久久一区二区 | 97精品国产97久久久久久粉红 | 久久一久久 | 亚洲精品色 | 一区二区三区免费网站 | 午夜精品中文字幕 | 日日天天狠狠 | 亚洲日本va中文字幕 | 国产精品久久一区二区三区, | 国产午夜麻豆影院在线观看 | 婷婷五天天在线视频 | 日韩av图片 | 超级碰碰碰免费视频 | 免费高清在线观看成人 | 在线免费观看视频一区二区三区 | 日韩中文字幕a | 国产原创在线 | 中文字幕视频在线播放 | 国产999精品 | 亚洲人人网 | 久久久久亚洲最大xxxx | 国产日韩欧美在线免费观看 | 日本字幕网 | 精品一区二区三区久久久 | 四虎影视成人精品国库在线观看 | 亚洲国产精品久久久久久 | 2021国产在线 | 欧美精品天堂 | 日韩午夜在线播放 | 国产精品久久视频 | 日韩电影中文字幕在线观看 | 久久综合久久久 | 国产精品久久久久久久久久久久 | 在线一区二区三区 | 久久激情视频 久久 | 欧美最猛性xxxxx亚洲精品 | 久久免费黄色网址 | 久久久久久久久久久久av | 91av成人| 亚洲资源在线网 | 久久99婷婷 | 99视频网站 | 久久久久久免费 | 中文字幕在线久一本久 | 精品国产一区二区三区久久 | 人人添人人澡 | 亚洲精品理论片 | 国产三级精品在线 | 日本久久久久久 | av黄色一级片 | 日韩欧美在线观看一区二区三区 | 日韩草比| 在线国产高清 | 久久久久黄 | 在线欧美国产 | 国产精品自拍av | 97香蕉久久超级碰碰高清版 | 菠萝菠萝在线精品视频 | 国产婷婷vvvv激情久 | 在线国产能看的 | 国语久久| 在线免费精品视频 | 日日干夜夜干 | www亚洲一区| av中文字幕在线播放 | 国产+日韩欧美 | 福利一区在线视频 | 91精品福利在线 | 97av在线视频 | 伊人久在线 | 国产精品com | 国产高清视频在线播放一区 | 国内久久久久 | 91热视频在线观看 | 国产精品亚洲人在线观看 | 永久免费看av | 欧美日本不卡视频 | 日韩特黄av| 99久久这里只有精品 | 天天综合日 | 一区二区三区在线观看免费视频 | 日韩精选在线观看 | 欧美精品做受xxx性少妇 | 我要看黄色一级片 | 免费欧美 | 国产成人99久久亚洲综合精品 | 国产精品18p | 香蕉视频4aa | 午夜av剧场 | 国产亚洲精品美女久久 | 伊人超碰在线 | 欧美久久久久久久久中文字幕 | 欧美韩日在线 | 国产亚洲精品美女久久 | 日日夜夜网站 | 久久久久亚洲精品中文字幕 | 国产一区二区在线免费视频 | 国产精品久一 | 色中色综合 | h文在线观看免费 | 精品一二三区视频 | 国产精品久久久久久久免费大片 | 日韩高清在线不卡 | 91亚洲精品久久久中文字幕 | 中文字幕91视频 | 国产高清在线 | 一二区精品 | 亚洲在线资源 | 超碰.com| 久久精彩免费视频 | 久久人人97超碰国产公开结果 | 色婷婷亚洲精品 | 国产96精品 | 久久久久免费网 | 五月天.com | 日韩丝袜视频 | 99精品国产一区二区三区不卡 | 亚洲成人欧美 | 国产丝袜网站 | 国产精品一区二区在线观看免费 | 99国产精品免费网站 | 黄色网在线免费观看 | 欧美日韩一区二区三区在线免费观看 | 婷婷干五月 | av电影免费观看 | 国产精品 中文字幕 亚洲 欧美 | 性日韩欧美在线视频 | 亚洲精品在线免费 | 久久精品久久99精品久久 | 欧美精品亚州精品 | 久久天堂影院 | av在线免费观看不卡 | www.一区二区三区 | 丁香六月在线观看 | 精品免费国产一区二区三区四区 | 久久久久久97三级 | 亚洲人在线 | 国产精品色在线 | 国产精品剧情 | 欧美激情综合色 | 久久在线免费观看 | 97精品超碰一区二区三区 | 亚洲天堂在线观看完整版 | 国产区av在线 | 狠狠操天天射 | 成人v | 激情五月综合 | av电影一区二区 | 在线免费高清视频 | 欧美精品xxx | 天天色天天色 | 激情欧美在线观看 | 国产黄色观看 | 日本在线视频一区二区三区 | 亚洲一片黄 | 国产黄色播放 | 懂色av一区二区三区蜜臀 | 在线视频 成人 | 在线观看av大片 | 欧美一区二区三区免费观看 | 久久免费视频播放 | 六月丁香综合 | 91麻豆看国产在线紧急地址 | 在线观看黄色 | 成人黄色电影在线 | 午夜久久久精品 | 丰满少妇一级片 | 国产精品不卡视频 | 在线观看成人小视频 | 国产精品久久电影观看 | 激情视频亚洲 | 日本精品久久久久中文字幕 | 国产精品v a免费视频 | 亚洲成人网av | 久久久久久久久久久久久国产精品 | 久久,天天综合 | 成人欧美亚洲 | 日韩狠狠操 | 日韩免费在线一区 | 九九热在线免费观看 | 日韩欧美在线高清 | av成人免费在线看 | 精品国产诱惑 | 国产香蕉久久精品综合网 | 成年人免费av | 成人在线电影观看 | 在线看福利av | 中文字幕在线免费看线人 | 久久综合日 | 在线观看成人福利 | 香蕉免费 | 国产视频二区三区 | 国产三级在线播放 | 黄污视频网站大全 | 久久99精品国产一区二区三区 | 一本一本久久a久久精品综合小说 | 69av久久| 91麻豆精品国产91久久久久久久久 | 国产 av 日韩 | 久久99国产综合精品免费 | 视频国产精品 | 一区二区三区在线观看 | 96久久久 | 夜夜躁日日躁狠狠久久av | 午夜视频二区 | 欧美日韩69 | 亚洲成人中文在线 | 欧美精品v国产精品v日韩精品 | 五月婷婷国产 | 一级黄色在线视频 | a天堂免费 | 久久久精品欧美一区二区免费 | 国产精品自在欧美一区 | 亚洲精品国产综合99久久夜夜嗨 | 99视频在线看 | 在线看v片成人 | 中文字幕日韩无 | 九草在线观看 | 91精品久久久久 | 久久99在线观看 | 久久精品国产亚洲a | 天天干天天怕 | 天天干天天插 | 国产精品不卡在线播放 | 国产亚洲视频中文字幕视频 | 久久国产一二区 | 成年人电影免费看 | 亚洲美女精品 | 91av电影 | 操操碰| 欧美一级久久 | 亚洲黄在线观看 | 日本中文字幕观看 | 欧美日韩一区二区视频在线观看 | 中文字幕免费久久 | 97电影网站 | 亚洲国产高清在线观看视频 | 亚洲人成免费 | 免费国产在线视频 | 久久免费成人精品视频 | 超黄视频网站 | 91精品视频在线播放 | 丁香av| 国产成人a亚洲精品v | www.亚洲在线| 色综合天天做天天爱 | 在线观看亚洲国产 | 成人a在线观看 | 在线观看免费视频你懂的 | 四虎成人精品永久免费av九九 | a级黄色片视频 | 国产小视频国产精品 | 亚洲国产精品成人精品 | 五月天婷亚洲天综合网鲁鲁鲁 | 丁香午夜婷婷 | 99免费观看视频 | 黄色成人91 | 久久经典国产 | 亚洲综合视频在线 | 在线观看视频一区二区三区 | 久久精品视频在线观看 | 亚洲欧美国产日韩在线观看 | 中国成人一区 | 久久精品视频在线观看免费 | 91亚洲夫妻 | 少妇视频一区 | 亚洲精品久久久蜜桃直播 | 在线看不卡av| 91视频在线观看下载 | 日韩免费视频 | 国产999在线 | 丁香六月婷婷激情 | 精品一区电影国产 | 免费a级大片| 国产精品69av| 毛片在线播放网址 | 国产中文字幕视频在线 | 精品不卡av| www.天天射.com| 日日摸日日添夜夜爽97 | 亚洲人人av| 99久久精品国产欧美主题曲 | 久久国产欧美日韩精品 | 久久午夜羞羞影院 | 国产日韩欧美在线观看视频 | 国产福利一区二区三区视频 | 国产精品免费人成网站 | 一级一级一片免费 | 美女黄频 | 色综合在 | 欧美一区在线看 | 午夜视频在线观看欧美 | 久久免费毛片视频 | 国产精品国产三级国产 | 欧美午夜精品久久久久久浪潮 | 日韩免费在线一区 | 最新日韩在线观看视频 | 91视频在线观看下载 | 一级免费片 | ww视频在线观看 | 一区二区精品 | 欧美一级在线观看视频 | 美腿丝袜一区二区三区 | 免费在线观看av网站 | 香蕉网在线播放 | 91九色精品| 日韩视频欧美视频 | 亚洲激情在线视频 | a精品视频| 亚洲精品字幕在线 | 亚洲成人频道 | 丁香婷婷久久久综合精品国产 | 欧美日在线 | 久久嗨| 91成人蝌蚪| 亚洲精品欧洲精品 | 在线观看www. | 国产中文在线播放 | 九九精品视频在线观看 | 黄色不卡av | 国产区av在线 | 在线91av| 久久久久久蜜av免费网站 | 91探花视频| 国产一区二区在线观看视频 | 久久久2o19精品 | 狠狠操在线 | 日批在线观看 | 字幕网资源站中文字幕 | 国产精品视频专区 | japanesexxxhd奶水 国产一区二区在线免费观看 | 美女免费视频一区二区 | 成人av免费在线播放 | 中文字幕丝袜制服 | 日韩色综合| 亚洲精品在线免费 | 福利视频午夜 | 91av原创| 黄色美女免费网站 | 国产在线中文 | 国产美女精品视频免费观看 | 国产午夜精品福利视频 | 在线观看视频在线观看 | 91视频免费看片 | 日产乱码一二三区别在线 | 日韩精品中文字幕有码 | 亚洲视频1 | 97碰在线| 久久天天躁狠狠躁亚洲综合公司 | 91香蕉国产在线观看软件 | 日躁夜躁狠狠躁2001 | 久草免费看 | 国产中文字幕视频在线观看 | 日韩两性视频 | 四虎免费av | 97精品国产97久久久久久春色 | 欧美久久久影院 | 欧美激情视频在线观看免费 | 在线观看中文字幕dvd播放 | 国产日产精品久久久久快鸭 | 免费av小说| 久久国产一区二区三区 | 精品国产一区二区三区四区vr | 国产主播99 | 一本一本久久a久久精品综合妖精 | 久久久久国产精品免费免费搜索 | 91免费版在线观看 | 日韩视频免费看 | 黄色av电影在线观看 | www178ccom视频在线 | 日韩综合视频在线观看 | 激情五月在线 | 精品一区二区在线免费观看 | 国产高清视频在线观看 | 欧美日韩高清一区 | 日批在线观看 | 又黄又爽的视频在线观看网站 | 久久久久国产一区二区三区 | 欧美日韩国产精品爽爽 | 国产精品美女久久久免费 | 国产精品成人自产拍在线观看 | 中文亚洲欧美日韩 | 国产成人在线免费观看 | 亚洲视频在线视频 | 五月天高清欧美mv | 免费99精品国产自在在线 | 成人av影视在线 | 91精品在线播放 | 日韩免费高清在线 | 日韩在线视频观看免费 | 成人午夜网址 | 色婷婷综合久久久 | 91视频在线观看大全 | 91亚洲永久精品 | 亚洲 综合 国产 精品 | 日韩二区三区在线 | 在线观看国产高清视频 | 玖玖精品在线 | 国产精品自产拍在线观看中文 | 成人羞羞视频在线观看免费 | 国产福利91精品一区二区三区 | 国产一二三在线视频 | www.黄色网.com | 日本中文字幕在线观看 | 国产精品免费视频一区二区 | 色中色亚洲 | 二区中文字幕 | 国产99久久久精品 | 亚洲精品一区中文字幕乱码 | 97人人模人人爽人人喊网 | 国产精品久久久久永久免费看 | 91视频com | 激情网站免费观看 | 欧美日韩国产成人 | 国产福利在线 | 国产精品九九久久99视频 | 久久99国产精品久久99 | 成人免费视频网 | 欧美日本中文字幕 | 日韩电影在线观看中文字幕 | 久久国产片 | 亚洲精品乱码久久 | 国产高清久久久久 | 国产亚洲视频系列 | 国产剧情一区二区在线观看 | 欧美日韩精品电影 | 日韩伦理片一区二区三区 | 狠狠久久综合 | 欧美在线你懂的 | 日韩黄色大片在线观看 | 一级片色播影院 | 精品国产1区2区 | 天天撸夜夜操 | 最新日韩视频 | 国内精品久久久久久久影视麻豆 | 亚洲精品在线观看中文字幕 | 久久久久国产精品一区 | 精品久久视频 | 亚洲综合国产精品 | 亚洲精品在线观看的 | 91亚洲精品久久久中文字幕 | 欧美日韩视频免费 | 成人免费在线观看入口 | 国产成人精品女人久久久 | 亚洲一区二区三区四区精品 | 欧美日韩视频在线观看一区二区 | 欧美天天综合 | 日韩区在线观看 | 最近免费中文字幕mv在线视频3 | 日韩免费福利 | 一区二区伦理电影 | 国产又粗又猛又黄又爽的视频 | 激情综合网在线观看 | 久草剧场 | 国产精品久久久久一区二区 | 天天操天天爱天天爽 | 中文字幕在线视频网站 | 91大神视频网站 | 二区三区av | 中文字幕精品www乱入免费视频 | 天天拍天天草 | 午夜精品婷婷 | 97碰在线 | 久久婷婷精品视频 | 欧美久久九九 | 久久成人亚洲欧美电影 | 99在线视频网站 | 97在线观看免费观看高清 | 黄色网址国产 | 成年人在线视频观看 | 久久久久久久看片 | 日本精品久久久久久 | 久草网免费 | 91黄色在线视频 | 久久怡红院 | 日韩a级免费视频 | 精品国产乱码久久 | av黄色大片 | 国产精品毛片一区 | 国产日韩精品在线 | 日韩午夜小视频 | 狠狠操电影网 | 天天干天天做天天操 | 一本色道久久综合亚洲二区三区 | 91久久在线观看 | 91麻豆产精品久久久久久 | 久久国产精品一区二区三区四区 | 国产精品女人久久久久久 | 特黄一级毛片 | 亚洲日本一区二区在线 | 天天插日日射 | 成人免费看片98欧美 | 色综合天天综合网国产成人网 | 夜夜躁日日躁狠狠躁 | 成人精品久久 | 黄色www免费 | 久久久久成人精品亚洲国产 | 日韩欧美国产精品 | 久久综合九色综合久久久精品综合 | 久久免费在线视频 | 国产 欧美 日产久久 | 99婷婷狠狠成为人免费视频 | 国产日产av | 亚洲综合视频网 | 狠狠色丁香久久婷婷综合五月 | 人人玩人人添人人澡超碰 | 免费看的黄色片 | 在线观看精品视频 | 四虎影视成人精品国库在线观看 | 西西www4444大胆在线 | 日本精品久久久久中文字幕5 | 国产又黄又爽又猛视频日本 | 日本资源中文字幕在线 | 亚洲国产美女精品久久久久∴ | 久久久久成人精品 | 欧美不卡在线 | bbw av| 91chinesexxx| 色综合色综合久久综合频道88 | 最新日韩中文字幕 | 涩涩网站在线播放 | 成人av高清 | 日本午夜在线亚洲.国产 | 99热最新在线 | 国产精品久久久久久久久久久久午夜片 | 亚洲国内在线 | 国产只有精品 | 久久这里有精品 | 丁香婷婷激情啪啪 | 综合在线观看色 | 日韩视频免费观看高清 | 亚洲毛片一区二区三区 | 福利网在线 | 国产日韩在线视频 | 久久国内精品视频 | 在线免费观看的av | 久久高清 | 在线观看免费视频 | 黄色毛片一级片 | 特黄特黄的视频 | 久久久久99精品国产片 | 最近中文字幕完整视频高清1 | 亚洲精区二区三区四区麻豆 | www,黄视频| 在线色亚洲 | 精品视频123区在线观看 | 婷婷久久亚洲 | 天天做综合网 | 在线观看视频福利 | 精品福利在线视频 | 在线视频一区观看 | 精品国产1区2区3区 国产欧美精品在线观看 | 欧美久久久久久久久中文字幕 | 亚洲精品久久久久999中文字幕 | av导航福利 | 成人午夜精品久久久久久久3d | 亚洲特级毛片 | 97电影网手机版 | 免费精品人在线二线三线 | 在线天堂中文在线资源网 | 国产成人免费高清 | 久草久视频 | 国产99久久久国产精品成人免费 | 国产做aⅴ在线视频播放 | av在线com| 国产中文字幕视频在线观看 | 免费视频91蜜桃 | 视频在线观看入口黄最新永久免费国产 | 久久99亚洲热视 | 在线观看免费av网 | 精品一区二区三区在线播放 | 最近能播放的中文字幕 | 国产亚洲视频在线 | 久久er99热精品一区二区三区 | 亚洲视频在线播放 | 国产精品嫩草影院123 | 久保带人 | 夜夜夜草| 五月婷婷黄色 | 天天干夜夜 | 在线免费亚洲 |