欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 交易策略编写

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4890人关注过本帖树形打印复制链接

主题:交易策略编写

帅哥哟,离线,有人找我吗?
FireScript
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/14 15:50:31    Post IP:58.246.57.26[只看该作者]

 1.默认下单就是一个下单语句 在一个K上出的信号 只会下一次单。你说重复下单,这个我觉得应该不会的。所以我想知道你是说的是一个K的信号重复下单,还是说是图表上不同K出现了多个开多或者开空信号呢?

2.
“当持有多单时,出现的做空信号无效,当持有空单时持,出现的多单信号无效,”这个不太理解了。能否再详细说下 。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
飞翔人生
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:23 积分:0 威望:0 精华:0 注册:2021/3/16 10:35:43
开仓信号问题  发帖心情 Post By:2021/5/17 9:24:31    Post IP:123.149.43.88[只看该作者]


此主题相关图片如下:f2t2$1c0474%_6206)2.png
按此在新窗口浏览图片

您好老师,当 开仓信号问题选择固定时间间隔时,会出现不断的开仓,导致仓位加重和多空单都会持有,有办法在代码里加入限制条件吗,
例如:1、信号出现时限制信号只下一笔订单,再次出现信号无效,
2、当持有多单时,出现的做空信号无效,当持有空单时持,出现的多单信号无效,
用限制条件解决信号问题可以吗

看图表,很明显我选择的是固定间隔,而不是走完K,  
固定间隔出现信号就会执行开仓,这样导致多开仓多持仓,所以看看有没有解决办法,

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/17 9:39:54    Post IP:58.246.57.26[只看该作者]

 1.“信号出现时限制信号只下一笔订单,再次出现信号无效” 这个有机制限制的。图表程序化上 是相同的下单语句,在一个K上下过一次单,是不允许再次触发下单的。也就是说尽管信号闪烁又出现了,下单还是只会下单一次的。

所以你这里是不是信号闪烁了呢。 比如原本开多信号出现过,就会开多,可是后来信号闪烁了变成了开空,那么还会开空。因为这些语句肯定不会是一个语句,所以是肯定还有下单的。从实际效果上看 就相当于多下了单,并且是多空都有。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
飞翔人生
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:23 积分:0 威望:0 精华:0 注册:2021/3/16 10:35:43
固定间隔多开仓问题  发帖心情 Post By:2021/5/18 14:48:38    Post IP:123.149.43.88[只看该作者]

您好老师,我们不谈走完K的逻辑。
现在只聊固定间隔信号问题。
现在我的问题是,一个品总做多后由于信号变了再开空仓多空同时持有,有时候一个会连续开仓几笔多单,这个时候在选择固定间隔时,有办法解决这个问题吗?

比如加上限制条件,当持有多单时,出现的做空信号无效,当持有空单时持,出现的多单信号无效,当持有多单时再次开仓多单无效,当持有空单时再次开仓空单无效,限制条件来规避限号反复问题,只认第一次信号,直到该单平仓后在重新判断,

老师看看能不能用限制条件来控制,

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 15:09:51    Post IP:58.246.57.26[只看该作者]

 “比如加上限制条件,当持有多单时,出现的做空信号无效,当持有空单时持,出现的多单信号无效,当持有多单时再次开仓多单无效,当持有空单时再次开仓空单无效,限制条件来规避限号反复问题,只认第一次信号,直到该单平仓后在重新判断,

这个在代码里无法处理,因为你这样子是涉及到和实际账户持仓交互了,图表程序化是不行的。 图表自己的逻辑就是不关心实际账户持仓情况,只关心当前最新行情计算出信号结果,K线结束之前 发生过怎样的信号,图表模型也无法纪录的。你可以考虑下用持仓同步功能,这个功能就是矫正持仓的。简单说 比如之前出了开多信号,现在消失了,那么持仓同步检测到了,就会给你平仓了,或者其他持仓不一致情况都会给你处理掉,但是它是按照当前图表最新信号作为依据的。当前信号是多仓,那么账户持仓也会被矫正为多仓。

另外前面你好像说了多开同方向仓位的问题。下单语句这里改下:

INPUT:N(30,1,500,1),ss(1,1,100,1);//N是开仓条件里的点数设置,SS是下单手数
INPUT:M1(100,1,500,1),M2(10,1,500,1);//开仓后盈利M1个点回测M2个点止盈  
INPUT:M3(100,1,500,1);

dcd1:=c>o+N*MINDIFF;//最新价/收盘价 大于开盘价N个点 多头开仓
dcd2:=all(c>o,3);//连续三个周期阳线 多头开仓
开多:buy((dcd1 or dcd2) and holding=0,ss,marketr);



kcd1:=c<o-N*MINDIFF;
kcd2:=all(c<o,3);
开空:buyshort((kcd1 or kcd2) and holding=0,ss,marketr);


这样就算信号闪烁,也不会给你多开同方向的单子。

持仓同步:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

这个功能你务必仔细看下功能说明比较好。








命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/18 15:15:25    Post IP:58.246.57.26[只看该作者]

 或者啊,你用后台程序化,那个直接操作实际账户了,也没有什么信号闪烁了。下了单,直接就检测到。因为没有虚拟持仓概念,所以我信号就算变化了,我也知道我前面开过仓了,因为当前账户有持仓了,我能判断的处理。

不好的地方就是后台程序化 没那么直观,不会在图表上现实信号什么的,好处就是没有信号变化造成的那么多混乱了。  总之你先按照前面的做法,用持仓不同和我改过的代码测试下吧。   如果可以 那就不用改用后台程序化了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
飞翔人生
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:23 积分:0 威望:0 精华:0 注册:2021/3/16 10:35:43
  发帖心情 Post By:2021/5/19 11:15:48    Post IP:58.246.57.26[只看该作者]

你好老师,设置成我截图的方式再试试对吗,
另外你把修改好的整体代码全部发我吧,我不懂代码  以下是原来的代码

INPUT:N(30,1,500,1),ss(1,1,100,1);//N是开仓条件里的点数设置,SS是下单手数
INPUT:M1(100,1,500,1),M2(10,1,500,1);//开仓后盈利M1个点回测M2个点止盈  
INPUT:M3(100,1,500,1);

dcd1:=c>o+N*MINDIFF;//最新价/收盘价 大于开盘价N个点 多头开仓
dcd2:=all(c>o,3);//连续三个周期阳线 多头开仓
开多:buy((dcd1 or dcd2) and holding=0,ss,marketr);



kcd1:=c<o-N*MINDIFF;
kcd2:=all(c<o,3);
开空:buyshort((kcd1 or kcd2) and holding=0,ss,marketr);

//开仓后遇到反向开仓条件则止损平仓
if holding>0 and (kcd1 or kcd2) then 多平仓1:sell(holding>0,holding,market);
if holding<0 and (dcd1 or dcd2) then 空平仓1:sellshort(holding>0,holding,market);


//移动止损部分 最高盈利M1点 回撤M2点时候平仓
DTZY:=(HHV(H,ENTERBARS+1)-AVGENTERPRICE)>=M1*MINDIFF and  (HHV(H,ENTERBARS+1)-CLOSE)>=M2*MINDIFF ;//开多以来最大盈利大于M1个点;当前从最高价点位置回落M2个点
KTZY:=(AVGENTERPRICE-LLV(L,ENTERBARS+1))>=M1*MINDIFF and  (CLOSE-LLV(L,ENTERBARS+1))>=M2*MINDIFF;

多平仓2:SELL(DTZY,holding,MARKETr);
空平仓2:SELLSHORT(KTZY,holding,MARKETr);


//亏损平仓。亏损M3点直接平仓

if OPENPROFIT/MULTIPLIER<=-100*MINDIFF then
begin
多平仓3:SELL(1,holding,MARKETr);
空平仓3:SELLSHORT(1,holding,MARKETr);   
end
持仓:holding;


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/5/19 11:21:36    Post IP:58.246.57.26[只看该作者]

 我直接改在37楼源代码里了。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
飞翔人生
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:23 积分:0 威望:0 精华:0 注册:2021/3/16 10:35:43
策略  发帖心情 Post By:2021/5/20 10:21:46    Post IP:123.149.42.150[只看该作者]

你好老师留个qq好吗我加您,具体到实盘上了,有问题我好请教您怎么设置

 回到顶部
总数 39 上一页 1 2 3 4