Đường thẳng - xu hướng _ Chiến lược tiền kỹ thuật số V0.2

Tác giả:Thái Bình Dương, Ngày: 2016-09-13 17:36:54
Tags:Xu hướngPythonMA

@Taiti QQ7650371 # đường thẳng / xu hướng Chiến lược # Bằng cách đánh giá bao nhiêu mua lại sau khi bơm lại bên dưới cái củi chết # Thị trường bán được bao nhiêu sau khi lên đến đỉnh


#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#均线/趋势  策略
#通过判断  在死叉下底后回弹多少买入
#在金叉上扬至顶后下降多少卖出


# FastPeriod=3 #开仓快线周期
# SlowPeriod=7 #开仓慢线周期
# EnterPeriod=1       #开仓观察期
# ExitFastPeriod=3 #平仓线周期
# ExitSlowPeriod=7 #平仓慢线周期
# ExitPeriod=2        #平仓观察期
# PositionRatio=0.5 #仓位比例
# Interval=10 #轮询周期
# MAType=0 #均线类型 TA.EMA|TA.MA


import types
array = [TA.EMA,TA.MA]
_MACalcMethod = array[MAType]
def Cross(a,b):   #计算均线方法
    crossNum = 0
    arr1 = []
    arr2 = []
    if(type(a) == types.ListType and type(b) == types.ListType):
        arr1 = a
        arr2 = b
    else:
        records = null
        while True:
            records = exchange.GetRecords()
            if(records and len(records) > a and len(records) > b):
                break
            Sleep(Interval)
        arr1 = _MACalcMethod(records,a)
        arr2 = _MACalcMethod(records,b)
    if(len(arr1) != len(arr2)):
        raise Exception("array length not equal")
    for i in range(len(arr1) - 1,-1,-1):
        if((type(arr1[i]) != types.IntType and type(arr1[i]) != types.FloatType) or (type(arr2[i]) != types.IntType and type(arr2[i]) != types.FloatType) ):
            break
        if(arr1[i] < arr2[i]):
            if(crossNum > 0):
                break
            crossNum -= 1
        elif(arr1[i] > arr2[i]):
            if(crossNum < 0):
                break
            crossNum += 1
        else:
            break
    return crossNum

import datetime
def Caltime(date1,date2):
    try:
        date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S")
        date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S")
        date1=datetime.datetime(date1[0],date1[1],date1[2],date1[3],date1[4],date1[5])
        date2=datetime.datetime(date2[0],date2[1],date2[2],date2[3],date2[4],date2[5])
        return date2-date1
    except Exception,ex:
        Log('except Exception Caltime:',ex)
        return "except Exception"

import time
start_timexx =time.localtime(time.time()) #time.clock()
start_time=time.strftime("%Y-%m-%d %H:%M:%S",start_timexx)
buy_price=0 #买入价格
buy_qty=0  #买入数量
gains=0  #盈利

def my_buy(): #开仓
    try:
        global buy_price,buy_qty
        initAccount = ext.GetAccount()  #交易模板的导出函数, 获得账户状态,保存策略运行前账户初始状态
        opAmount=1
        #开仓之前判断有币没有没有先进行买入
        if int(initAccount.Stocks)>1:
            if buy_price<1:
                buy_price=_C(exchange.GetTicker).Last
                buy_qty=initAccount.Stocks
            Log('开仓信息1 仓内还有比:',initAccount.Stocks,'进行清空','--开仓详情:',initAccount)
            return 1
        if int(initAccount.Stocks)<1:
            if int(str(initAccount.Stocks).replace('0.',''))>=1:
                if buy_price<1:
                    buy_price=_C(exchange.GetTicker).Last
                    buy_qty=initAccount.Stocks
                Log('开仓信息2 仓内还有比:',initAccount.Stocks,'进行清空','--开仓详情:',initAccount)
                return 1

        #if int(initAccount.Stocks)<1:
        if int(str(initAccount.Stocks).replace('0.',''))==0:
            #opAmount=1
            opAmount = _N(initAccount.Balance*PositionRatio,3)  #买入数量
            Log("开仓没有币先进行 开仓买入%s元"%(str(opAmount)))   #生成LOG日志
        #     else:
        #         opAmount = _N(initAccount.Stocks * PositionRatio,3)  #获取交易数量
        # else:
        #     opAmount = _N(initAccount.Stocks * PositionRatio,3)  #获取交易数量
        Dict = ext.Buy(opAmount)  #买入ext.Buy
        if(Dict):#确认开仓成功
            buy_price=Dict['price'] #买入价格   #{'price': 4046.446, 'amount': 1.5}
            buy_qty=Dict['amount']  #买入数量
            print_log(1,initAccount,Dict)
            return 1
        return 0

    except Exception,ex:
        Log('except Exception my_buy:',ex)
        return 0

outAccount = ext.GetAccount()  #初始化信息
def print_log(k_p,Account,Dict):
    try:
        global outAccount
        name=""
        if k_p:
            LogProfit(_N(gains,4),'开仓信息 钱:',Account.Balance,'--币:',Account.Stocks,'--开仓详情:',Dict)
            name="开仓"
        else:
            LogProfit(_N(gains,4),'平仓信息 钱:',Account.Balance,'--币:',Account.Stocks,'--平仓详情:',Dict)
            name="平仓"
        endAccount = ext.GetAccount()  #初始化信息
        date1=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
        LogStatus("初始化投入2016/9/16  投入资金2000元\r\n",
                  "本次初始化状态:",outAccount,
                  "\r\n当前运  行状态:",endAccount,
                  "\r\n本次开始运行时间:%s  已运行:%s\r\n"%(start_time,Caltime(start_time,date1)),
                  "本次盈利:%s\r\n"%(str(gains)),
                  "当前状态:%s--钱:%s--币:%s\r\n"%(str(name),str(Account.Balance),str(Account.Stocks)),
                  "更新时间:%s"%(date1)
                  ) # 测试
    except Exception,ex:
        Log('except Exception print_log:',ex)


def my_sell(): #平仓
    try:
        global buy_price,buy_qty,gains,start_time
        nowAccount = ext.GetAccount()  #交易模板的导出函数  获取账户信息
        if _C(exchange.GetTicker).Last>buy_price+4:   #当前价格一定要大于  开仓价格
            Dict = ext.Sell(nowAccount.Stocks)
            if(Dict):
                sell_gains=(Dict['price']-buy_price)*Dict['amount']
                gains=gains+sell_gains
                buy_price=0 #买入价格
                buy_qty=0  #买入数量
                print_log(0,nowAccount,Dict)
                return 1
        return 0
    except Exception,ex:
        Log('except Exception my_sell:',ex)
        return 0

def main():
    global outAccount
    STATE_IDLE = -1  #空闲状态
    state = STATE_IDLE  #初始化  状态 为 空闲

    Log("run  ",outAccount)  #输出初始账户信息
    SetErrorFilter("GetAccount|GetRecords|GetTicker")  #屏蔽错误内容

    b=0  #开仓
    b1=0  #检测次数
    a=0  #平仓
    a1=0  #检测次数
    while True:
        if(state == STATE_IDLE):   #判断状态是否 为空闲 触发开仓
            #开仓
            n = Cross(FastPeriod,SlowPeriod) #模板函数获取EMA指标快线、慢线交叉结果
            if n<0:  #确定当前为死叉
                b1+=1
                if b>=int(n): #说明现在还是在下跌涨趋势
                    b=int(n)
                else: #开始下跌  开仓
                    if(int(n)>=int(b)+int(EnterPeriod)):  #确认上行走势 至自己定义的点
                        if my_buy():  #开仓
                            b=0
                            b1=0
                            state = PD_SHORT
                            # if(b1>=10):#小波动操作开仓
                            #     b1=0
                            #     if my_buy():
                            #         b=0
                            #         state = PD_SHORT
        else:#平仓
            n = Cross(ExitFastPeriod,ExitSlowPeriod) #模板函数获取EMA指标快线、慢线交叉结果
            if n>0:  #确定当前为金叉
                a1+=1
                if a<=int(n): #说明现在还是在上涨趋势
                    a=int(n)
                else: #开始下跌  平仓
                    if(int(n)<=int(a)-int(ExitPeriod)):  #确认下行走势 至自己定义的点
                        if my_sell(): #平仓
                            a=0
                            a1=0
                            state = STATE_IDLE   #更改状态  为空闲 触发开仓
                            # if(a1>=10): #小波动操作平仓
                            #     a1=0
                            #     if my_sell():
                            #         a=0
                            #         state = STATE_IDLE   #更改状态  为空闲 触发开仓
        Sleep(Interval * 1000)



Có liên quan

Thêm nữa

Hồng MộcChạy báo cáo lỗi Trackback (most recent call last): File "", line 967, in __init_ctx__ File "", line 63 except Exception, ex: ^ SyntaxError: invalid syntax

Đúng là vậy.Tôi đã thay đổi, và mỗi lần tôi mua theo giá thị trường, tôi chạy một vài lần mà không gặp sai lầm, nhưng mỗi lần đều thua.

Đúng là vậy.#!/usr/local/bin/python #-*- mã hóa: UTF-8 -*- # đường thẳng / xu hướng Chiến lược # Bằng cách đánh giá giá bao nhiêu mua lại sau khi bơm lại bên dưới cái củi chết # Chiếc cưa vàng đã được bán ra bao nhiêu sau khi nó lên đến đỉnh # FastPeriod = 3 # mở cửa chu kỳ đường nhanh # SlowPeriod=7 # mở cửa vòng tròn chậm # EnterPeriod=1 # Khoảng thời gian quan sát mở cửa # ExitFastPeriod=3 # chu kỳ đường thẳng # ExitSlowPeriod=7 # chung cuộc chu kỳ đường chậm # ExitPeriod=2 # kỳ quan sát sàn giao dịch # PositionRatio = 0.5 # tỷ lệ vị trí # Interval=10 # chu kỳ thăm dò # MAType=0 # kiểu đường thẳng TA.EMA.MA array = [TA.EMA, TA.MA] _MACalcMethod = array[MAType] ext = exchange def Cross ((a, b): # phương pháp tính toán đường thẳng crossNum = 0 Arr1 = [] Arr2 = [] listType = type ((arr1) intType = type ((1) floatType = type ((1.1) if ((type ((a) == type ((arr1) and type ((b) == type ((arr2)): Arr1 = a Arr2 = b else: records = null while True: records = exchange.GetRecords if (records and len (records) > a and len (records) > b): break Sleep ((Interval)) arr1 = _MACalcMethod ((records, a) arr2 = _MACalcMethod ((records, b) if ((len ((arr1)!= len ((arr2)): raise Exception (("array length not equal") for i in range ((len ((arr1) - 1, -1, -1): if (((type(arr1[i])!= intType and type ((arr1[i])!= floatType) or (type(arr2[i])!= intType and type ((arr2[i])!= floatType)): break if ((arr1[i] < arr2[i]): if ((crossNum > 0): break crossNum - = 1 elif ((arr1[i] > arr2[i]): if ((crossNum < 0): break crossNum + = 1 else: break return crossNum import datetime def Caltime ((date1, date2)): try: date1 = time.strptime ((date1, "%Y-%m-%d %H:%M:%S") date2 = time.strptime ((date2, "%Y-%m-%d %H:%M:%S") date1 = datetime.datetime ((date1[0], date1[1], date1[ 2], date1[3], date1[4], date1[5]) date2 = datetime.datetime ((date2[0], date2[1], date2[ 2], date2[3], date2[4], date2[5]) return date2 - date1 except Exception as ex: Log (('except Exception Caltime:', ex) return "except Exception" (trừ ngoại lệ) import time start_timexx = time.localtime ((time.time)) # time.clock ((( start_time = time.strftime (("%Y-%m-%d %H:%M:%S", start_timexx) Buy_price = 0 # Giá mua buy_qty = 0 # Số lượng mua Gains = 0 # Lợi nhuận Def my_buy ((): # mở cửa try: Global buy_price, buy_qty initAccount = ext.GetAccount() # Chức năng xuất của mẫu giao dịch, lấy trạng thái tài khoản, lưu chính sách trước khi chạy trạng thái ban đầu của tài khoản opAmount = 1 # Xác định tiền tệ trước khi mở giao dịch if int ((initAccount.Stocks) > 1: if buy_price < 1: buy_price = _C ((exchange.GetTicker).Last buy_qty = initAccount.Stocks Log (('đánh giá thông tin 1 trong kho còn hơn:', initAccount.Stocks, ' thực hiện trống', '-- Details:', initAccount) return 1 if int ((initAccount.Stocks) < 1: if int ((float))) str ((initAccount.Stocks).replace (('0.', ''))) >= 1: if buy_price < 1: buy_price = _C ((exchange.GetTicker).Last buy_qty = initAccount.Stocks Log (('đánh giá thông tin 2' trong kho còn có so với:', initAccount.Stocks, ' thực hiện trống', '-- Details:', initAccount) return 1 # if int ((initAccount.Stocks) <1: if int ((float)) str ((initAccount.Stocks).replace (('0.', ''))) == 0: # opAmount=1 opAmount = _N(initAccount.Balance * PositionRatio, 3) # Số lượng mua Log (("Mở giao dịch không có đồng tiền trước tiên Bắt đầu giao dịch mua %s đô la" % (str ((opAmount))) # tạo LOG log # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # số lượng giao dịch thu được # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # số lượng giao dịch thu được orderId = ext.Buy ((-1,opAmount) # mua vào ext.Buy -1 đại diện cho giá thị trường if ((orderId): # xác nhận thành công # Giá mua #{'price': 4046.446, 'amount: 1.5} Dict = exchange.GetOrder ((orderId)) buy_price = Dict['Price'] buy_qty = Dict['Amount'] # Số lượng mua print_log ((1, initAccount, Dict) return 1 return 0 except Exception as ex: Log (('except Exception my_buy:',ex) return 0 # thông tin khởi tạo Def print_log ((k_p, Account, Dict): try: Global outAccount name = "" if k_p: LogProfit ((_N(gains, 4), 'trình bày thông tin tiền:', Account.Balance, '-- tiền:', Account.Stocks, '-- chi tiết giao dịch:', Dict) name = "Mở" else: LogProfit ((_N(gains, 4), 'Balance Information Money:', Account.Balance, '--tiền:', Account.Stocks, '--số chi tiết:', Dict) name = "định giá" endAccount = ext.GetAccount (() # Thông tin khởi động date1 = time.strftime (("%Y-%m-%d %H:%M:%S", time.localtime(time.time))) LogStatus ((("Initialization investment 2016/9/16 investment 2000 yuan\r\n", "Tình trạng khởi động hiện tại:", outAccount, "\r\n trạng thái chạy hiện tại:", endAccount, "\r\n Thời gian bắt đầu: %s Đã chạy: %s\r\n" % ( start_time, Caltime ((start_time, date1)), "Lợi nhuận lần này: %s\r\n" % (str(gains) "Tình trạng hiện tại: %s--tiền: %s--tiền: %s\r\n" % (str(name), Các trang web của chúng tôi được trang bị các nội dung liên quan đến các vấn đề liên quan đến tài khoản. "Thời gian cập nhật: %s" % (date1) ]] # Thử nghiệm except Exception as ex: Log (('except Exception print_log:', ex) Def my_sell: # Đặt hàng try: Global buy_price, buy_qty, gains, start_time nowAccount = ext.GetAccount() # Chức năng xuất mẫu giao dịch Nhập thông tin tài khoản if _C ((exchange.GetTicker).Last > buy_price + 4: # Giá hiện tại phải lớn hơn giá mở Log ((type ((nowAccount.Stocks), nowAccount.Stocks) orderId = ext.Sell ((-1,nowAccount.Stocks) #-1 đại diện cho giá thị trường if ((orderId): Log ((type ((orderId)) Dict = ext.GetOrder ((orderId)) sell_gains = (Dict['Price'] - buy_price) * Dict['Amount'] gain = gain + sell_gains Buy_price = 0 # Giá mua buy_qty = 0 # Số lượng mua print_log ((0, nowAccount, Dict) return 1 return 0 except Exception as ex: Log (('except Exception my_sell:',ex) return 0 def main (: Global outAccount STATE_IDLE = -1 # trạng thái trống state = STATE_IDLE # Initialize trạng thái trống Log (("run", outAccount) # xuất thông tin tài khoản ban đầu SetErrorFilter (("GetAccount trongGetRecords trongGetTicker") # che giấu nội dung sai b = 0 # Bắt đầu b1 = 0 # Số lần phát hiện # a = 0 a1 = 0 # Số lần phát hiện while True: if ((state == STATE_IDLE): # Xác định trạng thái để kích hoạt giao dịch # mở cửa n = Cross ((FastPeriod, SlowPeriod) # Các hàm mẫu lấy kết quả chéo đường nhanh, đường chậm của EMA if n < 0: # Định giá hiện tại b1 + = 1 if b >= int ((n): # chỉ ra rằng hiện tại xu hướng đang giảm b = int ((n) else: # Bắt đầu giảm giá if ((int ((n) >= int ((b) + int ((EnterPeriod)): # xác nhận xu hướng tăng lên đến điểm mà bạn xác định if my_buy ((): # mở giao dịch b = 0 b1 = 0 state = PD_SHORT # if ((b1>=10): # giao dịch biến động nhỏ # b1 = 0 # if my_buy: #b=0 # state = PD_SHORT else: # Đặt hàng n = Cross ((ExitFastPeriod, ExitSlowPeriod) # Các hàm mẫu lấy kết quả chéo đường nhanh, đường chậm của EMA if n > 0: # Định giá hiện tại là Golden Fork a1 + = 1 if a <= int ((n): # chỉ ra rằng hiện nay đang có xu hướng tăng a = int ((n)) else: # Bắt đầu giảm giá if ((int ((n) <= int ((a) - int ((ExitPeriod)): # xác nhận xu hướng giảm đến điểm mà bạn xác định if my_sell ((): # Đặt hàng a = 0 a1 = 0 state = STATE_IDLE # Thay đổi trạng thái Bỏ trống kích hoạt giao dịch # if ((a1>=10): # hoạt động ổn định biến động nhỏ # a1 = 0 # if my_sell: #a=0 # state = STATE_IDLE # thay đổi trạng thái để trống kích hoạt giao dịch Sleep ((Interval * 1000)

Đúng là vậy.#!/usr/local/bin/python #-*- mã hóa: UTF-8 -*- # đường thẳng / xu hướng Chiến lược # Bằng cách đánh giá giá bao nhiêu mua lại sau khi bơm lại bên dưới cái củi chết # Chiếc cưa vàng đã được bán ra bao nhiêu sau khi nó lên đến đỉnh # FastPeriod = 3 # mở cửa chu kỳ đường nhanh # SlowPeriod=7 # mở cửa vòng tròn chậm # EnterPeriod=1 # Khoảng thời gian quan sát mở cửa # ExitFastPeriod=3 # chu kỳ đường thẳng # ExitSlowPeriod=7 # chung cuộc chu kỳ đường chậm # ExitPeriod=2 # kỳ quan sát sàn giao dịch # PositionRatio = 0.5 # tỷ lệ vị trí # Interval=10 # chu kỳ thăm dò # MAType=0 # kiểu đường thẳng TA.EMA.MA array = [TA.EMA, TA.MA] _MACalcMethod = array[MAType] ext = exchange def Cross ((a, b): # phương pháp tính toán đường thẳng crossNum = 0 Arr1 = [] Arr2 = [] listType = type ((arr1) intType = type ((1) floatType = type ((1.1) if ((type ((a) == type ((arr1) and type ((b) == type ((arr2)): Arr1 = a Arr2 = b else: records = null while True: records = exchange.GetRecords if (records and len (records) > a and len (records) > b): break Sleep ((Interval)) arr1 = _MACalcMethod ((records, a) arr2 = _MACalcMethod ((records, b) if ((len ((arr1)!= len ((arr2)): raise Exception (("array length not equal") for i in range ((len ((arr1) - 1, -1, -1): if (((type(arr1[i])!= intType and type ((arr1[i])!= floatType) or (type(arr2[i])!= intType and type ((arr2[i])!= floatType)): break if ((arr1[i] < arr2[i]): if ((crossNum > 0): break crossNum - = 1 elif ((arr1[i] > arr2[i]): if ((crossNum < 0): break crossNum + = 1 else: break return crossNum import datetime def Caltime ((date1, date2)): try: date1 = time.strptime ((date1, "%Y-%m-%d %H:%M:%S") date2 = time.strptime ((date2, "%Y-%m-%d %H:%M:%S") date1 = datetime.datetime ((date1[0], date1[1], date1[ 2], date1[3], date1[4], date1[5]) date2 = datetime.datetime ((date2[0], date2[1], date2[ 2], date2[3], date2[4], date2[5]) return date2 - date1 except Exception as ex: Log (('except Exception Caltime:', ex) return "except Exception" (trừ ngoại lệ) import time start_timexx = time.localtime ((time.time)) # time.clock ((( start_time = time.strftime (("%Y-%m-%d %H:%M:%S", start_timexx) Buy_price = 0 # Giá mua buy_qty = 0 # Số lượng mua Gains = 0 # Lợi nhuận Def my_buy ((): # mở cửa try: Global buy_price, buy_qty initAccount = ext.GetAccount() # Chức năng xuất của mẫu giao dịch, lấy trạng thái tài khoản, lưu chính sách trước khi chạy trạng thái ban đầu của tài khoản opAmount = 1 # Xác định tiền tệ trước khi mở giao dịch if int ((initAccount.Stocks) > 1: if buy_price < 1: buy_price = _C ((exchange.GetTicker).Last buy_qty = initAccount.Stocks Log (('đánh giá thông tin 1 trong kho còn hơn:', initAccount.Stocks, ' thực hiện trống', '-- Details:', initAccount) return 1 if int ((initAccount.Stocks) < 1: if int ((float))) str ((initAccount.Stocks).replace (('0.', ''))) >= 1: if buy_price < 1: buy_price = _C ((exchange.GetTicker).Last buy_qty = initAccount.Stocks Log (('đánh giá thông tin 2' trong kho còn có so với:', initAccount.Stocks, ' thực hiện trống', '-- Details:', initAccount) return 1 # if int ((initAccount.Stocks) <1: if int ((float)) str ((initAccount.Stocks).replace (('0.', ''))) == 0: # opAmount=1 opAmount = _N(initAccount.Balance * PositionRatio, 3) # Số lượng mua Log (("Mở giao dịch không có đồng tiền trước tiên Bắt đầu giao dịch mua %s đô la" % (str ((opAmount))) # tạo LOG log # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # số lượng giao dịch thu được # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # số lượng giao dịch thu được orderId = ext.Buy ((-1,opAmount) # mua vào ext.Buy -1 đại diện cho giá thị trường if ((orderId): # xác nhận thành công # Giá mua #{'price': 4046.446, 'amount: 1.5} Dict = exchange.GetOrder ((orderId)) buy_price = Dict['Price'] buy_qty = Dict['Amount'] # Số lượng mua print_log ((1, initAccount, Dict) return 1 return 0 except Exception as ex: Log (('except Exception my_buy:',ex) return 0 # thông tin khởi tạo Def print_log ((k_p, Account, Dict): try: Global outAccount name = "" if k_p: LogProfit ((_N(gains, 4), 'trình bày thông tin tiền:', Account.Balance, '-- tiền:', Account.Stocks, '-- chi tiết giao dịch:', Dict) name = "Mở" else: LogProfit ((_N(gains, 4), 'Balance Information Money:', Account.Balance, '--tiền:', Account.Stocks, '--số chi tiết:', Dict) name = "định giá" endAccount = ext.GetAccount (() # Thông tin khởi động date1 = time.strftime (("%Y-%m-%d %H:%M:%S", time.localtime(time.time))) LogStatus ((("Initialization investment 2016/9/16 investment 2000 yuan\r\n", "Tình trạng khởi động hiện tại:", outAccount, "\r\n trạng thái chạy hiện tại:", endAccount, "\r\n Thời gian bắt đầu: %s Đã chạy: %s\r\n" % ( start_time, Caltime ((start_time, date1)), "Lợi nhuận lần này: %s\r\n" % (str(gains) "Tình trạng hiện tại: %s--tiền: %s--tiền: %s\r\n" % (str(name), Các trang web của chúng tôi được trang bị các nội dung liên quan đến các vấn đề liên quan đến tài khoản. "Thời gian cập nhật: %s" % (date1) ]] # Thử nghiệm except Exception as ex: Log (('except Exception print_log:', ex) Def my_sell: # Đặt hàng try: Global buy_price, buy_qty, gains, start_time nowAccount = ext.GetAccount() # Chức năng xuất mẫu giao dịch Nhập thông tin tài khoản if _C ((exchange.GetTicker).Last > buy_price + 4: # Giá hiện tại phải lớn hơn giá mở Log ((type ((nowAccount.Stocks), nowAccount.Stocks) orderId = ext.Sell ((-1,nowAccount.Stocks) #-1 đại diện cho giá thị trường if ((orderId): Log ((type ((orderId)) Dict = ext.GetOrder ((orderId)) sell_gains = (Dict['Price'] - buy_price) * Dict['Amount'] gain = gain + sell_gains Buy_price = 0 # Giá mua buy_qty = 0 # Số lượng mua print_log ((0, nowAccount, Dict) return 1 return 0 except Exception as ex: Log (('except Exception my_sell:',ex) return 0 def main (: Global outAccount STATE_IDLE = -1 # trạng thái trống state = STATE_IDLE # Initialize trạng thái trống Log (("run", outAccount) # xuất thông tin tài khoản ban đầu SetErrorFilter (("GetAccount trongGetRecords trongGetTicker") # che giấu nội dung sai b = 0 # Bắt đầu b1 = 0 # Số lần phát hiện # a = 0 a1 = 0 # Số lần phát hiện while True: if ((state == STATE_IDLE): # Xác định trạng thái để kích hoạt giao dịch # mở cửa n = Cross ((FastPeriod, SlowPeriod) # Các hàm mẫu lấy kết quả chéo đường nhanh, đường chậm của EMA if n < 0: # Định giá hiện tại b1 + = 1 if b >= int ((n): # chỉ ra rằng hiện tại xu hướng đang giảm b = int ((n) else: # Bắt đầu giảm giá if ((int ((n) >= int ((b) + int ((EnterPeriod)): # xác nhận xu hướng tăng lên đến điểm mà bạn xác định if my_buy ((): # mở giao dịch b = 0 b1 = 0 state = PD_SHORT # if ((b1>=10): # giao dịch biến động nhỏ # b1 = 0 # if my_buy: #b=0 # state = PD_SHORT else: # Đặt hàng n = Cross ((ExitFastPeriod, ExitSlowPeriod) # Các hàm mẫu lấy kết quả chéo đường nhanh, đường chậm của EMA if n > 0: # Định giá hiện tại là Golden Fork a1 + = 1 if a <= int ((n): # chỉ ra rằng hiện nay đang có xu hướng tăng a = int ((n)) else: # Bắt đầu giảm giá if ((int ((n) <= int ((a) - int ((ExitPeriod)): # xác nhận xu hướng giảm đến điểm mà bạn xác định if my_sell ((): # Đặt hàng a = 0 a1 = 0 state = STATE_IDLE # Thay đổi trạng thái Bỏ trống kích hoạt giao dịch # if ((a1>=10): # hoạt động ổn định biến động nhỏ # a1 = 0 # if my_sell: #a=0 # state = STATE_IDLE # thay đổi trạng thái để trống kích hoạt giao dịch Sleep ((Interval * 1000)

ddbo2015except Exception my_sell: ooOooo000oOO instance does not have an attribute 'GetMinStock' Xin hãy cho tôi biết ý nghĩa của điều này.

17707250703Nó vẫn còn rất tốt, nhưng không cần thiết bây giờ.

Thái Bình DươngĐường ngang _ xu hướng _ chiến lược giao dịch _ 1 http://v.youku.com/v_show/id_XMTczMTAxMjQ5Ng==.html Đường ngang _ xu hướng _ giao dịch chiến lược _ HD2 http://v.youku.com/v_show/id_XMTczMDk4MTEwMA==.html