Estrategias de monedas digitales V0.2

El autor:El Ártico, Fecha: 2016-09-13 17:36:54
Las etiquetas:TendenciaPython- ¿Qué es?

@Taiti QQ7650371 Me siento muy bien. #Línea uniforme / Tendencia Estrategia # Por juzgar cuánto compramos después de rebotar debajo del tenedor # ¿Cuánto se vende después de subir a la cima de la horquilla de oro?


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



Relacionados

Más.

El árbol de las floresSe ejecuta el mensaje de error Trackback (most recent call last): File "", line 967, in __init_ctx__ File "", line 63 except Exception, ex: ^ SyntaxError: invalid syntax

¿Qué es eso?Cambié de idea, cada vez que lo compraba, lo compraba a precio de mercado, corría varias veces sin cometer errores, pero cada vez era en pérdida.

¿Qué es eso?#!/usr/local/bin/python #-*- codificación: UTF-8 -*- # línea uniforme / tendencia estrategia # Por juzgar cuánto compramos después de rebotar debajo del tenedor # ¿Cuánto se vende después de subir a la cima de la horquilla? # FastPeriod = 3 # el ciclo de línea rápida de apertura # SlowPeriod=7 # el ciclo de la línea lenta de apertura # EntrarPeriod=1 # el período de observación de la apertura # ExitFastPeriod=3 # Ciclo de línea de liquidación # ExitSlowPeriod=7 # Ciclo de línea baja de la posición # ExitPeriod=2 # el período de observación de las liquidaciones # PosiciónRatio = 0.5 # Proporción de posición #Interval=10 #ciclo de encuestas # MAType=0 # tipo lineal TA.EMA y TA.MA array = [TA.EMA, TA.MA] _MACalcMethod = matriz [MAType] ext = intercambio def Cross ((a, b): # El método de cálculo de la línea recta El crossNum es 0. Entonces arr1 es igual a [] Así que arr2 es igual a [] listType = tipo ((arr1) IntType = tipo ((1) floatType = tipo ((1.1) if (type (a) == type (arr1) y type (b) == type (arr2)): Arr1 es igual a a Arr2 es igual a b. El otro: registros = cero mientras True: Los registros = exchange.GetRecords If (records y len (records) > a y len (records) > b): Break es el nombre de una banda de rock. El sueño (intervalo) arr1 = _MACalcMethod (records, a) Arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) Si (len) arr1 es igual a (len) arr2: Excepción de aumento (excepción de aumento) para i en el rango ((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 es el nombre de una banda de rock. si ((arr1[i] < arr2[i]): Si (crossNum > 0): Break es el nombre de una banda de rock. El crossNum es igual a 1. elif ((arr1[i] > arr2[i]): si (crossNum < 0): Break es el nombre de una banda de rock. El crossNum + es igual a 1. El otro: Break es el nombre de una banda de rock. Retorno del número cruzado importar el tiempo de fecha def Caltime ((date1, date2)): ¿Qué es esto? 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]) Retorno de fecha 2 - fecha 1 Except Exception como ex: Log (('except Exception Caltime:', ex) return "excepto excepción" tiempo de importación start_timexx = time.localtime (tiempo.tiempo)) # tiempo.reloj (tiempo). start_time = time.strftime (("%Y-%m-%d %H:%M:%S", start_timexx) El precio de compra es 0. buy_qty = 0 # El número de compras Gains = 0 # Ganancias Def my_buy: #abriendo el mercado ¿Qué es esto? Global buy_price y buy_qty initAccount = ext.GetAccount() # Exportación de la función de la plantilla de transacciones, obtención del estado de la cuenta, conservación de la política antes de ejecutar el estado inicial de la cuenta OpAmount es igual a 1 # Previo a la apertura de la operación, se determina si hay monedas o no, sin comprar antes Si int ((initAccount.Stocks) > 1: Si el precio de compra es < 1, El precio de compra = _C (exchange.GetTicker). Compra_qty = initAccount.Stocks También puede comprar Log (('Información sobre el almacenamiento 1', initAccount.Stocks. ' Desbloquear', '-- Detalles de apertura:', initAccount) regresar 1 Si int ((initAccount.Stocks) < 1: If int (float) (str) (init) (Account.Stocks).replace (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (). Si el precio de compra es < 1, El precio de compra = _C (exchange.GetTicker). Compra_qty = initAccount.Stocks También puede comprar Log (('Información de apertura de la bolsa 2' contiene más de:', initAccount.Stocks, ' Desbloquear', '-- Detalles de apertura:', initAccount) regresar 1 # si int ((initAccount.Stocks) < 1: If int (float) (str) (init) (Account.Stocks).replace (null), (null) (null) (null) (null) (null): # opAmount=1 opAmount = _N(initAccount.Balance * PositionRatio, 3) # cantidad de compras Log (("la operación se inicia sin monedas, la operación se inicia con %s de dólares" % (str ((opAmount))) # generar logs de LOG # else: ¿Qué quieres decir? # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # Obtener el número de operaciones # else: ¿Qué quieres decir? # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # Obtener el número de operaciones orderId = ext.Buy ((-1,opAmount) # Comprar extra.Buy -1 representa el precio del mercado if ((orderId): # Confirmación de éxito de la operación # Precio de compra #{'price': 4046.446, 'amount': 1.5} Dict = exchange.GetOrder ((orderId) es el nombre de la orden. El precio de compra es el mismo que el precio de compra. Buy_qty = Dict['Amount'] # Compra cantidad Imprimir_log ((1, initAccount, Dict) regresar 1 regresar 0 Except Exception como ex: Log (('except Exception my_buy:',ex) es el nombre de una de las aplicaciones de la aplicación. ¿Qué es lo que está pasando? # Información de inicialización Def print_log ((k_p, Cuenta, Dict): ¿Qué es esto? Cuenta global fuera nombre = "" Si k_p: LogProfit ((_N(gains, 4), 'Información de apertura de la operación dinero:', Account.Balance, '-- Moneda:', Account.Stocks, '-- Detalles de la operación:', Dict) nombre = "abriendo" El otro: LogProfit ((_N(gains, 4), 'Información de liquidación del dinero:', Account.Balance, '-- Moneda:', Account.Stocks, '-- Detalles de las operaciones:', Dict) nombre = "Plazo" # Información de inicialización Date1 = time.strftime (("%Y-%m-%d %H:%M:%S", time.localtime(time.time))) LogStatus ((("Initialización de la inversión 2016/9/16 con una inversión de 2000 yuanes\r\n", "Estado de inicialización:", outAccount, "\r\n estado de ejecución actual:", endAccount, "\r\n El tiempo de inicio de la ejecución: %s Ya está ejecutado: %s\r\n" % ( El tiempo de inicio, Caltime (start_time, date1)), "La ganancia de esta vez: %s\r\n" % (str(gains) "Estado actual: %s-- dinero: %s-- moneda: %s\r\n" % (str(name), En la actualidad, el sitio web de la compañía es el más popular en todo el mundo. "La fecha de actualización: %s" % (date1) * # Prueba Except Exception como ex: Log (('except Exception print_log:', ex) Def my_sell: #Tienda en pie ¿Qué es esto? Global buy_price, buy_qty, ganancias y tiempo de inicio nowAccount = ext.GetAccount() # Exportación de la función de la plantilla de transacciones Obtener información de la cuenta if _C ((exchange.GetTicker).Last > buy_price + 4: # El precio actual debe ser mayor que el precio de apertura Log ((type ((nowAccount.Stocks), ahoraAccount.Stocks) orderId = ext.Sell ((-1, nowAccount.Stocks) #-1 representa el precio del mercado Si (Id de orden): Log ((tipo ((ordenId)) Dict = ext.GetOrder ((orderId) es el nombre de la orden. El precio de venta es el precio de compra. ganancias = ganancias + ganancias de venta El precio de compra es 0. Si el número de compras es igual a 0, entonces el número de compras es igual a 0, y el número de compras es igual a 0. Imprimir_log ((0, ahoraAccount, Dict) regresar 1 regresar 0 Except Exception como ex: Log (('except Exception my_sell:',ex) es el nombre de una de las páginas de la página web. regresar 0 Def main (): Cuenta global fuera El estado está vacío. estado = STATE_IDLE # Iniciar el estado en blanco Log (("run", outAccount) # Exporta la información de la cuenta inicial SetErrorFilter (("GetAccount en GetRecords en GetTicker") # para bloquear el contenido incorrecto b = 0 # En el mercado b1 = 0 # El número de detecciones a = 0 # el equilibrio a1 = 0 # El número de detecciones mientras True: if ((state == STATE_IDLE): # Determina si el estado de la casilla está abierto o no # Las tiendas abiertas n = Cross ((FastPeriod, SlowPeriod) # Función de plantilla para obtener resultados de cruce de línea rápida, línea lenta del indicador EMA if n < 0: # Determina el forcón muerto actual b1 + es igual a 1. if b >= int ((n): # indica que todavía hay una tendencia a la baja b = int (n) else: # comienza a bajar. if ((int(n) >= int(b) + int ((EnterPeriod)): # confirma el movimiento al alza hasta el punto que se define Si mi_comprar: #comprar b es igual a 0. b1 es igual a 0. El estado = PD_SHORT # if ((b1>=10): # Operación de movilidad pequeña # b1 es igual a 0 # si mi_compra (: # b es igual a 0 # estado = PD_SHORT else: # de la misma posición n = Cross ((ExitFastPeriod, ExitSlowPeriod) # Función de plantilla para obtener resultados de cruce de línea rápida, línea lenta de indicadores EMA if n > 0: # Determina la horquilla actual A1 + 1 es igual a 1 if a <= int ((n): # indicando que está en una tendencia al alza a = int (n) else: # Comienza a caer y se estabiliza if ((int ((n) <= int ((a) - int ((ExitPeriod)): # Confirma la tendencia bajista hasta el punto que se define Si mi_sell: #Tienda de venta a es igual a 0. A1 es igual a 0. state = STATE_IDLE # Cambiar el estado para poner en blanco # si ((a1>=10): # operación de liquidación de pequeñas fluctuaciones # a1 es 0 # si mi_venta: # a es igual a 0 # state = STATE_IDLE # Cambiar el estado al vacío para activar la posición Sleep (intervalo * 1000)

¿Qué es eso?#!/usr/local/bin/python #-*- codificación: UTF-8 -*- # línea uniforme / tendencia estrategia # Por juzgar cuánto compramos después de rebotar debajo del tenedor # ¿Cuánto se vende después de subir a la cima de la horquilla? # FastPeriod = 3 # el ciclo de línea rápida de apertura # SlowPeriod=7 # el ciclo de la línea lenta de apertura # EntrarPeriod=1 # el período de observación de la apertura # ExitFastPeriod=3 # Ciclo de línea de liquidación # ExitSlowPeriod=7 # Ciclo de línea baja de la posición # ExitPeriod=2 # el período de observación de las liquidaciones # PosiciónRatio = 0.5 # Proporción de posición #Interval=10 #ciclo de encuestas # MAType=0 # tipo lineal TA.EMA y TA.MA array = [TA.EMA, TA.MA] _MACalcMethod = matriz [MAType] ext = intercambio def Cross ((a, b): # El método de cálculo de la línea recta El crossNum es 0. Entonces arr1 es igual a [] Así que arr2 es igual a [] listType = tipo ((arr1) IntType = tipo ((1) floatType = tipo ((1.1) if (type (a) == type (arr1) y type (b) == type (arr2)): Arr1 es igual a a Arr2 es igual a b. El otro: registros = cero mientras True: Los registros = exchange.GetRecords If (records y len (records) > a y len (records) > b): Break es el nombre de una banda de rock. El sueño (intervalo) arr1 = _MACalcMethod (records, a) Arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) y arr2 = _MACalcMethod (records, b) Si (len) arr1 es igual a (len) arr2: Excepción de aumento (excepción de aumento) para i en el rango ((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 es el nombre de una banda de rock. si ((arr1[i] < arr2[i]): Si (crossNum > 0): Break es el nombre de una banda de rock. El crossNum es igual a 1. elif ((arr1[i] > arr2[i]): si (crossNum < 0): Break es el nombre de una banda de rock. El crossNum + es igual a 1. El otro: Break es el nombre de una banda de rock. Retorno del número cruzado importar el tiempo de fecha def Caltime ((date1, date2)): ¿Qué es esto? 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]) Retorno de fecha 2 - fecha 1 Except Exception como ex: Log (('except Exception Caltime:', ex) return "excepto excepción" tiempo de importación start_timexx = time.localtime (tiempo.tiempo)) # tiempo.reloj (tiempo). start_time = time.strftime (("%Y-%m-%d %H:%M:%S", start_timexx) El precio de compra es 0. buy_qty = 0 # El número de compras Gains = 0 # Ganancias Def my_buy: #abriendo el mercado ¿Qué es esto? Global buy_price y buy_qty initAccount = ext.GetAccount() # Exportación de la función de la plantilla de transacciones, obtención del estado de la cuenta, conservación de la política antes de ejecutar el estado inicial de la cuenta OpAmount es igual a 1 # Previo a la apertura de la operación, se determina si hay monedas o no, sin comprar antes Si int ((initAccount.Stocks) > 1: Si el precio de compra es < 1, El precio de compra = _C (exchange.GetTicker). Compra_qty = initAccount.Stocks También puede comprar Log (('Información sobre el almacenamiento 1', initAccount.Stocks. ' Desbloquear', '-- Detalles de apertura:', initAccount) regresar 1 Si int ((initAccount.Stocks) < 1: If int (float) (str) (init) (Account.Stocks).replace (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (). Si el precio de compra es < 1, El precio de compra = _C (exchange.GetTicker). Compra_qty = initAccount.Stocks También puede comprar Log (('Información de apertura de la bolsa 2' contiene más de:', initAccount.Stocks, ' Desbloquear', '-- Detalles de apertura:', initAccount) regresar 1 # si int ((initAccount.Stocks) < 1: If int (float) (str) (init) (Account.Stocks).replace (null), (null) (null) (null) (null) (null): # opAmount=1 opAmount = _N(initAccount.Balance * PositionRatio, 3) # cantidad de compras Log (("la operación se inicia sin monedas, la operación se inicia con %s de dólares" % (str ((opAmount))) # generar logs de LOG # else: ¿Qué quieres decir? # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # Obtener el número de operaciones # else: ¿Qué quieres decir? # opAmount = _N ((initAccount.Stocks * PositionRatio,3) # Obtener el número de operaciones orderId = ext.Buy ((-1,opAmount) # Comprar extra.Buy -1 representa el precio del mercado if ((orderId): # Confirmación de éxito de la operación # Precio de compra #{'price': 4046.446, 'amount': 1.5} Dict = exchange.GetOrder ((orderId) es el nombre de la orden. El precio de compra es el mismo que el precio de compra. Buy_qty = Dict['Amount'] # Compra cantidad Imprimir_log ((1, initAccount, Dict) regresar 1 regresar 0 Except Exception como ex: Log (('except Exception my_buy:',ex) es el nombre de una de las aplicaciones de la aplicación. ¿Qué es lo que está pasando? # Información de inicialización Def print_log ((k_p, Cuenta, Dict): ¿Qué es esto? Cuenta global fuera nombre = "" Si k_p: LogProfit ((_N(gains, 4), 'Información de apertura de la operación dinero:', Account.Balance, '-- Moneda:', Account.Stocks, '-- Detalles de la operación:', Dict) nombre = "abriendo" El otro: LogProfit ((_N(gains, 4), 'Información de liquidación del dinero:', Account.Balance, '-- Moneda:', Account.Stocks, '-- Detalles de las operaciones:', Dict) nombre = "Plazo" # Información de inicialización Date1 = time.strftime (("%Y-%m-%d %H:%M:%S", time.localtime(time.time))) LogStatus ((("Initialización de la inversión 2016/9/16 con una inversión de 2000 yuanes\r\n", "Estado de inicialización:", outAccount, "\r\n estado de ejecución actual:", endAccount, "\r\n El tiempo de inicio de la ejecución: %s Ya está ejecutado: %s\r\n" % ( El tiempo de inicio, Caltime (start_time, date1)), "La ganancia de esta vez: %s\r\n" % (str(gains) "Estado actual: %s-- dinero: %s-- moneda: %s\r\n" % (str(name), En la actualidad, el sitio web de la compañía es el más popular en todo el mundo. "La fecha de actualización: %s" % (date1) * # Prueba Except Exception como ex: Log (('except Exception print_log:', ex) Def my_sell: #Tienda en pie ¿Qué es esto? Global buy_price, buy_qty, ganancias y tiempo de inicio nowAccount = ext.GetAccount() # Exportación de la función de la plantilla de transacciones Obtener información de la cuenta if _C ((exchange.GetTicker).Last > buy_price + 4: # El precio actual debe ser mayor que el precio de apertura Log ((type ((nowAccount.Stocks), ahoraAccount.Stocks) orderId = ext.Sell ((-1, nowAccount.Stocks) #-1 representa el precio del mercado Si (Id de orden): Log ((tipo ((ordenId)) Dict = ext.GetOrder ((orderId) es el nombre de la orden. El precio de venta es el precio de compra. ganancias = ganancias + ganancias de venta El precio de compra es 0. Si el número de compras es igual a 0, entonces el número de compras es igual a 0, y el número de compras es igual a 0. Imprimir_log ((0, ahoraAccount, Dict) regresar 1 regresar 0 Except Exception como ex: Log (('except Exception my_sell:',ex) es el nombre de una de las páginas de la página web. regresar 0 Def main (): Cuenta global fuera El estado está vacío. estado = STATE_IDLE # Iniciar el estado en blanco Log (("run", outAccount) # Exporta la información de la cuenta inicial SetErrorFilter (("GetAccount en GetRecords en GetTicker") # para bloquear el contenido incorrecto b = 0 # En el mercado b1 = 0 # El número de detecciones a = 0 # el equilibrio a1 = 0 # El número de detecciones mientras True: if ((state == STATE_IDLE): # Determina si el estado de la casilla está abierto o no # Las tiendas abiertas n = Cross ((FastPeriod, SlowPeriod) # Función de plantilla para obtener resultados de cruce de línea rápida, línea lenta del indicador EMA if n < 0: # Determina el forcón muerto actual b1 + es igual a 1. if b >= int ((n): # indica que todavía hay una tendencia a la baja b = int (n) else: # comienza a bajar. if ((int(n) >= int(b) + int ((EnterPeriod)): # confirma el movimiento al alza hasta el punto que se define Si mi_comprar: #comprar b es igual a 0. b1 es igual a 0. El estado = PD_SHORT # if ((b1>=10): # Operación de movilidad pequeña # b1 es igual a 0 # si mi_compra (: # b es igual a 0 # estado = PD_SHORT else: # de la misma posición n = Cross ((ExitFastPeriod, ExitSlowPeriod) # Función de plantilla para obtener resultados de cruce de línea rápida, línea lenta de indicadores EMA if n > 0: # Determina la horquilla actual A1 + 1 es igual a 1 if a <= int ((n): # indicando que está en una tendencia al alza a = int (n) else: # Comienza a caer y se estabiliza if ((int ((n) <= int ((a) - int ((ExitPeriod)): # Confirma la tendencia bajista hasta el punto que se define Si mi_sell: #Tienda de venta a es igual a 0. A1 es igual a 0. state = STATE_IDLE # Cambiar el estado para poner en blanco # si ((a1>=10): # operación de liquidación de pequeñas fluctuaciones # a1 es 0 # si mi_venta: # a es igual a 0 # state = STATE_IDLE # Cambiar el estado al vacío para activar la posición Sleep (intervalo * 1000)

el año 2015except Exception my_sell: ooOooo000oOO la instancia no tiene ningún atributo 'GetMinStock' Por favor, ¿qué quiere decir con esto?

17707250703Eso es bueno, pero no lo es ahora.

El ÁrticoLa línea uniforme _ tendencia _ estrategia de negociación _ 1 En la actualidad, el programa está disponible en la web de YouTube. http://v.youku.com/v_show/id_XMTcz La línea de la línea de la línea de la línea de la línea de la línea. En el caso de los videojuegos de YouTube, el contenido de los videojuegos de YouTube es similar al de los videojuegos de YouTube, pero el contenido de los videojuegos de YouTube es diferente.