以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=160278) |
-- 作者:158021589560 -- 发布时间:2017/12/8 22:02:28 -- 麻烦看下这样表达对吗 当最高价减去开仓价大于18个基点,然后回调至2个基点平多 当开仓价减去最低价大于18个基点,然后上升至2个基点平空, 这样表达对吗?》 VARIABLE:isProfit=0; if H-ENTERPRICE>18*MINDIFF and isProfit=0 then isProfit:=1; if ISProfit and c-ENTERPRICE>2*MINDIFF then begin sell(holding>0,1,THISCLOSE); if ENTERPRICE-L>18*MINDIFF and isProfit=0 then isProfit:=1; if ISProfit and ENTERPRICE-C>2*MINDIFF then sellshort(holding<0,1,THISCLOSE); isProfit:=0;//平仓后全局变量重置为0 end
|
-- 作者:wenarm -- 发布时间:2017/12/8 22:57:02 -- 逻辑处理上不对, if H-ENTERPRICE>18*MINDIFF and isProfit=0 then isProfit:=1; if ISProfit and c-ENTERPRICE>2*MINDIFF then 第二行其实不能体现出回调2个价位的状态。 你的需求应该是移动止损吧? 你可以参考系统自带的移动止损范例对比学习看下 //移动止损部分************************
//求出持仓以来的最高价或最低价,通过与当前价做比较,判断资金回落的幅度 DTYDZS:=(HHV(H,ENTERBARS)-CLOSE)/AVGENTERPRICE>=0.1; KTYDZS:=(CLOSE-LLV(L,ENTERBARS))/AVGENTERPRICE>=0.1; SELL(DTYDZS,0,MARKET); SELLSHORT(KTYDZS,0,MARKET); //************************************* |