以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (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=162649)
|
-- 作者:代人发贴
-- 发布时间:2018/4/10 12:42:15
-- 如何编写
初始开仓1手,交易次数达到5次再开仓加一手再交易5次再加2手再交易5次再加3手类推5次交易增加一手,最大开仓10手后每交易5次递减一手意思就是倒过来减仓
|
-- 作者:FireScript
-- 发布时间:2018/4/10 13:23:49
--
按照你这个逻辑 就是连续符合五次开仓条件开仓之后 第六次开仓的时候 开2手(那么这时候是持有7手了) 后续每次开仓开2手,至多开2次 开完就是11手了。超过10手之后递减一手,是继续开仓且开仓量递减?还是要平仓且平仓量在递减。
|
-- 作者:代人发贴
-- 发布时间:2018/4/10 14:50:37
--
六次开仓的时候 开2手(那么这时候是持有7手了)2手
|
-- 作者:代人发贴
-- 发布时间:2018/4/10 14:53:19
--
正反手交易前面开仓跑1手5个来回的意思加1手就是2手再跑再跑5个来回就3手跑依次类推跑到第10手的时候每交易一个来回减仓一手就是减到每次9手再跑个来回就减到每次跑8手
|
-- 作者:代人发贴
-- 发布时间:2018/4/10 14:56:46
--
variable:n=0; variable:ss:=1; variable:num=0; if ss=s then num:=0; if ss=1 then num:=1;
if 开空4 then begin SELL(1, holding,market); if holding=0 then begin buyshort(1 ,s,market); if num=1 then ss:=ss+1; else if num=0 then ss:=ss-1; end end
if 开多4 then begin SELLSHORT(1, holding,market); if holding=0 then begin buy(1 ,s,market); if num=1 then ss:=ss+1; else if num=0 then ss:=ss-1;
end
以前的是交易一次加一手,现在改写成间隔5次加一手应该就可以了。
|
-- 作者:代人发贴
-- 发布时间:2018/4/10 14:59:07
--
上面指标如何改写成间隔5次加一手?
|
-- 作者:FireScript
-- 发布时间:2018/4/10 15:08:54
--
此主题相关图片如下:temp.png

这个变量没定义吗?
|
-- 作者:代人发贴
-- 发布时间:2018/4/10 15:48:43
--
S=10就是最大开仓数了
|
-- 作者:FireScript
-- 发布时间:2018/4/10 16:12:27
--
此主题相关图片如下:temp.png

这里ss递增的值从1修改成0.2即可。
[此贴子已经被作者于2018/4/10 16:15:09编辑过]
|
-- 作者:FireScript
-- 发布时间:2018/4/10 16:16:54
--
这样五次ss才能递增1
|