以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=5303) |
-- 作者:liboyi -- 发布时间:2011/2/26 13:09:22 -- 请高手帮忙编写止盈公式 请高手帮忙编写止盈公式: (注,这是用于图表交易的) 主要意思如下: 开多仓后,当最高价高于开仓价一定值后再回落一定值时平仓.
预先设定: 高于开仓价 :=25; 回落平仓价 :=15; 当开多仓条件合适后开多. 若运行到 最高价 - 开多仓价 > 高于开仓价 时出现条件一; 但这时最高价或许还没出现,还会不断向上,
之后若出现 最高价 - 最低价 > 回落平仓价 时出现条件二; 这时平仓.
最高价是开多仓价与平仓之间的最高价; 最低价为平仓这根K线的最低价.
不知我上面表达清楚了没? 在此先多谢了.
|
-- 作者:liboyi -- 发布时间:2011/2/28 7:38:11 -- 请朋友们帮忙 |
-- 作者:王锋 -- 发布时间:2011/2/28 8:56:38 -- 该功能需要在逐K线模式下才能工作,逐K线模式只有标准版及其以上版本才支持,请回复告知是否正式用户,以节省工作人员的时间。 |
-- 作者:阿火 -- 发布时间:2011/2/28 8:57:09 -- 开多条件 buycond 开空条件 SELLcond variable:maxh=0,kcj=0,zs=0,MINL=0; IF L<ZS AND HOLDING>0 THEN BEGIN SELL(1,1,LIMITR,MIN(O,ZS)); END IF H>ZS AND HOLDING<0 THEN SELLSHORT(1,1,LIMITR,MAX(O,ZS));
IF BUYCOND AND HOLDING=0 THEN BEGIN BUY(1,1,LIMITR,BUYPRICE); MAXH:=BUYPRICE; ZS:=CHUSHIZHISUN ;//这里是初始止损,你没有说明初始止损 END
IF SELLCOND AND HOLDING=0 THEN BEGIN BUYSHORT(1,1,LIMITR,SELLPRICE); MINL:=SELLPRICE; ZS:=CHUSHIZHISUN; END
IF H>=MAXH and holding>0 THEN BEGIN MAXH:=H; IF MAXH>KCJ+25 THEN ZS:=MAXH-15; END
IF L<=MINL and holding<0 THEN BEGIN MINL:=L; IF MINL<KCJ-25 THEN ZS:=MINL+15 END
IF TIME=CLOSETIME(0) THEN BEGIN SELL(HOLDING>0,1,LIMITR,O); SELLSHORT(HOLDING<0,1,1LIMITR,O); END
[此贴子已经被作者于2011-2-28 9:08:46编辑过]
|
-- 作者:liboyi -- 发布时间:2011/2/28 9:10:27 -- 我现在用的是2.34普通本的? 难道没有解决办法了吗?
|
-- 作者:liboyi -- 发布时间:2011/2/28 9:13:26 -- 在试验中,现在还不想购买正式本.在序列模式没法解决么? |
-- 作者:admin -- 发布时间:2011/2/28 9:14:49 -- 序列模式无法执行。 请用户后面发帖求助时,告知是否正式用户,以节省我们工作人员的宝贵时间,谢谢合作 |
-- 作者:liboyi -- 发布时间:2011/2/28 9:14:50 -- 以下是引用leevolvo在2011-2-28 8:57:09的发言:
开多条件 buycond 开空条件 SELLcond variable:maxh=0,kcj=0,zs=0,MINL=0; IF L<ZS AND HOLDING>0 THEN BEGIN SELL(1,1,LIMITR,MIN(O,ZS)); END IF H>ZS AND HOLDING<0 THEN SELLSHORT(1,1,LIMITR,MAX(O,ZS));
IF BUYCOND AND HOLDING=0 THEN BEGIN BUY(1,1,LIMITR,BUYPRICE); MAXH:=BUYPRICE; ZS:=CHUSHIZHISUN ;//这里是初始止损,你没有说明初始止损 END
IF SELLCOND AND HOLDING=0 THEN BEGIN BUYSHORT(1,1,LIMITR,SELLPRICE); MINL:=SELLPRICE; ZS:=CHUSHIZHISUN; END
IF H>=MAXH THEN BEGIN MAXH:=H; IF MAXH>KCJ+25 THEN ZS:=MAXH-15; END
IF L<=MINL THEN BEGIN MINL:=L; IF MINL<KCJ-25 THEN ZS:=MINL+15 END
IF TIME=CLOSETIME(0) THEN BEGIN SELL(HOLDING>0,1,LIMITR,O); SELLSHORT(HOLDING<0,1,1LIMITR,O); END
[此贴子已经被作者于2011-2-28 9:00:18编辑过] 在我不是正式本的,但还是要多谢你. |
-- 作者:阿火 -- 发布时间:2011/2/28 9:16:11 -- 是的,序列模式无法做到,因为你的止损位是变动的。 |