BotVS趋势交易策略-RSI
BotVS趋势交易策略-RSI, 基于Python实现。
RSI简单买卖测试, 默认 70-100卖出,0-30买入
参数
代码
import math def adjustFloat(v): return math.floor(v*1000)/1000; # 取消挂起的订单 def cancelPendingOrders(): while True: orders = exchange.GetOrders(); if (not orders): if (len(orders) == 0): break; for j in range(len(records)): exchange.CancelOrder(orders[j].Id); Sleep(Interval); else: Sleep(Interval); STATE_WAIT_BUY = 0; STATE_WAIT_SELL = 1; STATE_BUY = 2; STATE_SELL = 3; STATE_WAIT_SELL_ALL = 4; State = STATE_WAIT_BUY; def onTick(exchange): global State records = exchange.GetRecords(); if (not records or len(records) < (RSIPeriod + 5)): return; rsi = TA.RSI(records, RSIPeriod); rsiValue = rsi[len(records) - 1]; #取最后一期的值为当前值 if (State == STATE_WAIT_BUY and rsiValue >= RSIBuyL and rsiValue <= RSIBuyH): # 买入点区间 State = STATE_BUY; elif (State == STATE_WAIT_SELL and rsiValue >= RSISellL and rsiValue <= RSISellH): # 卖出点区间 State = STATE_SELL; elif (State != STATE_WAIT_SELL_ALL): return; # Buy or Sell, Cancel pending orders first cancelPendingOrders(); account = exchange.GetAccount(); ticker = exchange.GetTicker(); if (not account or not ticker): return; # 买入 if (State == STATE_BUY): price = ticker.Last + SlidePrice; amount = adjustFloat(account.Balance / price); if (amount >= exchange.GetMinStock()): if (exchange.Buy(price, amount)): State = STATE_WAIT_SELL; # 卖出 else: if (account.Stocks > exchange.GetMinStock()): # STATE_WAIT_SELL or STATE_WAIT_SELL_ALL State = STATE_WAIT_SELL_ALL; exchange.Sell(ticker.Last - SlidePrice, account.Stocks); else: # No stocks, wait buy and log profit LogProfit(account.Balance); Log(account); State = STATE_WAIT_BUY; def main(): InitAccount = exchange.GetAccount(); Log(InitAccount); if (InitAccount.Stocks > 0): raise Exception("必须空仓介入") while True: onTick(exchange); Sleep(30000);
BotVS趋势交易策略-RSI的更多相关文章
- BotVS趋势交易策略-MACD
MACD低买高卖自动跟单滑动止损策略 , 基于Python实现. 交叉后前一柱指金叉后的第一柱的值, 交叉后前一柱指金叉前的最后一个柱的值, 滑动价格指下单时加的价格,比如买单会现价加上这个价格,卖单 ...
- BotVS趋势交易策略-MA均线
1. 均线策略1号 思路:使用MA小时线,入市线金叉买入,出市线死叉时卖出.代码如下 import types def main(): STATE_IDLE = -1 state = STATE_ID ...
- 【海龟汤策略】反趋势交易策略源代码分享(基于BOTVS)
策略介绍: 海龟之汤,简称“龟汤”,是个与海龟交易法则相反的交易策略,它利用了跟势交易(特别是海龟方式)在很多假突破方面的缺陷来获利(把海龟做成汤吃掉).上世纪八十年代早期,有个非常著名的交易员团体— ...
- WeQuant交易策略—RSI
RSI指标策略 策略介绍 RSI(相对强弱指标),是通过一段时期内的平均收盘上涨和下跌数,计算价格上涨所产生的波动占整个波动的百分比,来分析市场买卖盘的意向和实力. 计算公式(以日为单位举例) RSI ...
- 用python的matplotlib和numpy库绘制股票K线均线和成交量的整合效果(含量化验证交易策略代码)
在用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)一文里,我讲述了通过爬虫接口得到股票数据并绘制出K线均线图形的方式,在本文里,将 ...
- 用python的matplotlib和numpy库绘制股票K线均线的整合效果(含从网络接口爬取数据和验证交易策略代码)
本人最近在尝试着发表“以股票案例入门Python编程语言”系列的文章,在这些文章里,将用Python工具绘制各种股票指标,在讲述各股票指标的含义以及计算方式的同时,验证基于各种指标的交易策略,本文是第 ...
- 用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略
我的新书<基于股票大数据分析的Python入门实战>于近日上架,在这篇博文向大家介绍我的新书:<基于股票大数据分析的Python入门实战>里,介绍了这本书的内容.这里将摘录出部 ...
- 系统交易策略 hylt
最令我尴尬的事情,莫过于很多朋友来到网站,不知道我说的是什么.大多数人以为鬼仆是推销软件的.其实这里理解是错的,特别是一些软件制作与经销商,更出 于推销的目的,故意夸大产品性能,模糊交易系统与一般行情 ...
- WeQuant交易策略—网格交易
网格交易策略(Grid Trading) 策略介绍 网格策略本质上是一种低吸高抛的策略.标的物价格越低,吸纳的头寸越多:标的物价格越高,卖出的头寸越多.网格策略巧妙地借鉴了日常生活中渔翁撒网扑鱼的思路 ...
随机推荐
- 关于SurfaceView的那些事
今天来说说SurfaceView吧 这东西的特性大家记住一个就行了,它的绘制是在子线程中,所以不堵塞UI,非常适合一些复杂的绘制 SuufaceView有一个重要的对象,是SurfaceHolder, ...
- Entity Framework Core 软删除与查询过滤器
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...
- firefox插件开发及源码下载
在个别情况下,由于数据量巨大,造成显示性能的明显下降,此时使用c++开发firefox插件,可以提高用户使用体验. test.html: 在插件中,我们导出3个函数给js:AddStr, Pause, ...
- Xcode导出App一般问题及其解决方法(开发者协议变更及Bundle Id过期问题)
Xcode导出App一般问题及其解决方法 问题一:开发者协议变更问题. 变更后打包会出现如下图A警告,此时点击 "visit developer website"进入Apple开发 ...
- 浅谈游戏中BOSS设计的思路
对于大多数游戏来说,BOSS在其设计上都有着不可替代的作用,也是玩家印象最为深刻的一部分.近期自己也有在做BOSS的设计工作,有一些心得想要分享一下: 1.明确BOSS的设计目的 在设计之初,我们一定 ...
- 没有绝对安全的系统:写在AES 256破解之后
NULL 在理论上,理论和实践是一致的.在实践中,呵呵. ——(应该是)爱因斯坦(说的) (INFO:本文中不会出现公式,请放心阅读) AES 256被破解了? 对于TLNR(Too Long, No ...
- POJ2236 Wireless Network 并查集简单应用
Description An earthquake takes place in Southeast Asia. The ACM (Asia Cooperated Medical team) have ...
- RSA简介(二)——模幂算法
RSA最终加密.解密都要用到模乘的幂运算,简称模幂运算. 回忆一下RSA,从明文A到B B=Ae1%N 对B解密,就是 A=Be2%N 其中,一般来说,加密公钥中的e1一般会比较小,取65537居多, ...
- 生成二维码的js以及调用打印插件
插件: qrcode.js 插件下载网址:http://code.ciaoca.com/javascript/qrcode/ 用法实例: <script type="text/java ...
- 自己动手封装一个url参数解释器( ghostWuUrlParser.js )
ghostWuUrlParser.js的作用是分析一段url中的查询参数,即: '?'号后面的 键值对参数. ghostWuUrlParser.js 使用说明: ghostWuUrlParser( ' ...