Lingkungan simulasi feedback
Bagaimana nilai Balance dihitung dari informasi akun yang diperoleh melalui exchange.GetAccount?
modal awal 50000, 100 kali leverage, modal awal 500% untuk membuka posisi, modal awal 5% untuk jaminan, modal awal 95% untuk USDT yang tersedia, data yang dicetak adalah 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
