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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [原创]请求老师,编写问题

   

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


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

主题:[原创]请求老师,编写问题

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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
[原创]请求老师,编写问题  发帖心情 Post By:2018/10/25 16:32:28    Post IP:60.181.24.190[显示全部帖子]

亲爱的老师:

 

我们在编写代码的时候碰到几个问题,我们做日内交易,请老师代为编写

 

希望达到的效果如下:

 

Q1: 检测-->账户盈利-->达到-->10万港币-->立刻停止交易。

 

Q2:检测-->账户亏损-->达到-->10万港币-->立刻停止交易。

 

Q3:当账户持续盈利时,随时资金的增长,每增加10万港币,下次开仓增加1手。(举例:初始资金为30万账户-->初始开仓为1手-- >当账户资金 大于 40万 -->在原来的基础上,加1,也就是2手。同时也要考虑,出场平仓也要全部平仓)

 


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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
  发帖心情 Post By:2018/10/25 17:09:31    Post IP:60.181.24.190[显示全部帖子]

图表交易


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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
  发帖心情 Post By:2018/10/25 17:12:13    Post IP:60.181.24.190[显示全部帖子]

以下是引用wenarm在2018/10/25 16:59:34的发言:

图表还是后台。你Q3和前两个矛盾。

Q3,是检测账户资金,资金达到,在下次允许开仓时,叠加。 Q1和Q2 优先 于 Q3,Q3作为后置判断,比如前一日盈利10万,那么当日停止交易。

从第2日开始,账户资金大于40万,开始2手开仓

[此贴子已经被作者于2018/10/25 17:12:47编辑过]

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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
  发帖心情 Post By:2018/10/29 15:25:34    Post IP:60.181.20.55[显示全部帖子]

以下是引用wenarm在2018/10/26 1:24:06的发言:
初始利润:VALUEWHEN(time=CLOSETIME(0),NETPROFIT);
日净利润:NETPROFIT-初始利润;
IF ABS(NETPROFIT-初始利润)>100000 THEN EXIT;
手数:1+if(NETPROFIT<=0,0,INTPART((ASSET-300000)/100000));
if 开仓条件 then BEGIN
 buy(1,手数,MARKET);
  
end
if 平仓条件 then BEGIN
 sell(1,HOLDING,MARKET);
end
 
 
你好,老师,经过测试,好像不奏效呀。 测试的时候,开多仓变成了2手,开空仓,永远只有1手。求帮助解决啊


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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
没有效果呀,是不是哪里出错了呢  发帖心情 Post By:2018/10/29 15:32:27    Post IP:60.181.20.55[显示全部帖子]

没有效果呀,是不是哪里出错了呢

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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
[原创]求回复啊  发帖心情 Post By:2018/10/29 19:36:42    Post IP:60.181.20.55[显示全部帖子]

可能是我描述的不够清楚

 

我的意思在,每日交易,盈利或者亏损到一定的金额,就停止交易。我们可以假设每日账户盈利2万或者1万,亏损到2万或者1万,即刻停止交易。

 

上面所说的资金没增长10万,再下一个交易日,在原来的基础上1手,再加1手仓位,以此类推。比如,30万资金增长到40万,-->1+1手。  40万增长到50万,-->1+1+1手,开仓是3手。封顶5手。

包括wen老师说的,不是多头加仓,而且在下一个交易日,无论多头、空头,都是按照资金的增长,加大开仓手续,5手封顶啊

 

或者,不一定按照每增加10万,加仓1手。也可以按照账户资金的百分之多少开仓,请老师帮忙编写一下,确实遇到难题了


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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
[原创]2.手数还有个逻辑要处理下。如果我从30万涨到50万,但是又降到了40万,那么下单手数是?因为按照你的逻辑涨10w加一手,这个对比是和初始的30万比,还是和之前的50万对比呢?  发帖心情 Post By:2018/10/30 12:25:29    Post IP:60.181.20.133[显示全部帖子]

1.我简单注释下前面的代码,你先看下你是否有根据自己的情况修改这些数值来适应。
初始利润:VALUEWHEN(time=CLOSETIME(0),NETPROFIT);
日净利润:NETPROFIT-初始利润;
IF ABS(NETPROFIT-初始利润)>100000 THEN EXIT;//这里是按照盈亏10w就停止交易处理的
手数:1+if(NETPROFIT<=0,0,INTPART((ASSET-300000)/100000));//这里是按照初始资金是30W处理的
if 开仓条件 then BEGIN
buy(1,手数,MARKET);
end
if 平仓条件 then BEGIN
sell(1,HOLDING,MARKET);
end

2.手数还有个逻辑要处理下。如果我从30万涨到50万,但是又降到了40万,那么下单手数是?因为按照你的逻辑涨10w加一手,这个对比是和初始的30万比,还是和之前的50万对比呢?


========================================================================================

 

老师,你好!

 

问题2,这样描述:从30万涨到50万,理论上是,默认1手,涨到 大于 40万 小于50万,等下次开仓加1手(1+1=2手)。 涨到 大于50万 小于60万,在之前的基础上,下次开仓加1手(也就是30万=1手、大于40万= +1手,大于50万 =+1. ) 也就是大于50万小于60万时,下次开仓是3手。 或大于60万小于70万,大于70万小于80万。,……以此类推,最高不超过5手 同理,举例:资金回撤到某一个值内,例如 资金涨到大于50万 ,一段时间内又回撤到50万内但是大于40万,按照上述 大于40万小于50万的条件,开仓,也就是理论上是 1+1、下次开仓是2手。

 

不知道,这样描述,老师是否看的清楚明白?


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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
[原创]//代码的整体逻辑上没什么问题。  发帖心情 Post By:2018/10/30 14:04:30    Post IP:60.181.20.133[显示全部帖子]

//代码的整体逻辑上没什么问题。

//可能我理解上有偏差,你对着下面代码的注释和处理的逻辑,自己尝试完善和对比,或者能明确指出差别。

//注:下面代码是对仓位进行峰值限制。最大5手
//记录每天盘后时的最后利润

初始利润:VALUEWHEN(time=CLOSETIME(0),NETPROFIT);

//今天实际产生的净利润,(现在-上一交易日的利润)
日净利润:NETPROFIT-初始利润;

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,10);
开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件

 

//当天利润绝对值超出1000元,停止交易。
IF ABS(NETPROFIT-初始利润)>1000 THEN EXIT;

//初始手数为1手,资产每增加1000块,增加初始资金手数。最大到5手。
手数:1+if(INTPART((ASSET-300000)/1000)<4,INTPART((ASSET-300000)/1000),4);
if 开多平空条件 then BEGIN
 SELLSHORT(HOLDING<0,HOLDING,MARKET);
 buy(HOLDING=0,手数,MARKET);
end

if 开空平多条件 then BEGIN
 sell(HOLDING>0,HOLDING,MARKET);
 buyshort(HOLDING=0,手数,MARKET);
 
end

===============================

 

//当天利润绝对值超出1000元,停止交易。
IF ABS(NETPROFIT-初始利润)>1000 THEN EXIT;

 

老师,您好:以上您编写的部分,这里有一个误区。在账户有持仓的情况,达到当天利润1000元,是马上平仓,停止,还是需要等下一个信号出来,才选择平仓停止交易。

 

我的疑问是,在这里我们是不是需要加一个条件,达到当天的盈利目标,平仓及停止交易。 这样做是否合理,请指正


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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
[原创]老师,你好  发帖心情 Post By:2018/10/30 14:05:50    Post IP:60.181.20.133[显示全部帖子]

代码是以您的为主还是图片点击可在新窗口打开查看
wenarm 为准?

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


加好友 发短信
等级:新手上路 帖子:41 积分:0 威望:0 精华:0 注册:2018/9/24 12:01:06
[原创]感谢老师  发帖心情 Post By:2018/10/30 14:49:44    Post IP:60.181.20.133[显示全部帖子]

感谢老师指点。

 

那么,上面的盈利之后,停止交易。

 

如果,我们需要风控措施的话,我们是不是可以这样编写: IF ABS(NETPROFIT- 初始利润)<-10000 THEN EXIT; // 这个语句是不是可以理解为,亏损或者 小于 负1万,就停止交易呢?


 回到顶部
总数 24 1 2 3 下一页