欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 老师:请进,帮忙编写一个交易模型

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6155人关注过本帖树形打印复制链接

主题:老师:请进,帮忙编写一个交易模型

美女呀,离线,留言给我吧!
pyd
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2014/7/29 17:20:58    Post IP:58.246.57.26[只看该作者]

稍微改了下,试试下边的

MA60:=MA(C,60);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:=SMA(K,3,1);//K的移动平均值
J:=3*K-2*D;

if C>MA60*1.005 and holding=0 then buy(1,30%,market);
if C>MA60 and J<=0 and holding>0 and enterbars>10 then buy(1,30%,market);

if C>MA60*1.005 and holding<0 then sellshort(1,holding,market);
if C<MA60*0.995 and holding>0 then sell(1,holding,market);
if C<MA60*0.995 and holding=0 then buyshort(1,holding,market);
if C<MA60 and J>=100 and holding<0 and enterbars>10 then buyshort(1,30%,market);


 回到顶部
美女呀,离线,留言给我吧!
黄小聪
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2014/7/29 13:05:18
  发帖心情 Post By:2014/7/29 17:44:20    Post IP:183.33.79.250[只看该作者]

老师:现在还有两个问题:
1:有些信号没有比如2014年6月26日看线图的话本来有一个平空信号和一个开多的信号,但成交明细上面没有.
2:我的思路是无论开多还是开空,同方向只开三次仓.而不是一直开

 回到顶部
美女呀,离线,留言给我吧!
黄小聪
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2014/7/29 13:05:18
  发帖心情 Post By:2014/7/29 17:47:01    Post IP:183.33.79.250[只看该作者]

说错啦.是2014年7月2日

 回到顶部
美女呀,离线,留言给我吧!
黄小聪
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2014/7/29 13:05:18
  发帖心情 Post By:2014/7/29 17:47:47    Post IP:183.33.79.250[只看该作者]

我要的是出信号就下单,不进行信号复核

 回到顶部
美女呀,离线,留言给我吧!
pyd
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2014/7/30 8:49:56    Post IP:58.246.57.26[只看该作者]

用在什么周期上?是限制一天内只开3次?

 回到顶部
美女呀,离线,留言给我吧!
黄小聪
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2014/7/29 13:05:18
  发帖心情 Post By:2014/7/30 9:57:16    Post IP:183.33.76.160[只看该作者]

用在3小时上,是限制同一方向只开3次仓

 回到顶部
美女呀,离线,留言给我吧!
pyd
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2014/7/30 10:19:54    Post IP:58.246.57.26[只看该作者]

VARIABLE:n:=0,m:=0;
MA60:=MA(C,60);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:=SMA(K,3,1);//K的移动平均值
J:=3*K-2*D;

if C>MA60*1.005 and holding=0 and n<=3 then
begin
buy(1,30%,market);
n:=n+1;
end
if C>MA60 and J<=0 and holding>0 and enterbars>10 and n<=3 then
begin
buy(1,30%,market);
n:=n+1;
end

if C>MA60*1.005 and holding<0 then sellshort(1,holding,market);
if C<MA60*0.995 and holding>0 then sell(1,holding,market);

if C<MA60*0.995 and holding=0 and m<=3 then
begin
buyshort(1,holding,market);
m:=m+1;
end
if C<MA60 and J>=100 and holding<0 and enterbars>10 and m<=3 then
begin
buyshort(1,30%,market);]
m:=m+1;
end

 


 回到顶部
美女呀,离线,留言给我吧!
黄小聪
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2014/7/29 13:05:18
  发帖心情 Post By:2014/7/30 12:50:54    Post IP:183.33.79.250[只看该作者]

老师:还不是我想要的效果,21楼那个很接近啦,你能不能把21楼的模型逐句解释一下,我看一下哪里不对,麻烦你啦老师

 回到顶部
美女呀,离线,留言给我吧!
pyd
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2014/7/30 13:45:35    Post IP:58.246.57.26[只看该作者]

MA60:=MA(C,60);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值。
K:=SMA(RSV,3,1);//RSV的移动平均值
D:=SMA(K,3,1);//K的移动平均值
J:=3*K-2*D;

if C>MA60*1.005 and holding=0 then buy(1,30%,market); //满足条件C>MA60*1.005 并且持仓为0时用30%的资金开多
if C>MA60 and J<=0 and holding>0 and enterbars>10 then buy(1,30%,market);//满足C>MA60 and J<=0 持仓大于0,并且离上次开仓10根k以上用30%的资金开仓,满足条件会一直加仓

if C>MA60*1.005 and holding<0 then sellshort(1,holding,market);//满足C>MA60*1.005 并且持仓小于0把全部空仓平掉
if C<MA60*0.995 and holding>0 then sell(1,holding,market);//满足C<MA60*0.995 并且持仓大于0 把多头持仓全部平掉
if C<MA60*0.995 and holding=0 then buyshort(1,30%,market);//满足C<MA60*0.995 并且持仓为0时30%的资金开空
if C<MA60 and J>=100 and holding<0 and enterbars>10 then buyshort(1,30%,market);//满足C<MA60 and J>=100 并且持仓小于0,并且离上次开仓10根k以上用30%的资金开空,满足条件会一直加仓

 

 


 回到顶部
美女呀,离线,留言给我吧!
黄小聪
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:0 威望:0 精华:0 注册:2014/7/29 13:05:18
  发帖心情 Post By:2014/7/30 13:52:10    Post IP:183.33.76.160[只看该作者]

if C>MA60 and J<=0 and holding>0 and enterbars>10 then buy(1,30%,market);//满足C>MA60 and J<=0 持仓大于0,并且离上次开仓10根k以上用30%的资金开仓,满足条件会一直加仓
老师能不能把满足条件一直加仓限定加两次仓,以后再满足条件的就不开仓了

 回到顶部
总数 45 上一页 1 2 3 4 5 下一页