以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  还得继续请教老师  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=25396)

--  作者:devil
--  发布时间:2012/9/12 1:38:02
--  还得继续请教老师

老师 我想写一个模型

 

从当日第一根K线算起上涨50点做多 下跌50点做空

 

当持有多单时,自持有多单之后的高点回落50点平多翻空

当持有空单时,自持有空单之后的低点上涨50点平空翻多

 

1455分平掉所有持仓

 

 我自己写的 但是执行起来不对 一个信号都没有  希望老师能按照我上面的意思帮我写一个

 

variable:H1=0;  //定义变量高点
 variable:L1=0;  //定义变量低点

 
If DATE<>ref(DATE,1) then BEGIN

       H1:=High;
       L1:=LOW;  
  end  
     
If DATE=ref(DATE,1) then BEGIN

      H1:=Max(H1,HIGH);
      L1:=Min(L1,LOW);
     end

If TIME<145500 then BEGIN

        
      t1:=(H1-LOW)>=50;
     
      Sell(t1,1,H1-50);  // 先写的多头平仓  平仓价为比高点低50的价
      L1:=LOW; //重新记录低点
   end

 

 

 If holding=0  then  BEGIN  //多单开仓
     t3:=(HIGH-L1)>=50;
             
      Buy(t3,1,L1+50);
            H1:=High;
    end

 


--  作者:董小球
--  发布时间:2012/9/12 8:52:08
--  
楼主请稍候,我们会安排工作人员为您解答!
--  作者:jinzhe
--  发布时间:2012/9/12 8:59:18
--  

variable:hh=0,ll=0;
o1:=valuewhen(date<>ref(date,1),o);

if c>o1+50then begin
buy(holding=0,1,market);
hh:=h;
end
if h>hh then hh:=h;

if hh-c>50 then begin
sell(holding>0,0,market);
buyshort(holding=0,1,market);
end

 

if c<o1-50 then begin
buyshort(holding=0,1,market);
ll:=l;
end

if l<ll then ll:=l;

if c-ll>50 then BEGIN
 sellshort(holding<0,0,market);
 buy(holding=0,1,market);
 end


--  作者:devil
--  发布时间:2012/9/12 23:32:01
--  

谢谢老师 但是我加载图表上是这种效果  乱七八糟
图片点击可在新窗口打开查看此主题相关图片如下:未命名来来来来.jpg
图片点击可在新窗口打开查看


--  作者:jinzhe
--  发布时间:2012/9/13 8:57:21
--  
按照你思路写的,如果觉得不行的话,还是自己再完善下思路吧