Hãy giúp tôi xem vấn đề mã hóa tín hiệu giao thông của ema.

Tác giả:, Tạo: 2021-11-04 11:34:33, Cập nhật:

Có hai tham số ema, ema1 ((A2) và ema2 ((A3), khi một trong các thiết lập ema lớn hơn 100, ema không phù hợp với giá trị của bitcoin khi fmz thực sự chạy, (được thông thường khi ema nhỏ hơn 100), dẫn đến tín hiệu mở sớm hoặc chậm 5-10 dây k.

"'Backtest bắt đầu: 2021-11-01 00:00:00 kết thúc: 2021-11-02 00:00:00 Thời gian: 5m cơ sở Thời gian: 1m trao đổi: [{eid:Futures_Binance,currency:BTC_USDT}] args: [[M,8],[A2,100],[A3,200],[K3,500],[K2,300]] "

def accuracy ((): # lấy chính xác giao dịch 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 # tính toán giá chính xác 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.01P0float (cân bằng ví) n1=round ((P/ticker1[Last],BV1) nếu n1==0: N1=n1+10**(-BV1)

defin main ((): trong khi True: toàn cầu i cho i trong phạm vi ((len)) trao đổi): giao dịch[i].SetContractType ((swap) độ chính xác giao dịch[i].SetMarginLevel(M) ticker1=_C(exchanges[i].GetTicker) tiền tệ1=_C(các sàn giao dịch[i].GetCurrency) position1=_C ((exchanges[i].GetPosition) r=_C(exchanges[i].GetRecords) nếu r và len®>9: EMA=TA.EMA(r,A2) EMA2=TA.EMA(r,A3) longsignal=EMA[-3]EMA2[-2] shortsignal=EMA[-3]>EMA2[-3] và 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)

Thêm nữa

Giấc mơ nhỏBạn có thể tính toán EMA 100 về cơ bản giống nhau, EMA 200 có một chút sai sót vì EMA 200 cần nhiều cột đường hơn (K-line BAR). Các khái niệm cơ bản như vậy có ở Baudoa.