В процессе загрузки ресурсов... загрузка...

Уравненная линия - тренды _ Стратегия цифровых денег V0.2

Автор:Тихий океан, Дата: 2016-09-13 17:36:54
Тэги:ТенденцияПитонМ.А.

@Taurus QQ7650371 (в переводе с английского) #равномерность/тенденция Стратегия # Посмотрите, сколько вы покупаете после того, как отскочите под вилкой # Сколько продается после того, как золотая вилка поднялась на вершину


#!/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)



Связанные

Больше

НеобработанныйЗапустить сообщение об ошибке Trackback (most recent call last): File "", line 967, in __init_ctx__ File "", line 63 except Exception, ex: ^ SyntaxError: invalid syntax

Это правда.Я поменял курс, каждый раз покупал по рыночной цене, несколько раз бегал без ошибок, но каждый раз проигрывал.

Это правда.#!/usr/local/bin/python #-*- кодирование: UTF-8 -*- #равномерность/тенденция Стратегия # Посмотрите, сколько вы покупаете после того, как отскочите под вилкой # Сколько продается после того, как золотая вилка поднялась на вершину # FastPeriod=3 # Открытие фаст-линейного цикла # SlowPeriod=7 # Продолжающийся медленный период # EnterPeriod=1 # период наблюдения за открытием # ExitFastPeriod=3 # Плосколинейный цикл # ExitSlowPeriod=7 # Плоскость просроченного цикла #ExitPeriod=2 #последний период наблюдений # PositionRatio=0.5 # Пропорция позиций # Interval=10 # цикл опроса # MAType=0 # однолинейный тип TA.EMA.MA array = [TA.EMA, TA.MA] _MACalcMethod = array[MAType] ext = обмен def Cross ((a, b): # Уравнительный метод 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 = нуль while True: records = exchange.GetRecords ((() if ((records and len ((records) > a and len ((records) > b): Брек Спящий (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)): Брек if ((arr1[i] < arr2[i]): if ((crossNum > 0): Брек crossNum - = 1 elif ((arr1[i] > arr2[i]): if ((crossNum < 0): Брек crossNum + = 1 else: Брек return crossNum import datetime def Caltime ((date1, date2)): Попробуйте: 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 - дата1 except Exception as ex: исключение как экс: Log (('except Exception Caltime:', ex) return "except Exception" (за исключением исключения) Время импорта 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 ((): # открытие Попробуйте: Global buy_price, buy_qty initAccount = ext.GetAccount() # Функция экспорта шаблона транзакции, получает состояние аккаунта, сохраняет начальное состояние аккаунта перед запуском политики opAmount = 1 # Рассмотреть наличие или отсутствие монет до открытия if int ((initAccount.Stocks) > 1: Если buy_price < 1, buy_price = _C ((exchange.GetTicker).Последний buy_qty = initAccount.Stocks Log (('Открытие счетов 1', initAccount.Stocks, ' Проводить очистку', '-- Открытие счета:', initAccount) return 1 if int ((initAccount.Stocks) < 1: if int ((float))) str ((initAccount.Stocks).replace (('0.', ''))) >= 1: Если buy_price < 1, buy_price = _C ((exchange.GetTicker).Последний buy_qty = initAccount.Stocks Log (('Открытие счета 2', initAccount.Stocks, ' Проводить очистку', '-- Открытие счета:', 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) # Количество покупок Log (("Открытие сделки без монеты. Открытие сделки с покупкой %s" % (str ((opAmount))) # создание LOG журналов # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # количество полученных сделок # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # количество полученных сделок orderId = ext.Buy ((-1,opAmount) # купить ext.Buy -1 представляет собой рыночную цену if ((orderId): # подтверждение успешного открытия позиции # Покупка #{'price': 4046.446, 'amount': 1.5} Dict = exchange.GetOrder ((orderId)) buy_price = Dict ['Цена'] buy_qty = Dict['Amount'] # Количество покупок print_log ((1, initAccount, Dict) return 1 return 0 except Exception as ex: исключение как экс: Log (('except Exception my_buy:',ex) return 0 outAccount = ext.GetAccount (() # Инициализация сообщения def print_log ((k_p, Account, Dict): Попробуйте: Global outAccount name = "" if k_p: LogProfit ((_N(gains, 4), 'Информация об открытии позиции Деньги:', Account.Balance, '--coin:', Account.Stocks, '--подробности открытия:', Dict) name = "Открытие" else: LogProfit ((_N(gains, 4), 'Информация о балансе Деньги:', Account.Balance, '--coin:', 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), Строй (Account.Balance), строй (Account.Stocks), строй (Account.Stocks) "Время обновления: %s" % (date1) * * * * * * * * * except Exception as ex: исключение как экс: Log (('except Exception print_log:', ex) def my_sell (((): # Площадка Попробуйте: Global buy_price, buy_qty, gains, start_time nowAccount = ext.GetAccount() # Функция экспорта шаблона транзакций Получить информацию об аккаунте if _C ((exchange.GetTicker).Last > buy_price + 4: # Текущая цена должна быть больше, чем цена открытия Log ((type ((nowAccount.Stocks), теперьAccount.Stocks) orderId = ext.Sell ((-1,nowAccount.Stocks) #-1 представляет рыночную цену if ((orderId): Log ((type ((orderId)) Dict = ext.GetOrder ((orderId)) sell_gains = (Dict['Price'] - buy_price) * Дикт['Amount'] gains = gains + sell_gains buy_price = 0 # Цена покупки buy_qty = 0 # Количество покупок 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 # Пустое положение 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 = 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 (если я продаю): # а = 0 # state = STATE_IDLE # Изменение состояния для пустого Sleep ((Интервал * 1000)

Это правда.#!/usr/local/bin/python #-*- кодирование: UTF-8 -*- #равномерность/тенденция Стратегия # Посмотрите, сколько вы покупаете после того, как отскочите под вилкой # Сколько продается после того, как золотая вилка поднялась на вершину # FastPeriod=3 # Открытие фаст-линейного цикла # SlowPeriod=7 # Продолжающийся медленный период # EnterPeriod=1 # период наблюдения за открытием # ExitFastPeriod=3 # Плосколинейный цикл # ExitSlowPeriod=7 # Плоскость просроченного цикла #ExitPeriod=2 #последний период наблюдений # PositionRatio=0.5 # Пропорция позиций # Interval=10 # цикл опроса # MAType=0 # однолинейный тип TA.EMA.MA array = [TA.EMA, TA.MA] _MACalcMethod = array[MAType] ext = обмен def Cross ((a, b): # Уравнительный метод 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 = нуль while True: records = exchange.GetRecords ((() if ((records and len ((records) > a and len ((records) > b): Брек Спящий (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)): Брек if ((arr1[i] < arr2[i]): if ((crossNum > 0): Брек crossNum - = 1 elif ((arr1[i] > arr2[i]): if ((crossNum < 0): Брек crossNum + = 1 else: Брек return crossNum import datetime def Caltime ((date1, date2)): Попробуйте: 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 - дата1 except Exception as ex: исключение как экс: Log (('except Exception Caltime:', ex) return "except Exception" (за исключением исключения) Время импорта 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 ((): # открытие Попробуйте: Global buy_price, buy_qty initAccount = ext.GetAccount() # Функция экспорта шаблона транзакции, получает состояние аккаунта, сохраняет начальное состояние аккаунта перед запуском политики opAmount = 1 # Рассмотреть наличие или отсутствие монет до открытия if int ((initAccount.Stocks) > 1: Если buy_price < 1, buy_price = _C ((exchange.GetTicker).Последний buy_qty = initAccount.Stocks Log (('Открытие счетов 1', initAccount.Stocks, ' Проводить очистку', '-- Открытие счета:', initAccount) return 1 if int ((initAccount.Stocks) < 1: if int ((float))) str ((initAccount.Stocks).replace (('0.', ''))) >= 1: Если buy_price < 1, buy_price = _C ((exchange.GetTicker).Последний buy_qty = initAccount.Stocks Log (('Открытие счета 2', initAccount.Stocks, ' Проводить очистку', '-- Открытие счета:', 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) # Количество покупок Log (("Открытие сделки без монеты. Открытие сделки с покупкой %s" % (str ((opAmount))) # создание LOG журналов # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # количество полученных сделок # else: # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # количество полученных сделок orderId = ext.Buy ((-1,opAmount) # купить ext.Buy -1 представляет собой рыночную цену if ((orderId): # подтверждение успешного открытия позиции # Покупка #{'price': 4046.446, 'amount': 1.5} Dict = exchange.GetOrder ((orderId)) buy_price = Dict ['Цена'] buy_qty = Dict['Amount'] # Количество покупок print_log ((1, initAccount, Dict) return 1 return 0 except Exception as ex: исключение как экс: Log (('except Exception my_buy:',ex) return 0 outAccount = ext.GetAccount (() # Инициализация сообщения def print_log ((k_p, Account, Dict): Попробуйте: Global outAccount name = "" if k_p: LogProfit ((_N(gains, 4), 'Информация об открытии позиции Деньги:', Account.Balance, '--coin:', Account.Stocks, '--подробности открытия:', Dict) name = "Открытие" else: LogProfit ((_N(gains, 4), 'Информация о балансе Деньги:', Account.Balance, '--coin:', 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), Строй (Account.Balance), строй (Account.Stocks), строй (Account.Stocks) "Время обновления: %s" % (date1) * * * * * * * * * except Exception as ex: исключение как экс: Log (('except Exception print_log:', ex) def my_sell (((): # Площадка Попробуйте: Global buy_price, buy_qty, gains, start_time nowAccount = ext.GetAccount() # Функция экспорта шаблона транзакций Получить информацию об аккаунте if _C ((exchange.GetTicker).Last > buy_price + 4: # Текущая цена должна быть больше, чем цена открытия Log ((type ((nowAccount.Stocks), теперьAccount.Stocks) orderId = ext.Sell ((-1,nowAccount.Stocks) #-1 представляет рыночную цену if ((orderId): Log ((type ((orderId)) Dict = ext.GetOrder ((orderId)) sell_gains = (Dict['Price'] - buy_price) * Дикт['Amount'] gains = gains + sell_gains buy_price = 0 # Цена покупки buy_qty = 0 # Количество покупок 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 # Пустое положение 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 = 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 (если я продаю): # а = 0 # state = STATE_IDLE # Изменение состояния для пустого Sleep ((Интервал * 1000)

ДДБО2015except Exception my_sell: ooOooo000oOO instance has no attribute 'GetMinStock' (включая исключение my_sell: ooOooo000oOO) Прошу вас, расскажите мне, что это означает, когда вы постоянно напоминаете мне об этом?

17707250703Это было здорово, но сейчас это не работает.

Тихий океанУравнительная _ тенденция _ стратегия _ сделка _ 1 http://v.youku.com/v_show/id_XMTczMTAxMjQ5Ng==.html Уравнительная _ тенденция _ стратегическая сделка _ высокая четкость 2 http://v.youku.com/v_show/id_XMTczMDk4MTEwMA==.html