等级: 免费版
- 注册:
- 2023-4-11
- 曾用名:
|

楼主 |
发表于 2023-4-19 22:25
|
显示全部楼层
老师能否对如下代码解析一下,我调整半天还是在开仓后第二根K线就平仓了,请老师查看下。
variable:maxprofit1=0;//有仓位时最大获利幅度,请问这里的全局变量是否需要多空区分?=0又代表什么意思?
variable:maxprofit2=0;//有仓位时最大获利幅度,请问这里的全局变量是否需要多空区分?=0又代表什么意思?
//多单止盈模块******************************************************************************
//判断当前持仓状态下的最大盈利
DKwin:=0;
DKwin2:=0;
if holding > 0 and enterbars > 0 then
begin
DKwin:=(c-enterprice)/enterprice*100; //记录最大盈利
if DKwin>maxprofit1 then
maxprofit1:=DKwin;
DKwin2:=(maxprofit1-DKwin)/maxprofit1*100; //最大盈利后的回调幅度,这里对回调幅度的计算我用数值代入还是觉得不对?是以百分比的回调比例吗?例如5000开多单,最高盈利价格到5050,回调盈利的60%应该是50*60%,回调触发平仓位应该是(5050-5000)*60%+5000=5030价格位,但是事实是在这之前开仓后的第二根就平仓了
end
//出现最高盈利后,回落到盈利的60%平仓出场
多单止赢:SELL(DKwin2 >= 60 and openprofit > 0, 0,limit,c);
//**********************************************************************************************************************************
//**********************************************************************************************************************************
//空单止盈模块******************************************************************************
//判断当前持仓状态下的最大盈利
KKwin:=0;
KKwin2:=0;
if holding < 0 and enterbars > 0 then
begin
KKwin:=(enterprice-C)/enterprice*100; //记录最大盈利
if KKwin>maxprofit2 then
maxprofit2:=KKwin;
KKwin2:=(maxprofit2-KKwin)/maxprofit2*100; //最大盈利后的回调幅度,这里对回调幅度的计算我用数值代入还是觉得不对?是以百分比的回调比例吗?例如5050开空单,最高盈利价格到5000,回调盈利的60%应该是50*60%,回调触发平仓位应该是5050-(5050-5000)*60%=5020价格位,但是事实是在这之前开仓后的第二根就平仓了
end
//出现最高盈利后,回落到盈利的60%平仓出场
空单止赢:SELLSHORT(KKwin2 >= 60 and openprofit > 0, 0,limit,c);
还请老师帮检查问题在哪里?是不是LIMIT限价造成的?
|
|