以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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