2つのemaパラメータであるema1 (a2) とema2 (a3) が,emaの設定が100以上である場合,fmzが実行しているときにemaとbinanの値が一致しない (emaが100未満の場合正常),開通信号が5-10根k線を早送りまたは遅延させる.
""バックテスト
2021年11月1日 00時00分
終了: 2021年11月2日 00時00分
期間:5m
ベース 期間: 1m
取引所: [{
def accuracy (((): #取引所の精度を取得する
global BV1,CV1
exchanges[i].SetContractType (
定義 メイン (:
と True の間:
グローバル i
i の範囲で ((len ((交換)):
取引所[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)
発明者 量化 - 微かな夢百度または知らず知らずで検索するEMAアルゴリズム,このようなリデリエーションアルゴリズムの計算する指標値は,送信されるデータ量の大きさに関連している (すなわち,K線列の数). 列列の数が多くなるほど,計算が近い. EMA100を基本的には同じ方法で計算することができます. EMA200は少し誤りがあります.