以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  最大浮动赢利  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=48069)

--  作者:lufuding
--  发布时间:2013/1/25 14:26:25
--  最大浮动赢利
求开仓后最大浮动赢利函数和开仓后最大浮动亏损函数
--  作者:jinzhe
--  发布时间:2013/1/25 14:37:02
--  
全局变量记录,参考系统自带公式的浮动止损范例
--  作者:leonxu
--  发布时间:2013/1/29 13:36:07
--  

参考系统自带公式的浮动止损范例在哪?没看到,开仓后最大浮动赢利函数也没找到,我是要在后台交易用的


--  作者:leonxu
--  发布时间:2013/1/29 13:54:27
--  

完整的包括止损,移动止赢交易范例 发帖心情 Post By:2010-7-17 17:54:45 [只看该作者]

{

代码工作在图表自动交易模式下

当出现开仓后,开仓价格相比,最大损失超过2%止损

当出现盈利后,与最大盈利价格相比,回落到60%幅度后止赢离场

}

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,30);

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

//开仓
IF CROSS(MA1,MA2) THEN
BEGIN
BUY(1,1);
maxprofit:=0;
END

//平仓
SELL(CROSS(MA2,MA1),0);

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

if holding > 0 and enterbars > 0 then
begin
win:=(c-enterprice)/enterprice*100; //记录最大盈利
if win > maxprofit then
maxprofit:=win;

win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

if holding < 0 and enterbars > 0 then
begin
win:=(enterprice-c)/enterprice*100; //记录最大盈利
if win > maxprofit then
maxprofit:=win;

win2:=(maxprofit-win)/maxprofit*100; //最大盈利后的回调幅度
end

//出现浮动亏损比如2%平仓
止损:SELL(win < -2,0);

//出现最高盈利后,回落到盈利的60%平仓出场
止赢:SELL(win2 >= 60 and openprofit > 0, 0);


--  作者:leonxu
--  发布时间:2013/1/29 13:56:12
--  
就是在这个基础上改的,问题是,之前请教这说后台交易的,不能和varible,只能用extgbdataset和extgbdata,结果就有了在全局变量管理器里看到那个maxprofit,是忽大忽小的
--  作者:leonxu
--  发布时间:2013/1/29 13:58:13
--  
正因为忽大忽少,所以无法移动止盈的,止损没问题。因为就是一个固定值