以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=173420) |
-- 作者:yesdgn -- 发布时间:2019/12/6 11:26:22 -- 开多开空平多平空信号互相限制问题 公式会出开多、开空、平多、平空的信号,我想开多后只能出现平多信号, 不能出现开空和平空的信号 ,就算开空和平空是符合条件的 也不允许。 不知道要怎么弄?还请大佬们分享下经验。谢谢。 |
-- 作者:FireScript -- 发布时间:2019/12/6 11:31:02 -- 如果是图表程序化的 ,那就不需要额外处理。因为图表上不能锁仓。如果当前有多头持仓 是绝对无法出现空头开仓操作的。 |
-- 作者:yesdgn -- 发布时间:2019/12/6 11:39:48 -- 不是交易,是公式符合条件出信号而已 ,所以不涉及到金字塔的交易功能。 |
-- 作者:FireScript -- 发布时间:2019/12/6 13:57:24 -- 你这样说我有点不太明白了。 你意思是图表模型最开始第一次满足的开仓条件是 空头 那后面就只能做空头,如果第一次满足条件的是多头 后面就只能做多? [此贴子已经被作者于2019/12/6 13:59:41编辑过]
|
-- 作者:yesdgn -- 发布时间:2019/12/6 15:33:03 -- 就是公式信号只是用来显示给人看的 , 并不在金字塔里交易。 所以公式输出有4个信号 :开多信号、开空信号 、平多信号、平空信号。 这4个信号符合条件就会显示出来,但是我希望他按交易的顺序来, 比如我前面没有出来开多的信号,后面就不能显示平多的信号。 但是我并没有在金字塔里持仓交易 ,只是个公式出信号而已。 我不知道怎么让公式出的信号也像交易一样 没有开空 就不会显示平空的信号出来。 就像你没有空的持仓自然就不能平空。 |
-- 作者:yesdgn -- 发布时间:2019/12/6 15:36:24 -- 就是让公式出的信号 模拟像在交易一样 按规则来出 我在出平空信号时 我要加上判断 判断前面K线最后一次是不是开了空信号, 而且不是开的多信号 。 |
-- 作者:yesdgn -- 发布时间:2019/12/6 15:46:41 -- VARIABLE:kd[]=0; VARIABLE:kk[]=0; VARIABLE:pk[]=0; VARIABLE:pd[]=0; BARSLAST(pd); pd:=c; 这样子使用会报pd不存在。 我是想全局变量保存前面K线的所有开多 开空 平多 平空信号 ,然后本周期判断这些信号离的近还是离的远 来知道最后一次是开多还是开空还是平多还是平空 这样我就能判断我现在能不能出平空信号。
|
-- 作者:FireScript -- 发布时间:2019/12/6 15:59:08 -- 那就不用额外处理的啦。策略加载在图表上的信号本身就是符合这种限制的。 开空之后如果不平空,多方向的信号是绝对不会出现的。反之亦然。 比如下面这个代码的效果: input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6),n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置 RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,P1,1); D:=SMA(K,P2,1); J:3*K-2*D; DIFF : =EMA(CLOSE,S) - EMA(CLOSE,P); DEA := EMA(DIFF,M); MACD1 := 2*(DIFF-DEA), COLORSTICK; macdjc:cross(diff,dea);//多头买入条件 macdsc:cross(dea,diff);//多头卖出条件 kdjjc:cross(k,d);//kdj金叉 空头卖出条件 kdjsc:cross(d,k);//空头买入条件 sell(holding>0 and macdsc,holding,market); buy(holding=0 and macdjc,1,market); sellshort(holding<0 and kdjjc,holding,market); buyshort(holding=0 and kdjsc,1,market); 它这个信号是绝对不会串的。 |
-- 作者:yesdgn -- 发布时间:2019/12/6 16:20:28 -- 我不是图表交易,只是在5分钟周期的副图上加载了我的公式,这个公式输出4个变量值而已,并不会使用sell buy这样的交易函数进行模拟交易, 我只是想让4个输出更像交易而已, 不能符合条件就显示出来 要按交易顺序才允许他显示。 我怀疑全局变量是在每个周期计算公式时都会重置 所以我无法在变量赋值之前得到这个变量的值(得到前面K线运行时保存的值,本周期还没有赋值肯定得不到。) |
-- 作者:wenarm -- 发布时间:2019/12/6 16:28:56 -- 抱歉,这个没办法。 [此贴子已经被作者于2019/12/6 16:36:26编辑过]
|