以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [原创]请教开仓,加仓公式编译 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182416) |
-- 作者:余生量化 -- 发布时间:2020/9/29 22:31:46 -- [原创]请教开仓,加仓公式编译 请问 在最高价突破布林上轨时买入1手,然后在最高价突破比布林上轨价高1个ATR的价格时再买入1手,应该怎样编写 |
-- 作者:wenarm -- 发布时间:2020/9/30 8:14:43 -- 基本的逻辑如下:建议你自己看懂后处理。 注:下面代码非完整代码模块,需要你理解后填充处理。
//使用全局变量进行标记。 VARIABLE:flag=0;//用户区分开仓和加仓的标志位 //当没仓位,并且标志位0时,只要最高价突破布林上轨则开仓。 if cross(HIGH,UPPER) =1 and HOLDING=0 and flag=0 then begin buy(); flag:=1;//开启加仓标记开关 end //不知道你所谓的atr要的是均值后的tr,还是就tr。本例以10日均线的tr为参照。你自己根据需要修改。 atr:=ma(tr,10);
//最高价突破比布林上轨价高1个ATR的价格时,并且flag=1 if cross(HIGH,UPPER+atr) and flag=1 then begin buy();//加仓语句。 flag:=0;//此处需要你自己决定是否置为零。一般平仓是需要将flag变成0 ,这样才能再次满足开仓条件 end
|