查看点数图突破交易策略的源代码
←
点数图突破交易策略
跳转到:
导航
,
搜索
根据下列原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
智能交易攻略(8)-点数图突破交易策略 作者:仁心慧能 //-------智能交易公式-------------- //例8_1 点数图突破交易策略 {策略: 1.价格升破点数图最近几列的最高点时平空开多 2.价格跌破点数图最近几列的最低点时平多开空 ***点数图的算法和画法请问度娘*** } input: 格值(30),转向格(5),突破列数(3),偏移量(1); const: 最大列数(10); //突破列数应小于此数 array: 极点值[最大列数](0); //上涨列为最高格值,下跌列为最低格值 variable: 转向价(0),涨跌方向(0), 突破买价(99999),突破卖价(0);//初始化 if BarPos <= 1 then begin 转向价 := Round(Close); 涨跌方向 := 0; //初始化为无方向 突破买价 := High + 偏移量; 突破卖价 := Low - 偏移量; end else begin if 涨跌方向 = 0 then begin //尚未确定方向 if High >= 转向价 + 格值 * 转向格 then begin 极点值[0] := 转向价 + 格值 * 转向格; 涨跌方向 := 1; //上涨 end else if Low <= 转向价 - 格值 * 转向格 then begin 极点值[0] := 转向价 - 格值 * 转向格; 涨跌方向 := -1; //下跌 end; end else if 涨跌方向 = 1 then begin //当前列为上涨 if High >= 极点值[0] + 格值 then begin //增加向上的X格子 while High >= 极点值[0] + 格值 do begin 极点值[0] := 极点值[0] + 格值; 转向价 := 极点值[0] - 格值 * 转向格; //抬高转向价 end; end else if Low <= 转向价 then begin //上涨转为下跌 for n = 0 to 最大列数-1 do begin //数组移位 极点值[最大列数-n] := 极点值[最大列数-n-1]; end; //以下使点数图新增下跌列 极点值[0] := 转向价; 涨跌方向 := -1; //转为下跌 转向价 := 极点值[0] + 格值 * 转向格; while Low <= 极点值[0] - 格值 do begin 极点值[0] := 极点值[0] - 格值; 转向价 := 极点值[0] + 格值 * 转向格; end; end; end //当前列为上涨 else begin //当前列为下跌 if Low <= 极点值[0] - 格值 then begin //增加向下的O格子 while Low <= 极点值[0] - 格值 do begin 极点值[0] := 极点值[0] - 格值; 转向价 := 极点值[0] + 格值 * 转向格; end; end else if High >= 转向价 then begin //下跌转为上涨 for n = 0 to 最大列数-1 do begin 极点值[最大列数-n] := 极点值[最大列数-n-1]; end; 极点值[0] := 转向价; 涨跌方向 := 1; 转向价 := 极点值[0] - 格值 * 转向格; while High >= 极点值[0] + 格值 do begin 极点值[0] := 极点值[0] + 格值; 转向价 := 极点值[0] - 格值 * 转向格; end; end; end; //当前列为下跌 //根据最近若干列的极点值计算突破价位 value1:= 0; value2:= 99999; for n = 1 to 突破列数 do begin if 极点值[n] > value1 then value1 := 极点值[n]; if 极点值[n] < value2 then value2 := 极点值[n]; end; 突破买价 := value1 + 偏移量; 突破卖价 := value2 - 偏移量; end; Buy(' ', DEFAULT, 突破买价, -1, OT_STOP); SellShort(' ', DEFAULT, 突破卖价, -1, OT_STOP); 买线: 突破买价, Precision0; 卖线: 突破卖价, Precision0; 盈利因子: -GrossProfit/GrossLoss, Precision2, LineThick0; 盈亏比: -(GrossProfit/NumWinTrades)/(GrossLoss/NumLosTrades), Precision2, LineThick0; 胜率%: PercentProfit, Precision2, LineThick0; 净利: NetProfit, Precision2,LineThick0; 当前连亏次数: NumConsecLosers, Precision0, LineThick0; {注解: 1.用variable定义变量可增加可读性,在本例其实可以省略 2.Precision指定输出数值的小数位数 3.盈亏比=平均盈利/平均亏损,GrossLoss返回值为负数 } 如图所示: [[Image:Dstp1.gif]] 点数图算法的代码比较复杂,如果每个涉及到点数图的公式都包含那么多代码会比较难看, 我们是否可以把它做成公共代码供其它公式调用呢?用传统的调用指标公式的方法不太好使, 而且一次调用只能返回一个结果,本例的点数图就需要返回“突破买价”和“突破卖价”两个结果, 用户能否自编函数,并且让这个函数能同时返回多个结果呢? 敬请关注本攻略!
返回到
点数图突破交易策略
。
个人工具
内存:18908KB
18.119.28.173
该IP地址的讨论
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
金魔方论坛
下载金魔方
帮助
工具箱
链入页面
链出更改
特殊页面