Type/to search
0
Follow
0
Followers
براہ کرم EMA کراس اوور سگنل کی بنیاد پر آرڈر کھولنے کے معاملے میں میری مدد کریں۔
Help
Created 2021-11-04 11:34:33  
 1
 1347

دو ایما پیرامیٹرز ہیں ، ایما 1 ((A2) اور ایما 2 ((A3) ، جب ایما میں سے ایک کی ترتیب 100 سے زیادہ ہوتی ہے تو ، ایف ایم زیڈ ریئل ڈسک چلتے وقت ایما اور بٹ ان کی قدر متضاد ہوتی ہے ، ((ایما 100 سے کم ہونے پر عام ہے) ، جس سے کھلنے کا اشارہ 5-10 روٹ ک لائن کو آگے بڑھاتا ہے یا تاخیر کرتا ہے۔

'''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: # ایکسچینج کی درستگی حاصل کریں
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

قیمتوں کی درستگی

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(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(r)>9:
EMA=TA.EMA(r,A2)
EMA2=TA.EMA(r,A3)
longsignal=EMA[-3]<EMA2[-3] and EMA[-2]>EMA2[-2]
shortsignal=EMA[-3]>EMA2[-3] and EMA[-2]<EMA2[-2]
if len(position1)==0:

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)
Related Recommendations
Comment
All comments (1)

    百度或者知乎搜索下 EMA 算法, 这类迭代算法算出的指标值和传入的数据量大小有关(也就是K线线柱数量)。线柱数量越多,算出的越接近。你可以算算EMA100基本是一样的,EMA200有点误差就是因为EMA200 计算需要更多的线柱(K线BAR)。 这类基础概念百度下、知乎下就有。

    5 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)