Il existe deux paramètres d'EMA, l'EMA1 (A2) et l'EMA2 (A3), lorsque l'un des paramètres d'EMA est supérieur à 100, l'EMA ne correspond pas à la valeur de Binance lorsque fmz est en cours d'exécution, ce qui entraîne un signal de démarrage précoce ou retardé de 5 à 10 lignes k.
""Teste de retour
début: 2021-11-01 00:00:00
Fin: 2021-11-02 00:00: 00:
période: 5m
basePériode: 1m
Les échanges: {
déf accuracy ((): # obtenir l'exactitude de l'échange
global BV1, CV1
Exchanges[i].SetContractType (en anglais seulement)
La devise 1 = _C (exchanges[i].GetCurrency)
Il y a une différence entre le ticker1 et le ticker2
Pour le compte 1 = _C ((exchanges[i].GetAccount)
all_BV1list=[
définition principale:
alors que True:
globale i
pour i dans la plage ((len ((échanges)):
les échanges[i].SetContractType ((
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)
L'inventeur de la quantification - un petit rêveVous pouvez calculer l'EMA100 de la même manière, l'EMA200 est un peu erroné parce que l'EMA200 nécessite plus de colonnes de lignes (K-line BAR). Ce type de concept de base existe sous Baudoin.