以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  求个同跟K线开仓加仓的DEMO  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=161321)

--  作者:hj007s
--  发布时间:2018/1/26 15:35:28
--  求个同跟K线开仓加仓的DEMO
请问如何写当多头开仓条件成立后,第一次开仓后,每跳一个变动价位在同一根K线上加一手多头,以开仓均价最大值回落3个变动价位后全部平仓。

//指标
MA5:MA(C,5);
MA10:MA(C,10);
WIN1:=0;
WIN2:=0;  //止盈止损控制

KD:=CROSS(MA5,MA10);

IF KD=1 THEN 
BEGIN
BUY(HOLDING=0,1,MARKET);
END

……后面加仓和止盈止损怎么写?


--  作者:FireScript
--  发布时间:2018/1/26 15:54:58
--  
不行的,同一个K同一个语句 只能下一次单子的。
--  作者:hj007s
--  发布时间:2018/1/26 15:58:16
--  
那我可否这样,老师帮我写个DEMO,
我在TICK级别上进行开仓和加减仓,然后引用5分钟级别的K线进行个条件判断,这样是否就不会出现我说的同一根K线多次无法下单的情况?

--  作者:FireScript
--  发布时间:2018/1/26 16:01:07
--  
你要先把需求整理清楚下。
--  作者:hj007s
--  发布时间:2018/1/26 16:07:21
--  
需求就是:当MA5上穿MA10时进行个多头开仓,当价格上涨1个最小变动价位时加仓1手,当价格从第一次开仓时开始算的最高值回落3个变动价位时候全部平仓。如果出现价格上涨3个变动价位,然后回落2个变动价位这样的情况,不进行开仓。
--  作者:FireScript
--  发布时间:2018/1/26 17:04:36
--  

VARIABLE:mark:=0;
ma10:ma(c,10);
ma5:ma(c,5);


buycond1:cross(ma5,ma10) and holding=0;
buycond2:holding>0 and c-ENTERPRICE>1*MINDIFF;//每次上次开仓后上涨一个变动点 加仓

if  buycond1 then
begin
buy(holding=0,1,market);
mark:=1;
end
else if then mark:=0; //标记首次开仓的位置

buy(BUYCOND2 and holding>0,1,market);//加仓

firstH:ref(h,BARSSINCE(mark=1));//首次开仓时的最高价

sellcond1:firstH-c>3*MINDIFF and holding>0 and not(BUYCOND1);//平仓条件,且限制了不在首次开仓的K上同时做平仓,因为开仓的H-C可能会大于3个最小变动价位

if sellcond1 then sell(holding>0,holding,market);