以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=171929) |
-- 作者:tsh08381180 -- 发布时间:2019/9/5 15:01:40 -- 公式修改 交易思路 开仓条件达到有持仓则先平仓再开仓,未到止盈不平仓 当cyc周期内,若是没有达到盈利,则开仓最大次数5次,要是到达止盈,在cyc周期内部开新仓 VARIABLE:stt=0,n=0; cyc:STKINDI(\'\',\'yxk.cyc\',0,6,0); 今开:STKINDI(\'\',\'yxk.今开\',0,6,0); 上轨:STKINDI(\'\',\'yxk.上轨\',0,6,0); 下轨:STKINDI(\'\',\'yxk.下轨\',0,6,0); kd:h>上轨 and c>上轨 and L>上轨 and ISUP; kk:L<下轨 and C<下轨 AND H<下轨 and ISDOWN; //止盈 ZY:h>上轨+((上轨-下轨)*4); ZS:L<下轨-((上轨-下轨)*4); if HOLDING<>0 and stt<=1 then BEGIN
空盈:SELLSHORT(zs,1,THISCLOSE);
多盈:SELL(zy,1,THISCLOSE);
sTT:=1;
end if kd then
SELLSHORT(HOLDING<0,1,THISCLOSE); if kk then
SELL(HOLDING>0,1,THISCLOSE);
if kd AND STT<1 and n<=5 and cyc>1 then BEGIN
if BUY( HOLDING=0 ,1,THISCLOSE) then
n:=n+1;
end if kk AND STT<1 AND n<=5 and cyc>1 then BEGIN IF BUYSHORT( HOLDING=0 ,1,THISCLOSE) THEN
n:=n+1;
end
if MONTH<>ref(MONTH,1) then BEGIN n:=0;
stt:=0; end |
-- 作者:FireScript -- 发布时间:2019/9/5 15:06:41 -- 你是要在原代码上加上你描述的思路还是说你源代码就是这个思路但是没能实现? |
-- 作者:FireScript -- 发布时间:2019/9/5 15:09:54 -- “开仓条件达到有持仓则先平仓再开仓,未到止盈不平仓” 这句话 有歧义。平仓条件是要同时满足止盈和开仓条件才能平仓? |
-- 作者:tsh08381180 -- 发布时间:2019/9/5 15:11:40 -- 原代码就是这个思路,但是没有实现 |
-- 作者:FireScript -- 发布时间:2019/9/5 15:23:46 -- 3楼的那个疑问请回复我下。 |
-- 作者:tsh08381180 -- 发布时间:2019/9/5 15:25:30 -- 在cyc周期内,若是持有多单,未达到盈利平仓条件继续持有,若是到达开空单条件,则平多单开空单!现在问题是,之有平了多单,没有开空单?? 在cyc周期内开仓次数不超过五次!要是到达盈利平仓,在cyc周期内不开新仓
|
-- 作者:tsh08381180 -- 发布时间:2019/9/5 15:27:59 -- 源代码就是这个思路但是没能实现 |
-- 作者:tsh08381180 -- 发布时间:2019/9/5 15:32:10 -- “开仓条件达到有持仓则先平仓再开仓,未到止盈不平仓” 这句话 有歧义。平仓条件是要同时满足止盈和开仓条件才能平仓? 不好意思,我表达不清楚, 满足止盈就平仓,要是没有满足止盈条件,要满足开仓条件也平仓的!不需要同时满足
|
-- 作者:FireScript -- 发布时间:2019/9/5 15:36:39 -- if HOLDING<>0 and stt<=1 and (zs or zy) then BEGIN //必须保证if这里条件满足时候下面2个平仓得有一个执行,否则在止盈不满足的情况下stt照样会被赋值成1. 空盈:SELLSHORT(zs,1,THISCLOSE); 多盈:SELL(zy,1,THISCLOSE); sTT:=1; end 先改下这里试下。
|
-- 作者:tsh08381180 -- 发布时间:2019/9/9 9:52:35 -- 谢谢 |