以文本方式查看主题

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

--  作者:浮游
--  发布时间:2018/9/25 13:22:49
--  求助老师
INPUT:p(1,1,20.1),s(60,1,60,1),Q(120,20,250,10);

A : MA(CLOSE,P);
B : MA(CLOSE,S);
D : MA(CLOSE,Q);

//建立多头

long :=A>B AND A>D;

if long then
BEGIN
SELLSHORT(HOLDING<0,HOLDING, thisclose );//收盘价平掉空头
buy(long,1,thisclose);//建立多头
end

LONGX:=A<B OR A<D;
IF LONGX THEN
BEGIN
SELL (1,0,THISCLOSE);
END

//建立空头

short:=A<B AND A<D;
if short then
BEGin
SELL( HOLDING>0,HOLDING ,thisclose );//平掉多头
buyshort(short,1,thisclose); //建立空头
end

SHORTX: A>B OR A>D;
IF SHORTX THEN
BEGIN
SELLSHORT(1,0,THISCLOSE);
END



持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;


以上是公式 老师帮忙看看

如何定义好开仓数量,以后一直保持这个开仓数量而不是一直加仓
另外就是使得策略一直循环 学习


--  作者:浮游
--  发布时间:2018/9/25 13:46:15
--  
总体思路很简单 就是收盘价大于60日线和120日线 就开多 
收盘价小鱼60日线和120日线就开空

如果收盘价低于60日线或120日线的某一条就平多
收盘价高于60或者120日线的某一条就平空

不加仓

--  作者:FireScript
--  发布时间:2018/9/25 13:48:44
--  
我看了你的代码。这段代码里面并无加仓操作,且开仓数量是固定的定值的。所以我对你这个需求有点疑惑。

--  作者:浮游
--  发布时间:2018/9/25 13:56:36
--  
我也疑惑了  但是图标上面显示开仓后就一路加仓
最大持仓量居然有15手之多  
也不知道是不是我写错了

我觉得我这个思路很简单
老师能否帮忙重新书写一下我学习一下 谢谢 

--  作者:永杰
--  发布时间:2018/9/25 19:11:11
--  
if short and holding=0 then这样看看呢,我对图表交易不熟悉,说的不一定对。如果这样还是存在上面的问题,那就是金字塔的函数存在的一个通病了,函数值不存在的时候,比如short数据不存在,金字塔的函数缺少边界检查,它也是存在值的,所以你if short then也是成立的

--  作者:wenarm
--  发布时间:2018/9/25 20:47:44
--  
你是想达到一开一平的操作吧,直接在自己的开仓条件中增加holding=0作为限制
long :=A>B AND A>D and  holding=0;
short:=A<B AND A<D and holding=0;