avatar of 吱吱吱吱在 吱吱吱吱在
fokus pada mesej peribadi
0
fokus pada
0
Pengikut

Tolong bantu saya dengan isu membuka pesanan berdasarkan isyarat silang EMA

Dicipta dalam: 2021-11-04 11:34:33, dikemas kini pada:
comments   1
hits   951

Terdapat dua parameter ema, ema1 ((A2) dan ema2 ((A3), apabila salah satu daripada parameter ema lebih besar daripada 100, fmz tidak sesuai dengan nilai BTC ketika berjalan di cakera, ((ema kurang daripada 100 normal), menyebabkan isyarat pembukaan akan mengemas kini atau menunda 5-10 akar k.

”‘backtest start: 2021-11-01 00:00:00 end: 2021-11-02 00:00:00 period: 5m basePeriod: 1m exchanges: [{“eid”:“Futures_Binance”,“currency”:“BTC_USDT”}] args: [[“M”,8],[“A2”,100],[“A3”,200],[“K3”,500],[“K2”,300]] “’

def accuracy ((): # mendapatkan ketepatan bursa global BV1,CV1 exchanges[i].SetContractType(‘swap’) currency1=_C(exchanges[i].GetCurrency) ticker1=_C(exchanges[i].GetTicker) account1=_C(exchanges[i].GetAccount) all_BV1list=[‘ALICE_USDT’,‘DODO_USDT’,‘UNFI_USDT’,‘LITU_USDT’,‘ZEN_USDT’,‘FIL_USDT’,‘AAVE_USDT’,‘KSM_USDT’,‘EGLD_USDT’,‘TRB_USDT’,‘CRV_USDT’, ‘BAL_USDT’,‘DOT_USDT’,‘SNX_USDT’,‘WAVES_USDT’,‘RLC_USDT’,‘BAND_USDT’,‘KAVA_USDT’,‘SXP_USDT’,‘OMG_USDT’,‘ZRX_USDT’,‘ALGO_USDT’, ‘THETA_USDT’,‘QTUM_USDT’,‘BAT_USDT’,‘IOTA_USDT’,‘ONT_USDT’,‘XTZ_USDT’,‘EOS_USDT’,‘XRP_USDT’,‘ICP_USDT’,‘NEO_USDT’,‘ATOM_USDT’, ‘BNB_USDT’,‘LINK_USDT’,‘ETC_USDT’,‘BNB_USDT’,‘YFII_USDT’,‘YFI_USDT’,‘DEFI_USDT’,‘MKR_USDT’,‘COMP_USDT’,‘ZEC_USDT’,‘DASH_USDT’, ‘XMR_USDT’,‘LTC_USDT’,‘BCH_USDT’,‘ETH_USDT’,‘BTC_USDT’] list1=[‘ALICE_USDT’,‘DODO_USDT’,‘UNFI_USDT’,‘LITU_USDT’,‘ZEN_USDT’,‘FIL_USDT’,‘AAVE_USDT’,‘KSM_USDT’,‘EGLD_USDT’,‘TRB_USDT’,‘CRV_USDT’, ‘BAL_USDT’,‘DOT_USDT’,‘SNX_USDT’,‘WAVES_USDT’,‘RLC_USDT’,‘BAND_USDT’,‘KAVA_USDT’,‘SXP_USDT’,‘OMG_USDT’,‘ZRX_USDT’,‘ALGO_USDT’, ‘THETA_USDT’,‘QTUM_USDT’,‘BAT_USDT’,‘IOTA_USDT’,‘ONT_USDT’,‘XTZ_USDT’,‘EOS_USDT’,‘XRP_USDT’] list2=[‘ICP_USDT’,‘NEO_USDT’,‘ATOM_USDT’,‘BNB_USDT’,‘LINK_USDT’,‘ETC_USDT’,‘BNB_USDT’] list3=[‘YFII_USDT’,‘YFI_USDT’,‘DEFI_USDT’,‘MKR_USDT’,‘COMP_USDT’,‘ZEC_USDT’,‘DASH_USDT’,‘XMR_USDT’,‘LTC_USDT’,‘BCH_USDT’,‘ETH_USDT’,‘BTC_USDT’] if currency1 in list1: BV1=1 if currency1 in list2: BV1=2 if currency1 in list3: BV1=3 if currency1 not in all_BV1list: BV1=0 #Pengiraan harga yang tepat if currency1!=‘YFI_USDT’: RR1=str(ticker1[“Last”]) content1=RR1.split(“.”)[-1] weishu1=len(content1) CV1=weishu1 else: CV1=0 global n1 account1=_C(exchange.GetAccount) walletbalance=account1[“Balance”] P=0.01*P0*float(walletbalance) n1=round(P/ticker1[“Last”],BV1) if n1==0: n1=n1+10**(-BV1)

def main(): while True: global i for i in range(len(exchanges)): exchanges[i].SetContractType(‘swap’) accuracy() exchanges[i].SetMarginLevel(M) ticker1=_C(exchanges[i].GetTicker) currency1=_C(exchanges[i].GetCurrency) position1=_C(exchanges[i].GetPosition) r=_C(exchanges[i].GetRecords) if r and len®>9: EMA=TA.EMA(r,A2) EMA2=TA.EMA(r,A3) longsignal=EMA[-3]EMA2[-2] shortsignal=EMA[-3]>EMA2[-3] and EMA[-2]

                    if longsignal: #1分钟金叉
                        Log(currency1,'多头信号成立')
                        exchanges[i].SetDirection('buy')
                        exchanges[i].Buy(-1,n1)
                        Log('倒数第二个EMA2:',EMA2[-2],'倒数第三个EMA2:',EMA2[-3])
                        Log('倒数第二个EMA1:',EMA[-2],'倒数第三个EMA1:',EMA[-3])
                        
                        
                    #开空信号
                    if shortsignal: #1分钟死叉
                        Log(currency1,'空头信号成立')
                        exchanges[i].SetDirection('sell')
                        exchanges[i].Sell(-1,n1)
                        Log('倒数第二个EMA2:',EMA2[-2],'倒数第三个EMA2:',EMA2[-3])
                        Log('倒数第二个EMA1:',EMA[-2],'倒数第三个EMA1:',EMA[-3])
                        
                if len(position1)==1:
                    if position1[0]["Type"]==0:
                        if ticker1["Last"]>position1[0].Price+K3:
                            Log(currency1,'多头触发止盈')
                            exchanges[i].SetDirection('closebuy')
                            exchanges[i].Sell(-1,position1[0].Amount)
                            Log('倒数第二个EMA2:',EMA2[-2],'倒数第三个EMA2:',EMA2[-3])
                            Log('倒数第二个EMA1:',EMA[-2],'倒数第三个EMA1:',EMA[-3])
                            
                        if ticker1["Last"]<position1[0].Price-K2:
                            Log(currency1,'多头触发止损')
                            exchanges[i].SetDirection('closebuy')
                            exchanges[i].Sell(-1,position1[0].Amount)
                            Log('倒数第二个EMA2:',EMA2[-2],'倒数第三个EMA2:',EMA2[-3])
                            Log('倒数第二个EMA1:',EMA[-2],'倒数第三个EMA1:',EMA[-3])
                            
                    if position1[0]["Type"]==1:
                        if ticker1["Last"]<position1[0].Price-K3:
                            Log(currency1,'空头触发止盈')
                            exchanges[i].SetDirection('closesell')
                            exchanges[i].Buy(-1,position1[0].Amount)
                            Log('倒数第二个EMA2:',EMA2[-2],'倒数第三个EMA2:',EMA2[-3])
                            Log('倒数第二个EMA1:',EMA[-2],'倒数第三个EMA1:',EMA[-3])
                            
                        if ticker1["Last"]>position1[0].Price+K2:
                            Log(currency1,'空头触发止损')
                            exchanges[i].SetDirection('closesell')
                            exchanges[i].Buy(-1,position1[0].Amount)
                            Log('倒数第二个EMA2:',EMA2[-2],'倒数第三个EMA2:',EMA2[-3])
                            Log('倒数第二个EMA1:',EMA[-2],'倒数第三个EMA1:',EMA[-3])
                            
        Sleep(S)