比如要投入10万资金,总分网格为20格,每格分得5000元,当前价位在最高位往下数第4格位置,则首次建仓资金:5000 X 4 =2万
以后每日就以上次成交价格为中心,在开盘前预埋涨5%卖单,跌5%买单,买卖数量按事先计算好的每个网格的交易量。
先明确一些思路细节,然后还要再根据你思路情况看下要用后台还是图表实现 。
1.“当前价位在最高位往下数第4格位置”这个首次建仓是当日最高价回落四个格子的位置的时候建仓是吗?
2.网格最高点最低点如何确定的。也就是第一层格子和第20层格子的价位位置。是根据历史最高最低价还是其他方式?
[此贴子已经被作者于2020/6/29 14:25:46编辑过]
1.首次建仓是当日最高价回落4个格子的位置建仓。
2.根据历史最高价最低价。或者提前计算好自定义网格
固定网格,把股票数分为10份,每上涨5%卖出1份股票,每下跌5%买入1份股票。
这个思路只能用后台操作。我们这边要尝试下,不能保证一定能实现出来。编写后会更新在本帖。
先提供图表的网格,因为这样容易把思路确定下来,如果后面要用后台那在图表基础上再改动即可。
提供2种网格的方式。一个是固定网格,也就是确定顶部和底部的,另一个是按照上次开仓价的涨跌幅操作的,也就是每次涨跌百分之多少的时候增减仓。
1.固定网格的:
*被引用指标X 代码
1G:llv(l,5);
20G:hhv(h,5);
当前交易的指标代码:
input:n(20,1,100,1);//N表示具体的各自数
//以过去5日(日线)最高 最低价 作为网格顶部和底部 这里可以自行调整。这个格子的设置并不合理,尤其是单边行情下,很容易出问题。就是会出现当日的价格已经在20个格子范围外了的情况。
1G:STKINDI('','X.1G',0,6,-1);//底格
20G:STKINDI('','X.20G',0,6,-1);//顶格
Len:(20G-1G)/n,NODRAW;//格子的间距
location:INTPART(((20G-c)/Len))+1,NODRAW;//
这个location就是表示当前价格所在网格的层数 。最上面的第一层(1),最底下是最后一层(2)。cd:location>0 and location<=20;//如果价格已经在格子范围外了,暂定不操作。
//开平仓就是判断当前在哪一层格子里。仓位如果和格子层数不一致,则开仓或者平仓来进行调整。
hhvbar:HHVBARS(h,TODAYBAR),NODRAW;//当日最高价距离现在周期的位置,这个是指K线周期跨度
if location-ref(location,hhvbar)>=4 then 首次开仓:buy(holding=0,location,market);//
从最高价所在位置的层数 下落四个格子 则首次开仓if location<>holding and cd and holding<>0 then
begin
加仓:buy(location>holding,location-holding,market);
减仓:sell(location<holding,holding-location,market);
end
if time=CLOSETIME(0) then //仓位不隔夜
begin
收盘平仓:sell(holding>0,holding,market);
end
持仓:holding,NODRAW;
这个思路上还有些不完整,比如网格顶格和底格的确定方式,价格超出网格范围的处理 等等。反正你先在图表上进一步整理下自己思路。后面再完善吧。
2.按照百分比幅度的。
看这个帖子里的。供参考下操作思路吧。
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=180677
按照股票价格,如果是0-10,固定一个大网格格子,在里面划分格子(或者按照百分比划分),根据格子数进行开平仓呢??每跌一个格子开仓,每涨一个格子开仓