以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  这个做多单向交易的改为双向交易的怎么编  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=160418)

--  作者:ztputin
--  发布时间:2017/12/14 13:15:55
--  这个做多单向交易的改为双向交易的怎么编

//当出现开仓后,开仓价格相比,最大损失超过2%止损
//当出现盈利后,与最大盈利价格相比,回落到80%幅度后止赢离场

MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,13);
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF CROSS(MA1,MA2) THEN
BEGIN
BUY(1,30);
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);
//出现最高盈利后,回落到盈利的80%平仓出场
多止赢:SELL(win2 >= 80 and openprofit > 0, 0);


持仓:holding,linethick0;
资产:asset,noaxis,COLORGRAY;
可用现金:cash(0),linethick0;


我这样编了一下,可是做空的时候不管是盈还是亏,资金曲线在空头的时候都不会变化,是不是哪编错了


MA1:=MA(CLOSE,5);
MA2:=MA(CLOSE,13);
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF CROSS(MA1,MA2) THEN
BEGIN
BUY(1,30);
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);
//出现最高盈利后,回落到盈利的80%平仓出场
多止赢:SELL(win2 >= 80 and openprofit > 0, 0);



variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
IF CROSS(MA2,MA1) THEN
BEGIN
BUYSHORT(1,30);
maxprofit:=0;
END
//平仓
SELLSHORT(CROSS(MA1,MA2),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%平仓
空损:SELLSHORT(win < -2,0);
//出现最高盈利后,回落到盈利的80%平仓出场
空止赢:SELLSHORT(win2 >= 80 and openprofit > 0, 0);

持仓:holding,linethick0;
资产:asset,noaxis,COLORGRAY;
可用现金:cash(0),linethick0;



--  作者:FireScript
--  发布时间:2017/12/14 13:24:05
--  
资金曲线是在变动的。你说的开空之后资金曲线不变并没有发生,你截图看看 你那边什么是情况。