以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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分钟都是同一个数值,所以一旦条件比较难以实现,那么你的条件永远满足不了