Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:再次求助编写策略,这次说的详细点,明白点

1楼
300qh 发表于:2011/9/7 16:40:34

图片点击可在新窗口打开查看

 

请把以下编码输入技术指标副图显示效果。

INPUT:N(18),P1(8),P2(8);
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
买:if(K<20,1,0),linethick2,linestick,COLORMAGENTA;
卖:if(K>80,-1,0),linethick2,linestick,COLORCYAN;

 

 

我以KDJ指标为例说一下我的策略,请帮忙编写一下,我实在编写不出了。

1.当K向上突破80,卖平开

2.当卖平开,仓后画一条止损线:5日最高价,以此价固定不变直到下一个条件信号出现

3.当收盘价突破止损线,反手平仓开多,在此之后出现的K突破80,都视为无效,而是用收盘价跌破10日均线作为条件平多仓。

 

1.当K向下跌破20,买平开

2.当买平开,仓后画一条止损线:5日最低价,以此价固定不变直到下一个条件信号出现

3.当收盘价跌破止损线,反手平仓开空,在此之后出现的K跌破20,都视为无效,而是用收盘价突破10日均线作为条件平空仓。

 

麻烦哪位大侠编写一下

2楼
godndog 发表于:2011/9/7 21:54:29

{金字塔群,QQ股指提供策略
1当K向上突破80,卖平开
2当卖平开,仓后画一条止损线:5日最高价,以此价固定不变直到下一个条件信号出现
3.当收盘价突破止损线,反手平仓开多,在此之后出现的K突破80,都视为无效,而是用收盘价跌破10日均线作为条件平多仓。

1当K向下跌破20,买平开
2.当买平开,仓后画一条止损线:5日最低价,以此价固定不变直到下一个条件信号出现
3.当收盘价跌破止损线,反手平仓开空,在此之后出现的K跌破20,都视为无效,而是用收盘价突破10日均线作为条件平空仓。
}

INPUT:N(18),P1(8),P2(8);
RUNMODE:0; //使用逐周期运行模式

variable:Trend=0; //持仓标记,-1空单,1多单
variable:SAR0=0; //反手持仓标记,0无反手持仓。1为反手持仓
variable:value=0; //传递止损点的中间变量

 

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
myH:=HHV(H,5);
myL:=LLV(L,5);


if barpos <= N+P1+P2+1 then
exit;//不到N+P1+P2+1的统计周期,直接退出等待下个周期再做判断


//初始化数据,使持仓标记和止损点有确定的值
if barpos = N+P1+P2+2 then
   begin
      if K-REF(K,1) < 0 then
         begin
         //看跌
         Trend:= -1; //空单标志
         value:=myH; //止损点取5日高点
         end
      else
         begin
         //看涨
         Trend:= 1; //多单标志
         value:=myL; //止损点取5日低点
      end
End

mystop:=value; // 设定止损点

//原始开仓信号
B:=cross(20,K);// 买平开
S:=cross(K,80);// 卖平开

//止损反手信号
B_stop:=cross(C,mystop);  //空头止损并反手
S_stop:=cross(mystop,C);  //多头止损并反手

//反手信号的平仓
stopB:=cross(C,ma(C,10));//反手的空单平仓
stopS:=cross(ma(C,10),C);//反手的多单平仓

 

//进入策略逻辑的条件转换

if Trend > 0 and SAR0=0  then  // (多单标记 且 无反手持仓)
   begin
     if S_stop then  // 多头止损并反手,SAR0标记为1
     begin
     Trend:=-1; 
     SELL(Trend=-1);
     BUYSHORT(Trend=-1);
     value:=myH;
     SAR0:=1;
     end      
 
     if S then   //  原始空平开信号,SAR0标记为0
     begin
     Trend:=-1;
     SELL(Trend=-1);
     BUYSHORT(Trend=-1);
     value:=myH;
     SAR0:=0;
     end
end

if Trend < 0 and SAR0=0 then  // (空单标记 且 无反手持仓)
   begin
     if B_stop then    // 空头止损并反手,SAR0标记为1
     begin
     Trend:=-1;
     SELL(Trend=-1);
     BUYSHORT(Trend=-1); 
     value:=myH;
     SAR0:=1;
     end   

  
     if B then    //  原始买平开信号,SAR0标记为0
     begin
     Trend:=1;
     SELLSHORT(Trend=1);
     BUY(Trend=1);
     value:=myL;
     sar0:=0;
     end
 end


if sar0=1 then   //持有反手仓
   begin
   if Trend>0 and stopS then  //反手仓多单平仓,SAR0归0
   begin
     Trend:=-1;
     SELL(Trend=-1);
     BUYSHORT(Trend=-1);
     value:=myH;
     SAR0:=0;
   end
    
   if  Trend<0 and stopB then  //反手空单平仓,SAR0归0
   begin
   Trend:=1;
   SELLSHORT(Trend=1);
   BUY(Trend=1);
   value:=myL;
   sar0:=0;
   end
  
 end

//显示止损点,可删  
IF Trend>0 then
mystop,circledot, colorred;
else
mystop,circledot, colorgreen;


 

3楼
godndog 发表于:2011/9/7 22:11:37

把策略分成几种情况,就比较清晰了

 

1、持有空单无反手持仓
2、持有反手空单仓

3、持有多单无反手
4、持有反手多单
就4大类

 

1、IF持有空单无反手持仓
    这个条件下分两类:a、IF正常平仓;b、IF止损平仓

2、IF持有反手空单仓
    这个条件下只有一个选择:IF反手平仓条件。其它正常的开平仓信号忽略

 

以此类推

4楼
300qh 发表于:2011/9/7 22:53:39
感谢网友:天天 (楼上)
5楼
米的无 发表于:2011/9/9 23:51:45
不错,很清晰的思路
6楼
王锋 发表于:2011/9/10 9:47:12
牛人再现图片点击可在新窗口打开查看
7楼
richie78 发表于:2011/9/28 8:44:35
问题是这个策略测试过了吗,成功率咋样啊?
8楼
lxhttlj 发表于:2011/10/16 13:10:36

你好我有观点,请求哪位和我联系一下,帮我编个交易策略

 

9楼
300qh 发表于:2011/10/21 16:06:24
以上程序仅供编程学习,不建议实盘交易。
10楼
蔡宛宏 发表于:2011/12/19 14:40:18
思路真的不错
共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.