Môi trường phản hồi mô phỏng
Xin hỏi thông tin tài khoản được lấy từ exchange.GetAccount, giá trị Balance được tính như thế nào?
Số tiền ban đầu 50000, 100 lần đòn bẩy, số tiền ban đầu 500%, số tiền bảo hiểm theo lý thuyết nên là 5%, số tiền ban đầu có sẵn usdt nên là 95%, số liệu thực tế được in là 3937
初始资金*开仓5倍 = 50000 * 5 = 250000 ,100杠杆,即保证金使用开仓规模的1/100 , 即2500。


function main() {
exchange.SetContractType("swap")
exchange.SetMarginLevel(100)
var acc = exchange.GetAccount()
Log(acc)
//下单
var t = exchange.GetTicker()
exchange.SetDirection("buy")
exchange.Buy(t.Sell + 1000, acc.Balance * 5 / t.Last)
Log(exchange.GetAccount())
}
Balance是当前可用保证金。偏差考虑资金费率因素。
'''backtest
start: 2021-09-25 00:00:00
end: 2021-10-25 23:59:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
def main():
exchange.SetContractType("swap")
exchange.SetMarginLevel(100)
acc = exchange.GetAccount()
t = exchange.GetTicker()
exchange.SetDirection("buy")
exchange.Buy(t.Sell + 1000, acc.Balance * 5 / t.Last)
while True:
acc = exchange.GetAccount()
pos = exchange.GetPosition()
Log("Account.Balance: {}, Position.Profit: {}".format(acc.Balance, pos[0].Profit))
Sleep(3600000*8)
麻烦帮忙看看,我这代码是否有问题
class Trade():
def init(self):
exchange.SetContractType("swap")
exchange.SetMarginLevel(100)
def OnOrder(self):
acc = exchange.GetAccount()
t = exchange.GetTicker()
exchange.SetDirection("buy")
exchange.Buy(t.Sell + 1000, acc.Balance * 5 / t.Last)
Log(acc)
def main():
trade = Trade()
trade.OnOrder()
while True:
acc = exchange.GetAccount()
pos = exchange.GetPosition()
Log("Account.Balance: {}, Position.Profit: {}".format(acc.Balance, pos[0].Profit))
Sleep(3600000*8)
盈利越高,Balance数值怎么会越低
- 1
