Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
def psar(barsdata, iaf = 0.02, maxaf = 0.2):
    length 
= len(barsdata)
    dates 
= list(barsdata['Date'])
    high 
= list(barsdata['High'])
    low 
= list(barsdata['Low'])
    close 
= list(barsdata['Close'])
    psar 
= close[0:len(close)]
    psarbull 
= [None] * length
    psarbear 
= [None] * length
    bull 
= True
    af 
= iaf
    ep 
= low[0]
    hp 
= high[0]
    lp 
= low[0]
    
    
for i in range(2,length):
        
if bull:
            psar[i] 
= psar[i - 1+ af * (hp - psar[i - 1])
        
else:
            psar[i] 
= psar[i - 1+ af * (lp - psar[i - 1])
        
        reverse 
= False
        
        
if bull:
            
if low[i] < psar[i]:
                bull 
= False
                reverse 
= True
                psar[i] 
= hp
                lp 
= low[i]
                af 
= iaf
        
else:
            
if high[i] > psar[i]:
                bull 
= True
                reverse 
= True
                psar[i] 
= lp
                hp 
= high[i]
                af 
= iaf
    
        
if not reverse:
            
if bull:
                
if high[i] > hp:
                    hp 
= high[i]
                    af 
= min(af + iaf, maxaf)
                
if low[i - 1< psar[i]:
                    psar[i] 
= low[i - 1]
                
if low[i - 2< psar[i]:
                    psar[i] 
= low[i - 2]
            
else:
                
if low[i] < lp:
                    lp 
= low[i]
                    af 
= min(af + iaf, maxaf)
                
if high[i - 1> psar[i]:
                    psar[i] 
= high[i - 1]
                
if high[i - 2> psar[i]:
                    psar[i] 
= high[i - 2]
                    
        
if bull:
            psarbull[i] 
= psar[i]
        
else:
            psarbear[i] 
= psar[i]
 
    
return {"dates":dates, "high":high, "low":low, "close":close, "psar":psar, "psarbear":psarbear, "psarbull":psarbull}

这段代码有点问题 需要修改下才能使用
posted on 2017-09-23 20:56 ccsdu2009 阅读(311) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理