以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=171446) |
-- 作者:周道 -- 发布时间:2019/8/5 8:46:58 -- [求助]请老师帮忙添加以上次开仓价的一个止盈止损 //定义参数 Input:B(30,1,100,1);//均线和标准差参数 手数:=ss; //中间变量 MA1:=MA(C,A);//5日均线 MA2:=MA(C,B);//30日均线 //交易条件 BuyCond:=CROSS(MA1,MA2);//开多平空条件 SellCond:=CROSS(MA2,MA1);//开空平多条件 //下单语句 if BuyCond then begin Sellshort(holding<0,0,market);//市价平空 Buy(holding=0,SS,market);//市价开多 end if SellCond then begin Sell(holding>0,0,market);//市价平多 BuyShort(holding=0,SS,market);//市价开空 end //止盈止损(我的交易思路是,高于或低于开仓价的最小变动单位10个点止损,高于或低于开仓价20个点止盈一手,其余的一手等符合平空或平多条件时出),谢谢!
|
-- 作者:FireScript -- 发布时间:2019/8/5 10:17:29 -- 止盈止损我们都是有现成范例的。可以参考下这里的代码操作下。 这里的AvGENTERPRICE 替换成ENTERPRICE 即可。
|
-- 作者:周道 -- 发布时间:2019/8/5 11:24:33 -- //定义参数 Input:B(30,1,100,1);//均线和标准差参数 手数:=ss; //中间变量 MA1:=MA(C,A);//5日均线 MA2:=MA(C,B);//30日均线 //交易条件 BuyCond:=CROSS(MA1,MA2);//开多平空条件 SellCond:=CROSS(MA2,MA1);//开空平多条件 //下单语句 if BuyCond then begin Sellshort(holding<0,0,market);//市价平空全平 Buy(holding=0,2,market);//市价开多2手 end if SellCond then begin Sell(holding>0,0,market);//市价平多全平 BuyShort(holding=0,2,market);//市价开空2手 end //止盈止损 //止盈 IF C-ENTERPRICE>20*MINDIFF THEN BEGIN SELL(1,HOLDING,MARKET);//高于20点止盈1手 END IF C+AVGENTERPRICE<20*MINDIFF THEN BEGIN SELLSHORT(1,HOLDING,MARKET);//低于20点止盈1手 //止损 IF ENTERPRICE-C>10*MINDIFF THEN BEGIN SELL(2,HOLDING,MARKET); IF ENTERPRICE-C>10*MINDIFF THEN BEGIN SELLSHORT(2,HOLDING,MARKET); END(老师帮看下,修改一下,加载不起)
|
-- 作者:周道 -- 发布时间:2019/8/5 11:34:37 -- //定义参数 Input:B(30,100,1);//均线和标准差参数 手数:=ss; //中间变量 MA1:=MA(C,A);//5日均线 MA2:=MA(C,B);//30日均线 //交易条件 BuyCond:=CROSS(MA1,MA2);//开多平空条件 SellCond:=CROSS(MA2,MA1);//开空平多条件 //下单语句 if BuyCond then begin Sellshort(holding<0,0,market);//市价平空全平 Buy(holding=0,2,market);//市价开多2手 end if SellCond then begin Sell(holding>0,0,market);//市价平多全平 BuyShort(holding=0,2,market);//市价开空2手 end //止盈止损 //止盈 IF C-ENTERPRICE>20*MINDIFF THEN BEGIN SELL(1,HOLDING,MARKET);//高于20点止盈1手 END IF C+AVGENTERPRICE<20*MINDIFF THEN BEGIN SELLSHORT(1,HOLDING,MARKET);//低于20点止盈1手 //止损 IF ENTERPRICE-C>10*MINDIFF THEN BEGIN SELL(2,HOLDING,MARKET); IF ENTERPRICE-C>10*MINDIFF THEN BEGIN SELLSHORT(2,HOLDING,MARKET); END(请老师帮忙改写下编译通不过)
|
-- 作者:FireScript -- 发布时间:2019/8/5 13:16:53 -- 编译问题已经此贴回复了: http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=171455
|