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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 请教关于平仓策略的写法

   

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


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

主题:请教关于平仓策略的写法

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
请教关于平仓策略的写法  发帖心情 Post By:2013/10/28 10:00:43 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:2013-10-27_175544.png
图片点击可在新窗口打开查看

研究了几天新图表交易后,自己写了个简单的系统,测试发现有问题,就像图中这样,开仓点是对的,但是所有平仓点都出现在开仓点同一根K上

可能是对全局变量没写好

 

平仓策略如下:

做多后,跌破开仓均价10点止损。
做多后,如果开仓均价盈利大于50点但小于100点时,跌破盈利段的一半止盈。
做多后,如果开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈。

 

这种平仓策略应该怎样写呢


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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/10/28 10:05:23 [只看该作者]

平仓策略第一条写错了,是做多后


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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/10/28 10:16:14 [只看该作者]

请您耐心等待



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/11/4 16:31:29 [只看该作者]

//用固定时间间隔

 

variable:maxprofit=0;//有仓位时最大获利

 

buycond:=ref(count(c>o,2)=2,1);

 

if buycond  and holding=0  then
 begin
 buy(1,1,limitr,o+2*mindiff);
 maxprofit:=0;
 end
 
//止损平仓 
if holding>0 and low<enterprice-10 then sell(1,1,market);

win:=0;
win2:=0;

if holding > 0 and enterbars > 0 then
begin
 win:=(high-enterprice); //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=maxprofit-win; //最大盈利后的回调幅度
end

 

//如果开仓均价盈利大于50点但小于100点时,跌破盈利段的一半止盈
if maxprofit>50 and maxprofit<100 and holding>0 then
  止赢1:SELL(win2<0.5*maxprofit,1,market);

 

//如果开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈
if maxprofit>=100 and holding>0 then
  止赢2:SELL(win2<100+0.5*(maxprofit-100),1,market);

[此贴子已经被作者于2013/11/8 15:44:53编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/8 13:23:34 [只看该作者]

以下是引用fly在2013/11/4 16:31:29的发言:

 

明白了,谢谢指导。


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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/15 10:59:21 [只看该作者]

以下是引用fly在2013/11/4 16:31:29的发言:

“多头开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈”的代码。

如果将多头开仓价换为日线的开盘价,变成“由日线开盘价上行大于100点时,以上行100点的位置为低点,100+N点为高点,这段距离回落一半止盈”,应该怎么写呢,改了几次好像都有问题

 

variable:maxprofit=0;//有仓位时最大获利

 

if 条件 and holding=0 then
begin
buy();
maxprofit:=0;
end

 

win:=0;
win2:=0;

 

if holding > 0 and enterbars > 0 then
begin
win:=(high-enterprice); //记录最大盈利
if win > maxprofit then
maxprofit:=win;
win2:=maxprofit-win; //最大盈利后的回调幅度
end

 

//多头止盈

if maxprofit>=100 and holding>0 then
SELL(win2<100+0.5*(maxprofit-100),1,market);


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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/11/20 10:58:25 [只看该作者]

你的需求可以实现

你是在什么周期上运行的,日线周期吗?

 



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/22 10:04:40 [只看该作者]

以下是引用fly在2013/11/20 10:58:25的发言:

你的需求可以实现

你是在什么周期上运行的,日线周期吗?

 

5分钟周期上,这个还有区别吗


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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2013/11/25 9:43:34 [只看该作者]

 

o1:=VALUEWHEN(todaybar=1 ,open);//当日开盘价

 

win:=0;
win2:=0;

if holding > 0 and enterbars > 0 then
begin
 win:=(high-o1); //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=maxprofit-win; //最大盈利后的回调幅度
end

 



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/28 12:10:43 [只看该作者]

以下是引用fly在2013/11/25 9:43:34的发言:

 

 

如果变成“价格大于均线MA(C,20)+100点时,以MA(C,20)+100点的位置为低点,100+N点为高点,这段距离回落一半止盈”,应该怎么写呢


 回到顶部
总数 12 1 2 下一页