首页 > 其他分享 >开拓者CCI指标与均线策略模型原理

开拓者CCI指标与均线策略模型原理

时间:2024-01-14 13:55:24浏览次数:19  
标签:false 模型 Numeric AvgDev CCI BoolSeries Commentary 开拓者

CCI由美国股市分析家唐纳德·蓝伯特提出,是一种超买超卖指标,重点研判股价偏离度。策略在均线判定趋势以后,运用经典的CCI入场信号进场,利用固定比例止损,当CCI达到出场信号,并且达到预期盈利离场。
源码如下:

//适用软件:交易开拓者
//公式名称:CCI与移动平均线策略
//数据周期:15M等
//数据合约:指数合约
//交易合约:主力合约
//适合品种:商品期货
//官方网站:www.quant.la

Params
Numeric N(200);
Numeric M(5);
Numeric X(1);
Numeric Fund(20000);

Vars
NumericSeries CC(0);
Numeric Mean( 0 );
Numeric AvgDev( 0 );
Numeric Counter( 0 ) ;
NumericSeries CCI(0);
NumericSeries MACC(0);
NumericSeries Lots(0);
BoolSeries BuyK(false);
BoolSeries SellK(false);
BoolSeries BuyS(false);
BoolSeries SellS(false);
BoolSeries BuyY(false);
BoolSeries SellY(false);

Begin
CC = High + Low + Close;
Mean = AverageFC( CC, N ) ;
AvgDev = 0 ;
for Counter = 0 to N - 1
{
AvgDev = AvgDev + Abs( CC[Counter] - Mean ) ;
}
AvgDev = AvgDev / N ;

if( AvgDev == 0)
CCI = 0;
Else
CCI = ( CC - Mean ) / ( 0.015 * AvgDev ) ;

MACC=AverageFC(C,N*M);
Lots=max(1,intpart(Fund/(O*ContractUnit*BigPointValue*MarginRatio)));

BuyK=CrossOver(CCI,100) AND C>MACC;
SellK=CrossUnder(CCI,-100) AND C<MACC;

SellY=CCI<0 AND C>entryprice*(1+X*0.01);
BuyY=CCI>0 AND C<entryprice*(1-X*0.01);

SellS=C<=entryprice*(1-X*0.01);
BuyS=C>=entryprice*(1+X*0.01);


If (MarketPosition==0 and CurrentBar>N*M and BuyK[1])
{
Buy(Lots,O);
Commentary("C21BK");
}
If (MarketPosition==0 and CurrentBar>N*M and SellK[1])
{
SellShort(Lots,O);
Commentary("C21SK");
}

If (MarketPosition>0 and BarsSinceEntry>1 and SellS[1])
{
Sell(0,O);
Commentary("C21SS");
}
If (MarketPosition<0 and BarsSinceEntry>1 and BuyS[1])
{
BuyToCover(0,O);
Commentary("C21BS");
}

If (MarketPosition>0 and BarsSinceEntry>1 and SellY[1])
{
Sell(0,O);
Commentary("C21SY");
}
If (MarketPosition<0 and BarsSinceEntry>1 and BuyY[1])
{
BuyToCover(0,O);
Commentary("C21BY");
}

End

 

 

标签:false,模型,Numeric,AvgDev,CCI,BoolSeries,Commentary,开拓者
From: https://www.cnblogs.com/bluejj/p/17963642

相关文章

  • InternLM大模型笔记3
    整个过程相比于上次来说比较顺利,除了前期pip安装缺少有关库导致报错报错,其他都没有什么问题配置NLTK过程遇到加载很慢,最后发现可能是算力太少导致服务器响应太慢导致,经过重装之后,解决了问题最后配置成功......
  • STRIDE模型
     威胁识别有不同的办法,如STRIDE模型、攻击树、KillChain等。STRIDE在软件安全分析领域应用较多,是微软开发的用于威胁识别的工具,它把威胁分成如下6个维度来考察:Snoofing(欺骗)Tampering(篡改)Repudiation(否认)Informationdisclosure(信息披露)DenialofService(拒绝服务)Elevati......
  • Eloquent 模型使用详解 Has One Through 远程一对一
    远程一对一也好,经过型,穿过型一对一也好,都能表示这种模型的关联方式:一种非直接的关系定义这里使用官方的例子:......
  • 从Bitcask存储模型谈超轻量级KV系统设计与实现
    Bitcask介绍Bitcask是一种“基于日志结构的哈希表”(ALog-StructuredHashTableforFastKey/ValueData)Bitcask最初作为分布式数据库Riak的后端出现,Riak中的每个节点都运行一个Bitcask实例,各自存储其负责的数据。抛开论文,我们先通过一篇博客#Bitcask—alog-struc......
  • 开发篇1:使用原生api和Langchain调用大模型
    对大模型的调用通常有以下几种方式:方式一、大模型厂商都会定义http风格的请求接口,在代码中可以直接发起http请求调用;方式二、在开发环境中使用大模型厂商提供的api;方式三、使用开发框架Langchain调用,这个就像java对数据库的调用一样,可以直接用jdbc也可以使用第三方框架,第三方框架......
  • 大模型背景下计算机视觉年终思考小结(上)
    1.引言在过去的十年里,出现了许多涉及计算机视觉的项目,举例如下:使用射线图像和其他医学图像领域的医学诊断应用使用导航图像分析建筑物和土地利用率相关应用各种环境下的目标检测和跟踪,如交通流统计、自然环境垃圾检测估计等上述应用所采用的计算机视觉的方法遵循统一的标准流程:首......
  • 网络流的一些模型
    无源汇有上下界可行流link没有源点和汇点,每条边都有一个流量的上限和下限\([l,r]\),问是否存在一组可行流让网络平衡。为了转化成我们熟悉的问题,可以把每条边都减去他们的下限\(l\),那么流量限制就成了\([0,r-l]\),即普通的网络流。但是这样做了之后可能流量不守恒,因此我们需要......
  • YOLOv5:将模型预测的结果图保存为JPG格式
    YOLOv5:将模型预测的结果图保存为JPG格式前言前提条件相关介绍实验环境YOLOv5:将模型预测的结果图保存为JPG格式代码实现进行预测输出结果前言由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自......
  • darknet-yolov4训练自己的模型记录
    最近又整了一块jetsonnano的板子,就拿过来正好用一下,这个跑yolo还是很有用的,这里也记录一下过程。1、jetsonnano变化之前也玩过jetsonnano,但是最近却发现这个nano和之前的不一样了,是这样的就是原来都是sd卡烧录,但是这个是emmc了最大的区别就是原来使用那个烧录软件给sd卡......
  • 扩散模型
      有不少介绍扩散模型的资料,其中"UnderstandingDiffusionModels:AUnifiedPerspective"论文是我读到的解释最详细也是最易于理解的一个。数学符号用粗体字母表示向量,如\(\mathbf{x},\mathbf{z}\)用字母\(\mathbf{x}\)表示可观测到变量,用字母\(\mathbf{z}\)表示隐变......