以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4)
---- 我是新手,请老师编写一程序 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=60372)
|
-- 作者:rkm7
-- 发布时间:2013/12/26 21:15:12
-- 我是新手,请老师编写一程序
我是新手,请老师编写一程序,当股指指数周线macd为正,sar为红点,ma5金叉ma10时,在股指连续上5分钟线ma5
金叉ma10时开多1手股指
|
-- 作者:rkm7
-- 发布时间:2013/12/27 7:06:41
--
还有个问题问老师,我昨天第一次编了个程序做白银夜盘的多单和多平,开多当时是根据信号手动的,然后就睡觉了,今天早上看到平多信号了,但程序没操作,程序如下M1:EMA(CLOSE,N1); M2:EMA(CLOSE,N2);
平空开多条件 :=CROSS(M1,M2); 平多开空条件 :=CROSS(M2,M1);
BUY(平空开多条件 and HOLDING=0,1,market);//开多操作 SELL(平多开空条件 and HOLDING>0,HOLDING,market); //平多操作
ASSET,NOAXIS,COLORRED; 请老师指教,谢谢
|
-- 作者:jinzhe
-- 发布时间:2013/12/27 9:23:29
--
没有操作有很多种原因,最简单的查询方法,就是看 查看 交易状态
此主题相关图片如下:1.png

|
-- 作者:rkm7
-- 发布时间:2013/12/27 10:00:34
--
请老师编写一程序,当股指指数周线macd为正,sar为红点,ma5金叉ma10时,在股指连续上5分钟线ma5 金叉ma10时开多1手股指,多谢
|
-- 作者:jinzhe
-- 发布时间:2013/12/27 10:07:49
--
金字塔系统自带的SAR是没有红点的,都是白点
此主题相关图片如下:2.png

|
-- 作者:rkm7
-- 发布时间:2013/12/27 10:21:21
--
那就把周线sar条件改成在指数下方
macd为正,ma5金叉ma10时,在股指连续上5分钟线ma5 金叉ma10时开多1手股指,多谢
|
-- 作者:jinzhe
-- 发布时间:2013/12/27 10:31:45
--
首先,系统自带的SAR公式要改成这样
sar1:SAR(P,STEP,MAXP),CIRCLEDOT
此主题相关图片如下:1.png

然后补充一下IF13的日线数据,方法是: 工具 数据补充;
然后交易策略这样写,使用在股指连续5分钟周期上,注意这个公式只写了开仓,平仓要自行添加代码,不然就会只有一个开仓信号:
l_if13:=callstock(\'if13\',vtlow,7); macd_if13:=stkindi(\'if13\',\'macd.macd1\',0,7); sar_if13:=stkindi(\'if13\',\'sar.sar1\',0,7); ma5_if13:=stkindi(\'if13\',\'ma.ma1\',0,7); ma10_if13:=stkindi(\'if13\',\'ma.ma2\',0,7); cond_macd:=macd_if13>0; cond_sar:=sar_if13<l_if13; cond_ma:=cross(ma5_if13,ma10_if13); ma5:ma(c,5); ma10:ma(c,10);
if cond_macd and cond_sar and cond_ma and cross(ma5,ma10) then buy(holding=0,1,market);
|
-- 作者:rkm7
-- 发布时间:2013/12/27 10:36:03
--
多谢老师,我好好学习学习
|
-- 作者:rkm7
-- 发布时间:2013/12/27 11:54:47
--
老师,我只加了最后一句死叉平仓,怎么啥都不显示,我初学两天,麻烦您指教l_if13:=callstock(\'if13\',vtlow,7); macd_if13:=stkindi(\'if13\',\'macd.macd1\',0,7); sar_if13:=stkindi(\'if13\',\'sar.sar1\',0,7); ma5_if13:=stkindi(\'if13\',\'ma.ma1\',0,7); ma10_if13:=stkindi(\'if13\',\'ma.ma2\',0,7); cond_macd:=macd_if13>0; cond_sar:=sar_if13<l_if13; cond_ma:=cross(ma5_if13,ma10_if13); ma5:ma(c,5); ma10:ma(c,10); if cond_macd and cond_sar and cond_ma and cross(ma5,ma10) then buy(holding=0,1,market); sell(cross(ma10,ma5) and HOLDING>0,HOLDING,market); 另外我早晨让程序执行平仓时,执行market成交,只有部分成交,我又撤单再发命令,如何确保自动交易时全部成交
|
-- 作者:jinzhe
-- 发布时间:2013/12/27 13:25:23
--
因为你用的是周线的数据
周线数据在一个礼拜的5分钟都是同一个数值,所以一旦条件比较难以实现,那么你的条件永远满足不了
|