以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请把这 图表交易 改成 多开红箭头空开绿箭头的技术指标  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=81779)

--  作者:我渡苍生
--  发布时间:2015/7/28 21:20:31
--  [求助]请把这 图表交易 改成 多开红箭头空开绿箭头的技术指标
[求助]请把这 图表交易 改成 多开红箭头空开绿箭头的技术指标
 
//参数定义:
  
平底:=ABS(LOW-REF(LOW,1))/LOW<0.001 AND ABS(REF(LOW,1)-REF(LOW,2))/REF(LOW,1)<=0.001;
 
平顶:=ABS(HIGH-REF(HIGH,1))/HIGH<0.001;
 
手数:=1;
//交易条件:
COND1:= 平顶 ;//开空平多条件
COND2:=  平底  ;//开多平空条件
//交易系统
IF COND1 AND TIME <145500 THEN //如果COND1在14点55分前成立,那么
BEGIN
 IF HOLDING=0 THEN BUYSHORT(1,1,MARKET);//如果没有持单,那么以市价空头买入一手
 IF HOLDING>0 AND ENTERBARS>20 THEN//如果持有多单,上次开仓到当前的周期数大于N,那么  
   BEGIN 
   SELL(1,0,MARKET);//平多单,以市价卖出所有持仓量
   BUYSHORT(1,手数,MARKET);//开空单,以市价空头买入1手
  END
END

IF COND2 AND TIME <145500 THEN//如果COND2在14点55分前成立,那么
BEGIN
 IF HOLDING=0 THEN BUY(1,1,MARKET);//如果没有持单,那么以市价买入一手
 IF HOLDING<0  AND ENTERBARS>20  THEN//如果持有空单,上次开仓到当前的周期数大于N,那么
   BEGIN 
   SELLSHORT(1,0,MARKET);//平空单,以市价空头卖出所有持仓量
   BUY(1,手数,MARKET);//开多单,以市价买入1手
  END
END
IF TIME>145500 THEN//如果时间在14点55分以后,那么
BEGIN
 SELL(HOLDING>0,0,MARKET);//如果持有多单,以市价卖出所有持仓量 
 SELLSHORT(HOLDING<0,0,MARKET);//如果持有空单,以市价空头卖出所有持仓量                                                                                    
END
 


--  作者:我渡苍生
--  发布时间:2015/7/28 21:57:56
--  
只要 开多时出红箭头 开空时出绿箭头 的技术指标 不要平仓信号、
[此贴子已经被作者于2015/7/28 21:59:06编辑过]

--  作者:Q_Q
--  发布时间:2015/7/28 22:19:44
--  
法一,技术指标,没有enterbars(持仓期)条件的:



平底:=ABS(LOW-REF(LOW,1))/LOW<0.001 AND ABS(REF(LOW,1)-REF(LOW,2))/REF(LOW,1)<=0.001;

drawicon(平底,L*0.95,4);
 
平顶:=ABS(HIGH-REF(HIGH,1))HIGH<0.001;

drawicon(平顶,L*0.95,5);


--  作者:我渡苍生
--  发布时间:2015/7/29 0:39:48
--  
Q_Q      你改的完全错误   不要乱改
--  作者:我渡苍生
--  发布时间:2015/7/29 0:47:42
--  
请官方  技术改好
[此贴子已经被作者于2015/7/29 0:48:46编辑过]

--  作者:我渡苍生
--  发布时间:2015/7/29 0:53:16
--  
要求 改后 技术指标  红绿 箭头 同 图表交易系统  不是金字塔的人员 别乱改



[此贴子已经被作者于2015/7/29 0:55:00编辑过]

--  作者:我渡苍生
--  发布时间:2015/7/29 7:25:04
--  
要求 改后 技术指标 ?红绿 箭头 同 图表交易系统 ? 的,信号图标一样 不是金字塔的人员 别乱改
--  作者:jinzhe
--  发布时间:2015/7/29 8:59:49
--  

cc:=stkindi(\'\',\'Formula1881.cond1\',0,datatype);
ccc:=stkindi(\'\',\'Formula1881.cond2\',0,datatype);
hh:=stkindi(\'\',\'Formula1881.hh\',0,datatype);
ee:=stkindi(\'\',\'Formula1881.ee\',0,datatype);
DRAWICON(cc and time<145500 and (hh=0 or (hh>0 and ee>20)),close,5);
DRAWICON(ccc and time<145500 and (hh=0 or (hh<0 and ee>20)),close,4);

效果图:


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

--  作者:jinzhe
--  发布时间:2015/7/29 9:00:28
--  

要求对原有的公式进行修改,

修改如下:

1. 公式名命名为:Formula1881

 

2.代码修改为:

平底:=ABS(LOW-REF(LOW,1))/LOW<0.001 AND ABS(REF(LOW,1)-REF(LOW,2))/REF(LOW,1)<=0.001;
 
平顶:=ABS(HIGH-REF(HIGH,1))/HIGH<0.001;
 
手数:=1;
//交易条件:
COND1:= 平顶 ;//开空平多条件
COND2:=  平底  ;//开多平空条件
//交易系统
hh:holding;
ee:enterbars;


IF COND1 AND TIME <145500 THEN //如果COND1在14点55分前成立,那么
BEGIN
 IF HOLDING=0 THEN BUYSHORT(1,1,MARKET);//如果没有持单,那么以市价空头买入一手
 IF HOLDING>0 AND ENTERBARS>20 THEN//如果持有多单,上次开仓到当前的周期数大于N,那么 
   BEGIN
   SELL(1,0,MARKET);//平多单,以市价卖出所有持仓量
   BUYSHORT(1,手数,MARKET);//开空单,以市价空头买入1手
  END
END


IF COND2 AND TIME <145500 THEN//如果COND2在14点55分前成立,那么
BEGIN
 IF HOLDING=0 THEN BUY(1,1,MARKET);//如果没有持单,那么以市价买入一手
 IF HOLDING<0  AND ENTERBARS>20  THEN//如果持有空单,上次开仓到当前的周期数大于N,那么
   BEGIN
   SELLSHORT(1,0,MARKET);//平空单,以市价空头卖出所有持仓量
   BUY(1,手数,MARKET);//开多单,以市价买入1手
  END
END
IF TIME>145500 THEN//如果时间在14点55分以后,那么
BEGIN
 SELL(HOLDING>0,0,MARKET);//如果持有多单,以市价卖出所有持仓量
 SELLSHORT(HOLDING<0,0,MARKET);//如果持有空单,以市价空头卖出所有持仓量                                                                                   
END


--  作者:我渡苍生
--  发布时间:2015/7/29 12:01:29
--  
太复杂   改 简单些