以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]请老师帮忙写一下这个模型代码 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74718) |
-- 作者:cxysword -- 发布时间:2015/1/20 13:17:18 -- [求助]请老师帮忙写一下这个模型代码 本人才开始学习用金字塔编程,之前有一点编程基础,看了教学视频后,抄写了下面的MACD交易程序,但是有几个问题想请老师帮忙完善一下程序,以便学习,谢谢! 1、CROSS(DIFF,DEA)和cross(DEA,DIFF)这里相交之后,但是信号经常不稳定,如何让相交30秒之后才确定下单呢; 2、止损和止盈 A、进多时 ①、以进场的价格如何设置50个价位的止损 ②、当布林带的MID>MA移动平均线的MA3时,以进场的价格设置100个价位止盈; ③、当布林带的MID<MA移动平均线的MA3时,以进场的价格设置50个价位止盈; B、进空时 ①、以进场的价格如何设置50个价位的止损 ②、当布林带的MID<MA移动平均线的MA3时,以进场的价格设置100个价位止盈; ③、当布林带的MID>MA移动平均线的MA3时,以进场的价格设置50个价位止盈; 谢谢老师帮忙!!! ===============以下是抄写的程序================ input:p(26,20,88,6),s(12,5,15,1),m(9,2,15,1); DIFF: EMA(CLOSE,S) - EMA(CLOSE,P); DEA: EMA(DIFF,M); MACD: 2*(DIFF-DEA), COLORSTICK; //建立多头进场条件 Long:=CROSS(DIFF,DEA); if Long then begin sellshort(holding<0,holding,THISCLOSE); buy(Long,1,THISCLOSE); end //建立空头进场条件 Short:=cross(DEA,DIFF); if Short then begin sell(holding>0,holding,THISCLOSE); BUYSHORT(short,1,THISCLOSE); end 持仓:holding,linethick0; 资金:asset,noaxis; 可用现金:cash(0),linethick0;
|
-- 作者:jinzhe -- 发布时间:2015/1/20 13:37:19 -- 处理中,请稍等 |
-- 作者:cxysword -- 发布时间:2015/1/20 13:54:08 -- 谢谢老师! |
-- 作者:pyd -- 发布时间:2015/1/20 14:28:36 -- 1,交易-》图表程序化交易里 用走完一根k模式 2,引用多少周期布林mid?例子里引用5分钟周期的mid,如果是其他周期可以根据stkindi函数说明自己改下 input:p(26,20,88,6),s(12,5,15,1),m(9,2,15,1); if Long then
end
持仓:holding,linethick0; |
-- 作者:cxysword -- 发布时间:2015/1/20 14:50:21 -- 老师,为什么用THISCLOSE时,进场的价格不是及时价格,总是进了很不好的价位 |
-- 作者:pyd -- 发布时间:2015/1/20 14:53:14 -- thisclose是对手价,很好的价位成交你可以用限价 |
-- 作者:cxysword -- 发布时间:2015/1/20 15:27:44 -- thisclose总是用K线的收盘价成交,有用及时价格成交的吗?market就是用下个K线的开盘价成交的 ![]() |
-- 作者:jinzhe -- 发布时间:2015/1/20 15:39:25 -- 不是的,这两个价格解释,一般有两个部分 组成:实际交易和模拟测评 thisclose实际交易是对手加下单,模拟测评按照当前k线收盘价计算 market实际交易是市价下单,模拟测评按照次周期开盘价计算 你的理解只是后半部分,而且理解的也不对。这仅仅指的是下单价位,而不是什么立即下单,走完k线下单 |
-- 作者:cxysword -- 发布时间:2015/1/21 10:38:05 -- 老师,我申请了一个模拟交易盘测试了一下,用thisclose或market时,为什么还是必须等下个周期出来的时候才进入或者平仓呢? 在下面这个止损和止盈的时候,图形里出现信号了,但是模拟交易盘里一直也是等到下个周期出来的时候才下单成交,这是为什么呢? //50个价位止损
if enterprice-l>=50*mindiff then sell(holding>0,holding,market); |
-- 作者:jinzhe -- 发布时间:2015/1/21 10:43:58 -- 因为你用的是走完k线的下单模式,这个和代码没有任何关系,也不要再考虑代码要怎么写 |