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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 多策略后台的移动止盈止损

   

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


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

主题:多策略后台的移动止盈止损

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


加好友 发短信
等级:黑侠 帖子:791 积分:856 威望:0 精华:0 注册:2011/11/16 23:34:34
多策略后台的移动止盈止损  发帖心情 Post By:2012/11/29 12:53:11    Post IP:221.179.30.111[只看该作者]

采取后台多策略操作,其中单独将止盈止损策略单独列出,但似乎始终无反应,不知问题在哪,程序如下:

variable:maxprofit=0;

debugout('最新开仓价tavgenterprice=%2.f',tavgenterprice);


//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;

if tholding2 > 0 and tenterbars > 0 then
begin
 win:=(c-tavgenterprice)/tavgenterprice*100; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

if tholding2 < 0 and tenterbars > 0 then
begin
 win:=(tavgenterprice-c)/tavgenterprice*100; //记录最大盈利
 if win > maxprofit then
  maxprofit:=win;
 
 win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

//出现浮动亏损比如2%平仓
多止损:tSELL(win<=-1*止损,0);
空止损:tSELLshort(win<=-1*止损,0);
 
//出现最高盈利后,回落到盈利的40%平仓出场
多止赢:tSELL(maxprofit>止盈 and win2 >= 60 and topenprofit>0,0);
空止赢:tSELLshort(maxprofit>止盈 and win2 >= 60 and topenprofit>0,0);

止盈和止损两参数在参数表内设置。

 

debugout('最新开仓价tavgenterprice=%2.f',tavgenterprice);出来的结果始终是四啥五入的整数,想了解程序在计算中是按这个四啥五入的结果清果还是按真实的持仓成本

 


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


加好友 发短信
等级:黑侠 帖子:791 积分:856 威望:0 精华:0 注册:2011/11/16 23:34:34
  发帖心情 Post By:2012/11/29 12:54:54    Post IP:221.179.30.111[只看该作者]

另外多策略情况下,电脑轮询的顺序是不是按本地预警窗口内的策略顺序来进行的,如果这样需要调整顺序时好象没有提供控件,建议可以提供这个,

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/11/29 13:01:12    Post IP:58.246.57.26[只看该作者]

后台用extgbdataset和extgbdataget这两个来取/赋值全局变量


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

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

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

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


加好友 发短信
等级:黑侠 帖子:791 积分:856 威望:0 精华:0 注册:2011/11/16 23:34:34
  发帖心情 Post By:2012/11/29 13:54:38    Post IP:221.179.30.111[只看该作者]

请详细一点

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


加好友 发短信
等级:黑侠 帖子:791 积分:856 威望:0 精华:0 注册:2011/11/16 23:34:34
  发帖心情 Post By:2012/11/29 13:55:37    Post IP:221.179.30.111[只看该作者]

即不能用variable?

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/11/29 14:00:14    Post IP:58.246.57.26[只看该作者]

这个图表用的,我给你的两个函数你好好参考一下函数解释,用法和 variable差不多,都是满足 条件后赋值


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

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

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

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


加好友 发短信
等级:黑侠 帖子:791 积分:856 威望:0 精华:0 注册:2011/11/16 23:34:34
嵌入式VBS、JS 脚本帮助文档  发帖心情 Post By:2012/11/29 15:10:32    Post IP:221.179.30.111[只看该作者]

就这个例子应该怎么改呢,这是一个独立的程序


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


加好友 发短信
等级:黑侠 帖子:791 积分:856 威望:0 精华:0 注册:2011/11/16 23:34:34
  发帖心情 Post By:2012/11/29 15:46:40    Post IP:221.179.30.111[只看该作者]

请帮忙看一下这样改是否正确

 

if islastbar then extgbdataset('maxprofit',0);

debugout('最新开仓价tavgenterprice=%2.f',tavgenterprice);


//判断当前持仓状态下的最大盈利
win:=0;
win2:=0;

if tholding2 > 0 and tenterbars >=0 then
begin
 win:=(c-tavgenterprice)/tavgenterprice*100; //记录最大盈利
 if win > extgbdata('maxprofit') then
  extgbdataset('maxprofit',win);
 
 win2:=( extgbdata('maxprofit')-win)/ extgbdata('maxprofit')*100; //最大盈利后的回调幅度
end

if tholding2 < 0 and tenterbars >=0 then
begin
 win:=(tavgenterprice-c)/tavgenterprice*100; //记录最大盈利
 if win > extgbdata('maxprofit') then
  extgbdataset('maxprofit',win);
 
 win2:=(extgbdata('maxprofit')-win)/ extgbdata('maxprofit')*100; //最大盈利后的回调幅度
end

//出现浮动亏损比如2%平仓
多止损:tSELL(win<=-1*止损,0);
空止损:tSELLshort(win<=-1*止损,0);
 
//出现最高盈利后,回落到盈利的40%平仓出场
多止赢:tSELL( extgbdata('maxprofit')>止盈 and win2 >= 60 and topenprofit>0,0);
空止赢:tSELLshort( extgbdata('maxprofit')>止盈 and win2 >= 60 and topenprofit>0,0);


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2012/11/29 16:28:19    Post IP:58.246.57.26[只看该作者]

EXTGBDATASET( 'a',0);给A赋值0

 EXTGBDATA('a' );取A的值

 

比如移动止损时记录最高价

 

if 开仓条件  then begin

 

tbuy();

extgbdataset('a',h);

 

end//最高价赋值给a

 

if h>extgbdataget('a') then extgbdataset('a',h);//当H大于A时,把H赋值给A



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

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

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

 回到顶部