以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  以开空单那天的最高价+2做为止损价。  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=70547)

--  作者:songsongl
--  发布时间:2014/9/29 9:56:46
--  以开空单那天的最高价+2做为止损价。
以开空单那天的最高价+2做为止损价,然后平空开多。
以开多单那天的最低价-2做为止损价,然后平多开空。
请教老师,这怎么编写。

--  作者:jinzhe
--  发布时间:2014/9/29 10:18:28
--  

dd1:=valuewhen(开多条件,date);

nn:=barslast(开多条件);

nn1:=barslast(date=dd1);

hh1:=hhv(h,todaybar);

hh2:=hhv(h,nn1+1);

if nn>=nn1 then hh:=hh1;

if nn<nn1 then hh:=hh2;

hh就是开仓那天的最高价

 

最低价求法一样


--  作者:songsongl
--  发布时间:2014/9/29 10:47:08
--  
老师,我的意思是开空单这天的最高价,不一定是5天的最高。
--  作者:jinzhe
--  发布时间:2014/9/29 10:51:52
--  
我写的应该没有能够看成5天的地方吧?
[此贴子已经被作者于2014/9/29 10:52:00编辑过]

--  作者:songsongl
--  发布时间:2014/9/29 10:52:28
--  
例如,5日均线下穿10日均线,开空单,那么就以这天的最高价+2点作为这张空单的止损价,一旦触发止损就平空开多。
--  作者:jinzhe
--  发布时间:2014/9/29 11:03:27
--  
你把上穿替代掉上面的开多条件
--  作者:songsongl
--  发布时间:2014/9/29 13:32:01
--  
不好意思,老师我还不懂,不知道我这样编写,能实现我的想法吗
 INPUT:A1(5,1,100,2),A2(10,1,100,2);
MA16:=MA(CLOSE,A1),COLORBLUE;
MA18:=MA(CLOSE,A2),COLORRED;

BB:=CROSS(MA5,MA10);
SS:=CROSS(MA10,MA5);
SELLSHORT(BB,HOLDING<0,HOLDING,MARKET);
BUY(BB,HOLDING=0,1,MARKET);       //平空开多


dd1:=valuewhen(ss,date);
nn:=barslast(ss);
nn1:=barslast(date=dd1);
hh1:=llv(h,todaybar);
hh2:=llv(h,nn1-1);
if nn>=nn1 then hh:=hh1;
if nn<nn1 then hh:=hh2;       //hh为最低价

sell(cross(hh,c),holding>0,holding,market);
buyshort(cross(hh,c),holding=0,1,market;  止损,平多开空

SELL(SS,HOLDING>0,HOLDING,MARKET);
BUYSHORT(SS,HOLDING=0,1,MARKET);  //平多开空

dd1:=valuewhen(ss,date);
nn:=barslast(ss);
nn1:=barslast(date=dd1);
hh1:=hhv(h,todaybar);
hh2:=hhv(h,nn1+1);
if nn>=nn1 then hh:=hh1;
if nn<nn1 then hh:=hh2;    //hh为最高价

sellshort(cross(c,hh),holding<0,holding,market);
buy(cross(c,hh),holding=0,1,market);   //止损,平空开多

--  作者:jinzhe
--  发布时间:2014/9/29 13:36:18
--  

求出最高价之后,止损语句这样写

if h>hh+2 then begin

sellshort(1,0,market);

buy(holding=0,1,market);

end


--  作者:songsongl
--  发布时间:2014/9/29 14:07:46
--  
SELLSHORT(BB,HOLDING<0,HOLDING,MARKET);
老师,我这一句是不是有错误,
编译提示:market交易系统函数的第三个参数必须为交易控制符。
我不知道怎么改

--  作者:jinzhe
--  发布时间:2014/9/29 14:10:05
--  

条件是BB和holding<0

那么要这样写

 

SELLSHORT(BB and HOLDING<0,HOLDING,MARKET);