炒币机器人系统开发案例源码,智能自动炒币机器人系统开发详解

智能自动炒币机器人系统开发功能介绍: 
量化交易的主要特点:
  买卖双方不再是由人们的主观判断决定的,改为由定量模型决定的。定量交易是一套科学的方法,它有严格的分析和计算,是由数据和模型决定的。即使是一种简单的低市盈率投资方法,只要能严格执行,也能获得巨额利润。

def ADX(df, n, n_ADX):
i = 0
UpI = []
DoI = []
while i + 1 <= df.index[-1]:
UpMove = df.get_value(i + 1, ‘High’) - df.get_value(i, ‘High’)
DoMove = df.get_value(i, ‘Low’) - df.get_value(i + 1, ‘Low’)
if UpMove > DoMove and UpMove > 0:
UpD = UpMove
else: UpD = 0
UpI.append(UpD)
if DoMove > UpMove and DoMove > 0:
DoD = DoMove
else: DoD = 0
DoI.append(DoD)
i = i + 1
i = 0
TR_l = [0]
while i < df.index[-1]:
TR = max(df.get_value(i + 1, ‘High’), df.get_value(i, ‘Close’)) - min(df.get_value(i + 1, ‘Low’), df.get_value(i, ‘Close’))
TR_l.append(TR)
i = i + 1
TR_s = Series(TR_l)
ATR = Series(ewma(TR_s, span = n, min_periods = n))
UpI = Series(UpI)
DoI = Series(DoI)
PosDI = Series(ewma(UpI, span = n, min_periods = n - 1) / ATR)
NegDI = Series(ewma(DoI, span = n, min_periods = n - 1) / ATR)
ADX = Series(ewma(abs(PosDI - NegDI) / (PosDI + NegDI), span = n_ADX, min_periods = n_ADX - 1), name = ‘ADX_’ + str(n) + ‘_’ + str(n_ADX))
df = df.join(ADX)
return df

def MACD(df, n_fast, n_slow):
EMAfast = Series(ewma(df[‘Close’], span = n_fast, min_periods = n_slow - 1))
EMAslow = Series(ewma(df[‘Close’], span = n_slow, min_periods = n_slow - 1))
MACD = Series(EMAfast - EMAslow, name = ‘MACD_’ + str(n_fast) + ‘’ + str(n_slow))
MACDsign = Series(ewma(MACD, span = 9, min_periods = 8), name = 'MACDsign
’ + str(n_fast) + ‘’ + str(n_slow))
MACDdiff = Series(MACD - MACDsign, name = 'MACDdiff
’ + str(n_fast) + ‘_’ + str(n_slow))
df = df.join(MACD)
df = df.join(MACDsign)
df = df.join(MACDdiff)
return df

猜你喜欢

转载自blog.csdn.net/yy625019/article/details/113730963