以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  修改止损条件  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=170741)

--  作者:舍得~~
--  发布时间:2019/7/1 9:55:20
--  修改止损条件
 MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);
手数:=ss;

CROSS(MA1,MA2);
CROSS(MA2,MA1);

SELLSHORT(MARKET);
SELL(MARKET);
BUY(MARKET);
BUYSHORT(MARKET);

加入下面止损公式怎么修改?开多仓后止损立刻设在开仓信号那根k线的最低点;开空仓后止损立刻设在开仓信号那根k线的最高点。
variable:hh=0;
if 开仓条件 then 
begin
buy();
hh:=high;
end

--  作者:FireScript
--  发布时间:2019/7/1 10:31:28
--  
 回溯到开仓K的位置取开仓的K最低价即可。不要用全局变量。
dtzs:ref(l,ENTERBARS+1);
if holding>0 and c<dtzs then sell();

--  作者:舍得~~
--  发布时间:2019/7/1 10:55:30
--  
开仓等待信号k线走完,止损平仓不需要等待k线走完,怎么修改
--  作者:FireScript
--  发布时间:2019/7/1 11:06:45
--  
 这个只可以提供一个参考思路。
首先运行肯定要用固定轮询,这样止损就能实时。然后开仓的话条件需要改下,引用上一个K的条件,就是判断上一个K是否满足开仓条件,这样实际开仓就相当于K线走完。
开仓条件:.....;//原先用这个作为开仓条件
实际开仓条件:ref(开仓条件,1);//现在实际开仓条件。