以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教高手 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=29856) |
-- 作者:pig3009 -- 发布时间:2012/10/16 10:15:53 -- 请教高手 请教高手,我下面的这段代码在模拟测试时出现重复多次开仓的现象,还出现一个时间点反向开仓的现象,我只想一次开仓一手,不出现超过两手的开仓,请问如何修改,谢谢 IF 开多 AND TIME>090000 AND TIME<151200 THEN BEGIN SELLSHORT(HOLDING<0,0,market);//先平 BUY(HOLDING=0,1,market);//开多 maxprofit:=0; END //MSGOUT(1,\'开多仓了\'); IF 开空 AND TIME>090000 AND TIME<151200 THEN BEGIN SELL(HOLDING>0,0,market);//先平 BUYSHORT(HOLDING=0,1,market);//开空 maxprofit:=0; END //MSGOUT(1,\'开空仓了\'); //判断当前持仓状态下的最大盈利 win:=0; if holding > 0 and enterbars > 0 then begin win:=c-enterprice; //记录最大盈利 if win > maxprofit then maxprofit:=win; end if holding < 0 and enterbars > 0 then begin win:=enterprice-c; //记录最大盈利 if win > maxprofit then maxprofit:=win; end 另外,想在图表中划出止盈线,但是用下面语句划不出来,请问该如何写,谢谢 //出现浮盈1个点平仓 多仓止盈:SELL(win > 5,0,market); DRAWLINE(win>5,win,0,0,3,colorred); //MSGOUT(1,\'多仓止盈完成\'); //多仓止损:sell(win<3,0); 空仓止盈:SELLshort(win > 5,0 ,market); DRAWLINE(win>5,win,0,0,3,colorred); //MSGOUT(1,\'空仓止盈完成\'); //空仓止损:sellshort(win<3,0); |
-- 作者:jinzhe -- 发布时间:2012/10/16 10:21:58 -- 使用全局变量记录win variable:win=0 |
-- 作者:pig3009 -- 发布时间:2012/10/16 10:42:49 -- 这个全局变量在前面有定义的,我忘了贴过来了。 请问我提的两个问题能否分开回答?今天模拟的时候多次开仓的情形特别明显。甚至开仓到4手,很奇怪的现象。期待回复
|
-- 作者:jinzhe -- 发布时间:2012/10/16 10:48:23 -- 那么你 把公式中的win:=0去掉 |
-- 作者:pig3009 -- 发布时间:2012/10/16 11:16:27 -- 按照高手指点去掉了,win=0,目前还没有出现开多手的现象,但是出现反向开仓的现象。例如原持有一手多仓,随后又开出一手空仓。很奇怪,这个现象是不是系统刷新的问题?应该不是我代码的问题吧。我代码里已经写了先平后开的 |
-- 作者:jinzhe -- 发布时间:2012/10/16 11:18:32 -- 图表在有多仓的情况下不开空的,你看错了吧? |
-- 作者:pig3009 -- 发布时间:2012/10/16 13:12:49 -- 请看截图,最新刷下来的 |
-- 作者:RogarZ -- 发布时间:2012/10/16 13:24:42 -- 走完K线还是 固定时间间隔 , 固定时间间隔的话,你开仓条件是否有信号闪烁问题? |
-- 作者:pig3009 -- 发布时间:2012/10/16 13:28:45 -- 我用轮询模式,因为我的信号有闪烁才会出现这种情况,那么平仓的时候也会因为信号闪烁而无法完全平仓,对吧 |
-- 作者:every -- 发布时间:2012/10/16 13:34:37 -- 轮训模式下,因为这时候的CLOSE是不确定的, 所以类似这样的写法 win:=enterprice-c; //记录最大盈利 是会造成造成信号闪烁的,对应的CLOSE用开盘/最高/最低,这样的基本可以固定的表示,尽量减少信号闪烁
|