python 瀑布线指标编写实例


Posted in Python onJune 03, 2020

我就废话不多说了,大家还是直接看代码吧!

# -*- 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中逻辑运算原理如下:

x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。
not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

当输入为一个负数时,运算过程如下所示:

>>> -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 相关文章推荐
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
Python常见排序操作示例【字典、列表、指定元素等】
Aug 15 Python
浅析python中的迭代与迭代对象
Oct 08 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
对Python多线程读写文件加锁的实例详解
Jan 14 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
python绘制动态曲线教程
Feb 24 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
Django微信小程序后台开发教程的实现
Jun 03 #Python
python判断正负数方式
Jun 03 #Python
Python绘制动态水球图过程详解
Jun 03 #Python
解决numpy矩阵相减出现的负值自动转正值的问题
Jun 03 #Python
Django DRF路由与扩展功能的实现
Jun 03 #Python
Django中使用Json返回数据的实现方法
Jun 03 #Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 #Python
You might like
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
Views rows style模板重写代码
2011/05/16 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
Python set集合类型操作总结
2014/11/07 Python
python tensorflow基于cnn实现手写数字识别
2018/01/01 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
在keras里面实现计算f1-score的代码
2020/06/15 Python
Python内置函数及功能简介汇总
2020/10/13 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
请说出以下代码输出什么
2013/08/30 面试题
语文教育专业应届生求职信
2013/11/23 职场文书
学习经验交流会主持词
2014/04/01 职场文书
夏季药店促销方案
2014/08/22 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
民事调解书范文
2015/05/20 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
导游词之任弼时故居
2020/01/07 职场文书
详解Python中下划线的5种含义
2021/07/15 Python