 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
- FireScript
|
input:ss(1,1,100,1);
cci:"cci.cci";
ma27:ma(c,27);
up:ma27>ref(ma27,1);
down:ma27<ref(ma27,1);
kd:cci>100 and up;
kk:cci<-100 and down;
variable:maxprofit=0;//有仓位时最大获利幅度
//开仓
if kd and holding=0 then
begin
buy(1,ss,marketr);
maxprofit:=0;
end
if kk and holding=0 then
begin
buyshort(kk and holding=0,ss,marketR);
maxprofit:=0;
end
//移动止盈和固定止损部分
//判断当前持仓状态下的最大盈利
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,limitr,c);
//出现最高盈利后,回落到盈利的60%平仓出场
多止赢:sell(win2 >= 60 and openprofit > 0, 0,limitr,c);
//出现浮动亏损比如2%平仓
空止损:sellshort(win < -2,0,limitr,c);
//出现最高盈利后,回落到盈利的60%平仓出场
空止赢:sellshort(win2 >= 60 and openprofit > 0, 0,limitr,c);
|
|