我就废话不多说了,大家还是直接看代码吧!
# -*- coding: utf-8 -*- """ Created on Tue May 23 08:57:02 2017 @author: yunjinqi E-mail:yunjinqi@qq.com Differentiate yourself in the world from anyone else. """ import pandas as pd import numpy as np import datetime import time #获取数据 df=pd.read_csv('C:/Users/HXWD/Desktop/000001.csv',encoding='gbk') df.columns=['date','code','name','close','high','low','open','preclose', 'change','change_per','volume','amt'] df=df[['date','open','high','low','close','volume','amt']] df.head() def get_EMA(df,N): for i in range(len(df)): if i==0: df.ix[i,'ema']=df.ix[i,'close'] if i>0: df.ix[i,'ema']=(2*df.ix[i-1,'close']+(N-1)*df.ix[i,'close'])/(N+1) return df['ema'] def get_PBX(df): df['a1']=(get_EMA(df,4)+df['close'].rolling(8).mean()+ df['close'].rolling(16).mean())/3 df['a2']=(get_EMA(df,6)+df['close'].rolling(12).mean()+ df['close'].rolling(24).mean())/3 df['a3']=(get_EMA(df,9)+df['close'].rolling(18).mean()+ df['close'].rolling(36).mean())/3 df['a4']=(get_EMA(df,13)+df['close'].rolling(26).mean()+ df['close'].rolling(52).mean())/3 df['a5']=(get_EMA(df,18)+df['close'].rolling(36).mean()+ df['close'].rolling(72).mean())/3 df['a6']=(get_EMA(df,24)+df['close'].rolling(48).mean()+ df['close'].rolling(96).mean())/3 return df get_PBX(df) df.tail() ''' 瀑布线 原理:均线类指标 用法: 瀑布线是趋势性指标,因其在运行的过程中,形态与瀑布极其相似,故得名为瀑布线。 瀑布线在低位粘合,短线瀑布线向上穿越长线瀑布线并向上发散,买入。 瀑布线在高位粘合,短线瀑布线向下穿越长线瀑布线并向下发散,卖出。 当长中短期瀑布线依次由下向上排列形成多头排列时,可持股。 当长中短期瀑布线依次由上向下排列形成空头排列时,应空仓。 '''
补充知识:Python使用逻辑运算符and、or、nor判断整数正负
今天刷Leetcode的时候,对整数进行翻转,由于Python的除法是向下取整,因此要对输入整数进行正负的判断,当时想到的是使用三目运算,但是看参考答案的时候,发现使用的是逻辑运算符进行正负数的判断,当时一脸懵逼,经过查找相关资料理解了原理,故此做个记录。
答案代码如图所示:
sign = x<0 and -1 or 1
其中x为输入整数,如果x为正数返回1,如果为负数返回-1。
由于最开始接触的C语言,学习Python的时候就没有太在意逻辑运算符,以为跟C语言一样返回的是一个布尔值,不知道为何会返回1和-1,查了相关资料发现Python中逻辑运算原理如下:
当输入为一个负数时,运算过程如下所示:
> -123<0 True > True and -1 -1 > -1 or 1 -1
首先判断-123<0,返回True,此时True与-1进行与运算,x为真,返回y的值为-1;然后-1与1进行或运算,由于非零整数都是为False,此时返回x的值-1。
当输入为一个正数时,运算过程如下所示:
> 123<0 False > False and -1 False > False or 1 1
首先判断123<0,返回False,此时False与-1进行与运算,x为假,返回False,然后False与1进行或运算,由于x为假,此时返回y的值1。
总而言之,使用Python中的逻辑运算符返回的并不是非False即True,而与输入x,y相关。
另外判断输入整数的正负还可以使用三目运算,如下所示:
sign = 1 if x>0 else -1
另附对整数实现翻转完整代码:
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ a = 0 sign = x<0 and -1 or 1 x = abs(x) while(x != 0): a = a*10 + x%10 x //=10 return a*sign if a<2**31 else 0
以上这篇python 瀑布线指标编写实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
python,瀑布线,指标
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】