以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 仿造示例写了一个小程序。麻烦帮忙看看指导一下。谢谢。 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=147222) |
|
-- 作者:lfiwhr -- 发布时间:2017/1/22 15:42:22 -- 仿造示例写了一个小程序。麻烦帮忙看看指导一下。谢谢。 //适用模式:"不走完一根K线以后" /* 目的:小时线卖后15分钟线买回。每5秒钟读取K线现价(CLOSE),小时线5周期均线下穿10周期均线且跌幅大于1%卖出一半持仓,同上且跌幅大于2%卖出所有持仓。监控若15分钟线5周期均线上穿10周期均线且当前价在10周期线以上1%则市价开仓用1/4资金买入。 */ //中间变量 MA5_60M:=STKINDI(\'\',\'MA(5)\', 0,5);//当前品种小时线5周期均线 MA10_60M:=STKINDI(\'\',\'MA(5)\', 0,5);//当前品种小时线10周期均线 MA5_15M:=STKINDI(\'\',\'MA(5)\', 0,3);//当前品种15分钟线5周期均线 MA10_15M:=STKINDI(\'\',\'MA(10)\', 0,3);// 当前品种15分钟线10周期均线 //交易条件 //15分钟线5周期均线上穿10周期均线且当前价在10周期线以上1% 开多条件1:=CROSS(MA5_15M, MA10_15M) and CLOSE/ MA10_15M >1.01; //小时线10周期均线下穿5周期均线且跌幅大于0.01 平多条件1:=CROSS(MA10_60M, MA5_60M) and DYNAINFO(14)<-0.01; //小时线10周期均线下穿5周期均线且跌幅大于0.02 平多条件2:=CROSS(MA10_60M, MA5_60M) and DYNAINFO(14)<-0.02;
//交易系统 If 开多条件1 then Begin BUY(1,ASSET/4,MARKET); //用1/4资金市价开仓买入 PLAYSOUND(1,’C:\\ Weisoft
Stock(x64)\\OrderOK.WAV’); EXIT;//开仓后退出监控 end
If 平多条件1 and HOLDING >0
then Begin SELL(1,HOLDING/2,MARKET); //卖出一半持仓 PLAYSOUND(1,’C:\\ Weisoft
Stock(x64)\\OrderOK.WAV’); end else if平多条件2 and HOLDING >0
begin SELL(1,HOLDING,MARKET); //卖出全部持仓 PLAYSOUND(1,’C:\\ Weisoft
Stock(x64)\\OrderOK.WAV’); end 当前持仓:HOLDING,COLORGRAY,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY; |
|
-- 作者:gxx978 -- 发布时间:2017/1/22 15:55:10 -- 函数DYNAINFO(14)只有当前值,无历史值,不建议用在图表程序化中。 |
|
-- 作者:lfiwhr -- 发布时间:2017/1/22 15:58:51 --
|
|
-- 作者:gxx978 -- 发布时间:2017/1/22 16:16:53 -- 1,问题1:BUY(1,ASSET/4,MARKET); //用1/4资金市价开仓买入 不能直接用资金代替手数,可以转化为手数BUY(1,asset/4/c,market); 2,问题2:如果你使用DYNAINFO(14),历史上涨跌幅的值都是错的,那你图表上的虚拟持仓holding都是错的,导致你的平仓条件也是有问题的。图表上用涨跌幅需要你公式计算出,不要直接使用DYNAINFO(14)。 [此贴子已经被作者于2017-1-22 16:19:46编辑过]
|
|
-- 作者:lfiwhr -- 发布时间:2017/1/22 16:21:13 -- 对,我想应该用比较短的周期走完的一根K线收盘价来进行监控。避免使用DYNAINFO(14)。 |
|
-- 作者:yukizzc -- 发布时间:2017/1/23 9:04:10 -- 不建议使用,图表是根据历史信号计算得来的 你如果历史信号出现闪烁会影响后续的信号产生 涨跌幅您可以用简单的日线收盘价去做判断,可以直接用stkindi引用日线闪(c-ref(c,1))/ref(c,1) |