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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师看末尾协助

   

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


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

主题:请老师看末尾协助

帅哥哟,离线,有人找我吗?
大牛来了
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
请老师看末尾协助  发帖心情 Post By:2018/11/20 11:08:57    Post IP:60.181.16.155[只看该作者]

 

//定义参数

INPUT:N1(5,1,100,10),N2(10,1,120,10);

//绘制四条均线

MA1:MA(C,N1);

MA2:MA(C,N2);

//准备下单条件,以MA2上穿MA1作为平空开多条件,以MA1下破MA2作为平多开空条件。

COND1:=CROSS(MA2,MA1);

COND2:=CROSS(MA1,MA2);

 

//下单 平空,开多

IF COND1       THEN BEGEIN   

SELLSHORT(1,1,MARKET);

BUY(1,1,MARKET);

 

END

//平多,开空

IF COND2        THEN BEGEIN   

SELL(1,1,MARKET);

BUYSHORT(1,1,MARKET);

END

 

请老师协助:我们想在这个基础上增加几个条件:记录上一次亏损,在下一次开仓,加倍手数。可以添加在上文中

举例:比如上次开1手多仓或者空单,5560价格,平仓后,这个单子是亏损的,那么在下次开仓,加倍开仓。也就是2手。再次亏损,再加加倍2*2=4手,以此类推,请老师代为编写 (盈利的单子,不考虑叠加

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/11/20 13:58:26    Post IP:180.169.30.6[只看该作者]

 这个亏损是指平仓亏损吗?另外你这个还有些逻辑不完整,比如本次是亏损的下次是盈利的,那么第三次交易的手数如何确定?


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
大牛来了
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
  发帖心情 Post By:2018/11/20 19:28:23    Post IP:60.181.16.155[只看该作者]

表达的意思是:亏损一次,下次开仓双倍下单,如果默认为1手,那么亏损一次后,下次开仓是2手

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/11/21 9:30:30    Post IP:180.169.30.6[只看该作者]

VARIABLE:ss:=1;

//定义参数
INPUT:N1(5,1,100,10),N2(10,1,120,10);
//绘制四条均线
MA1:MA(C,N1);
MA2:MA(C,N2);
//准备下单条件,以MA2上穿MA1作为平空开多条件,以MA1下破MA2作为平多开空条件。
COND1:=CROSS(MA2,MA1);
COND2:=CROSS(MA1,MA2);
//下单 平空,开多
IF COND1 THEN
BEGIN  
SELLSHORT(1,1,MARKET);
if NUMPROFIT(1)<0 then ss:=ss*2;
BUY(1,ss,MARKET);
END

//平多,开空

IF COND2 THEN
BEGIN  
SELL(1,1,MARKET);
if NUMPROFIT(1)<0 then ss:=ss*2;
BUYSHORT(1,ss,MARKET);
END

用全局变量进行下控制就可以了。平仓代码后面直接判断最近一次的盈亏,然后给ss重新赋值。


命数如织,当如磐石。
 回到顶部