'''backtest
start: 2018-09-30 00:00:00
end: 2018-10-11 19:00:00
period: 15m
exchanges: [{"eid":"OKCoin_EN","currency":"ETC_USD"}]
'''
def main():
first()
while True:
get_information = _C(exchange.GetTicker)
#get_order = exchange.GetOrder()
btc_price_last = get_information.Last
#account = exchange.GetAccount()
for j in range(0,len(Grid_price_list)):
if(Grid_price_list[j-1] < btc_price_last < Grid_price_list[j]): # 判断价格所在的网格区间
if(btc_price_last < exchange.GetOrder(buy_id).AvgPrice and btc_price_last <= Grid_price_list[j-1]): # !!!需要进一步完善针对卖单情况的逻辑!!!,现价小于买入价,且现价小于等于网格下值,继续买入。
buy()
else:
main()
if(btc_price_last > exchange.GetOrder(buy_id).AvgPrice and btc_price_last >= Grid_price_list[j]): # !!!需要进一步完善针对卖单情况的逻辑!!!,现价大于买入价,且现价大于等于网格上值,继续卖出。
sell()
else:
main()
order_stock_rate = 0.05 * j # 仓位比例
Sleep(300 * 1000)
def buy():
buy_price = Grid_price_list[j-1]
buy_id = exchange.Buy(buy_price, 500 * (j - 1) / buy_price)
def sell():
sell_price = Grid_price_list[j]
sell_id = exchange.Sell(sell_price, 500 * j / sell_price)
def first():
get_information = _C(exchange.GetTicker)
#get_order = exchange.GetOrder()
btc_price_last = get_information.Last
global account
account = _C(exchange.GetAccount)
global Grid_price_list
Grid_price_list = [] # 给最低网格价格赋值,算出每个价格
btc_price_bottom = 7
for i in range(1,20):
btc_price_bottom = btc_price_bottom * 1.05
Grid_price_list.append(btc_price_bottom)
Log(Grid_price_list)
global j
for j in range(0,len(Grid_price_list)):
if(Grid_price_list[j-1] < btc_price_last < Grid_price_list[j]): # 判断价格所在的网格区间
buy()
Log("初始买入",exchange.GetOrder(buy_id)
#order_stock_rate = 0.05 * j # 仓位比例
El evangelio de los usuarios de microfinanzas¿Por qué no me ciegas?
El evangelio de los usuarios de microfinanzasRecurso de error, Traceback (most recent call last): File "
Los inventores cuantifican - sueños pequeñosNo importa, es normal que cometa este error.
Los inventores cuantifican - sueños pequeñosComo se puede ver, el estado de la información del pedido es 0, todavía en estado de pedido pendiente, es decir, el pedido no se ha transactado, por lo que el número de monedas no ha cambiado.
El evangelio de los usuarios de microfinanzasEn el siguiente código y registro, la información de exchange.GetOrder ((buy_id) contiene la cantidad de 368.3512, pero la información de Stocks es igual a la que establecí en mi recuento. Log (("compra inicial", exchange.GetOrder ((buy_id), account.Stocks) y otras páginas web de la red social. 2018-09-30 00:00:00 Información Compra inicial {'Status': 0L, 'Price': 10.8592, 'AvgPrice': 0.0, 'Amount: 368.3512, 'DealAmount': 0.0, 'ContractType': 'ETC_USDT_Huobi', 'Type': 0L, 'Id: 1L} 20.0 2018-09-30 00:00:00 Información 1 20.0 2018-09-30 00:00:00 Huobi compró 10.8592 368.351259761308 El precio de compra de Huobi para el año 2018 fue de $1.850 millones.
Los inventores cuantifican - sueños pequeñosEn el caso de las acciones, el precio de compra debe ser el precio de compra, el precio de compra debe ser el balance y el precio de venta debe ser el stock.
El evangelio de los usuarios de microfinanzas 还请教一下,回测系统里面account.Stocks的值不会变吗?怎么下了买入单,Balance减小了,Stocks没变呢?
Los inventores cuantifican - sueños pequeños### Por favor, llámenme Maestro DEBUG
¿Por qué no lo haces?
global j también
para j en el rango ((0, len ((Grid_price_list)):
if ((Grid_price_list[j-1] < btc_price_last < Grid_price_list[j]): # Determina el rango de la red donde se encuentra el precio
¿Qué es esto?
Log (("compra inicial", exchange.GetOrder ((buy_id) # Este lugar tiene menos de un