以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请帮忙编写下模型  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=160043)

--  作者:shawaverage
--  发布时间:2017/12/1 11:07:59
--  请帮忙编写下模型
我的想法是日内交易,开仓条件是每天开盘后只要连续三阳线,做多,跌破三阳最低点,止损。然后每天只交易一次。反之如果连续三阴,做空,突破三阴高点止损。
--  作者:FireScript
--  发布时间:2017/12/1 13:12:10
--  

需要确认下:

1.是开盘之后的前三个K连续阳线,还说开盘之后任意时刻出现连续的三阳线开多?三阳先出现做多,三阴线先出现做空,对吧?

2.后台模型还是图表模型。


--  作者:shawaverage
--  发布时间:2017/12/1 13:17:20
--  
恩,开盘后任意出现的时候即可,然后是图表模型
--  作者:FireScript
--  发布时间:2017/12/1 13:38:01
--  

VARIABLE:mark:=0,highP:=0,lowP:=0;//定义一个全局变量mark,开仓后标记下,用来限制交易次数,

3Lastco:count(c>o,3)=3;//截止当前K,连续阳线
3Lastoc:count(o>c,3)=3;//截止当前K,连续阴线

if 3Lastco and mark=0 then //开多
begin
buy(holding=0,1,market);
mark:=1;
lowP:=llv(l,3);//记录下三阳时的最低价
end
if c<lowP and holding>0 then sell(holding>0,holding,market);//止损

if 3Lastoc and mark:=0 then //开空
begin
buyshort(holding=0,1,market);
mark:=1;
highP:=hhv(h,3);
end
if c>highP and holding<0 then sellshort(holding<0,holding,market);

if time>=closetime(0) then mark:=0 ;//收盘重置mark


--  作者:shawaverage
--  发布时间:2017/12/1 13:41:45
--  
显示语法错误,LLV 函数在逐K线模式下不能直接在IF控制语句之内引用。请参阅帮助公式部分的解决方案。
--  作者:FireScript
--  发布时间:2017/12/1 13:47:24
--  

 

VARIABLE:mark:=0,highP:=0,lowP:=0;//定义一个全局变量mark,开仓后标记下,用来限制交易次数,

3Lastco:count(c>o,3)=3;//截止当前K,连续阳线
3Lastoc:count(o>c,3)=3;//截止当前K,连续阴线
temp1:=llv(l,3);
if 3Lastco and mark=0 then //开多
begin
buy(holding=0,1,market);
mark:=1;
lowP:=temp1;//记录下三阳时的最低价
end
if c<lowP and holding>0 then sell(holding>0,holding,market);//止损

temp2:=hhv(h,3);
if 3Lastoc and mark:=0 then //开空
begin
buyshort(holding=0,1,market);
mark:=1;
highP:=temp2;
end
if c>highP and holding<0 then sellshort(holding<0,holding,market);

if time>=closetime(0) then mark:=0 ;//收盘重置mark

 

 

微调下就行了。


--  作者:shawaverage
--  发布时间:2017/12/1 14:07:57
--  
我要的是日内的。这个好像不是日内
--  作者:FireScript
--  发布时间:2017/12/1 14:45:39
--  
以下是引用shawaverage在2017/12/1 14:07:57的发言:
我要的是日内的。这个好像不是日内

周期是你交易的时候自己选的啊。 这个代码日内可用的。


--  作者:飞鸟
--  发布时间:2017/12/1 20:12:30
--  

请帮忙编一下模型,多谢

ma1:ma(c,3);
ma2:ma(c,8);
ma3:ma(c,20);
TR1 : MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR : MA(TR1,30);

做多:

开仓加仓:3日均线金叉20均线开多,3日均线金叉8日均线且3日均线大于20日均线且价格在大于上次开仓价加1/2ATR时加一手,3日均线金叉8日均线且3日均线大于20日均线且价格大于上次开仓价加1/2ATR时再加一手,,,连加十手

平仓:价格破N日低点时平仓(N=60)

都是等信号发出的那根K线走完,下一根开盘开平仓

做空:

与上面相反