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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 再求帮忙写公式,谢谢啦!

   

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


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

主题:再求帮忙写公式,谢谢啦!

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


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2015/1/28 9:50:06 [显示全部帖子]

之前少写了止盈的,另外你图上输出开仓平条件就知道该不该开仓。

VARIABLE:n=1,ying=0,kui=0;
dea:stkindi('','macd.dea',0,1);
diff:stkindi('','macd.diff',0,1);
jc:cross(dea,diff);//金叉
sc:cross(diff,dea);//死叉

if date<>ref(date,1) then begin //第二天重置为0重新计算
 n:=1;
 ying=0;
 kui:=0;
 end

if jc and n<=5 then begin //限制最多5手
buy(holding=0,n,market);
end
//移动止盈
if h-enterprice>=30*mindiff then sell(holding>0,holding,market);

if sc then begin
sell(holding>0,holding,market);
if numprofit(1)>0 then begin//盈利n赋值为1手
n:=1;
ying:=numprofit(1)+ying;//盈利的和
end

if numprofit(1)<0 then begin //亏损n+1手
 n:=n+1;
 kui:=numprofit(1)+kui;//亏损总数
 end
 end
if ying>kui then n:=1;

if n>=5 then n:=5;

 


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


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2015/1/28 10:56:27 [显示全部帖子]

条件我刚才是按你上个帖子里的diff和dea写的,没看到你现在改成macd了,这个我一会改下。

1楼你只说买进卖出我就只写了开多平多,你没有说清什么条件开多或开空,请把条件描述清楚

[此贴子已经被作者于2015/1/28 10:59:18编辑过]

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


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2015/1/29 9:14:53 [显示全部帖子]

没有专门的工作人员编写求助区的策略,一般是其他区的工作人员抽空编写,如果您急需编写,可以请其他收费人员编写。

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


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2015/1/29 13:39:04 [显示全部帖子]

VARIABLE:n=1,盈亏=0;
macd:stkindi('','macd.macd1',0,1);
diff:stkindi('','macd.diff',0,1);
jc:cross(diff,macd);//金叉
sc:cross(macd,diff);//死叉
if date<>ref(date,1) then begin //第二天重置为0重新计算
 n:=1;
 盈亏:=0;
 end
 if n>=5 then n:=5;
 
 if jc and n<=5  THEN begin
sellshort(holding<0,holding,market);
buy(holding=0,n,market);
盈亏:=NUMPROFIT(1)+盈亏;
if 盈亏<0 and n<5 then n:=n+1;
if 盈亏>0 then n:=1;
end

if  sc and n<=5 then BEGIN
sell(holding>0,holding,market);
buyshort(holding=0,n,market);
盈亏:=NUMPROFIT(1)+盈亏;
if 盈亏<0 and n<5 then n:=n+1;
if 盈亏>0 then n:=1;
end

if hhv(h,enterbars+1)-l>=40*mindiff then
 sell(holding>0,holding,market);

if h-llv(l,enterbars+1)>=40*mindiff then 
sellshort(holding<0,holding,market);


 回到顶部