欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 加仓代码实现

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3032人关注过本帖树形打印复制链接

主题:加仓代码实现

帅哥哟,离线,有人找我吗?
陈志海11
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
加仓代码实现  发帖心情 Post By:2018/9/26 13:28:04    Post IP:180.169.30.6[只看该作者]

INPUT:N(30,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
SUMON:0;
SUMBUY:0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN 
   BEGIN
   BUY(1,1,MARKET);
   DRAWTEXT(1 ,LOW ,"开多" );
   SUMON=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN 
   BEGIN
   BUY(1,1,MARKET);
   SUMBUY=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) THEN BEGIN
   SELL(1,0,MARKET);
   DRAWTEXT(1 ,LOW ,"平多" );
   SUMON=0;
   SUMBUY=0;
 END

图片点击可在新窗口打开查看此主题相关图片如下:fxejw1u0y`{a~801)qfv.png
图片点击可在新窗口打开查看
 这段代码没有实现加仓的效果啊?出在哪里?

 回到顶部
帅哥哟,离线,有人找我吗?
陈志海11
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/9/26 13:39:05    Post IP:27.154.85.240[只看该作者]

INPUT:N(30,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON=0,SUMBUY=0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN 
   BEGIN
   BUY(1,1,MARKET);
   DRAWTEXT(1 ,LOW ,"开多" );
   SUMON=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN 
   BEGIN
   BUY(1,1,MARKET);
   SUMBUY=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) AND HOLDING>0 THEN BEGIN
   SELL(1,0,MARKET);
   DRAWTEXT(1 ,LOW ,"平多" );
   SUMON=0;
   SUMBUY=0;
END


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/9/26 13:40:06    Post IP:180.169.30.6[只看该作者]

1.赋值 用“:=” 单用 “=”是无效的。2.sumon和SUMBUY用全局变量方式定义。
INPUT:N(30,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON:=0,SUMBUY:=0;


IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
   BEGIN
   BUY(1,1,MARKET);
   DRAWTEXT(1 ,LOW ,"开多" );
   SUMON:=1;
END

IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN
   BEGIN
   BUY(1,1,MARKET);
   SUMBUY:=SUMBUY+1;
END


IF CROSS(MA30,CLOSE) and holding>0 THEN BEGIN
   SELL(1,0,MARKET);
   DRAWTEXT(1 ,LOW ,"平多" );
   SUMON:=0;
   SUMBUY:=0;
   end


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/9/26 13:45:16    Post IP:180.169.30.6[只看该作者]

INPUT:N(30,5,250,10);
VARIABLE:SUMON=0;
VARIABLE:SUMBUY=0;

MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
   BEGIN
   BUY(1,1,MARKET);
   SUMON:=1;
END

IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=3 AND HOLDING>0 THEN
   BEGIN
   BUY(1,1,MARKET);
   SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) THEN BEGIN
   SELL(1,0,MARKET);

   SUMON:=0;
   SUMBUY:=0;
 END



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
陈志海11
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:64 积分:0 威望:0 精华:0 注册:2018/8/27 9:21:02
  发帖心情 Post By:2018/9/26 15:30:56    Post IP:27.154.85.240[只看该作者]

INPUT:N(95,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON:=0,SUMBUY:=0;
IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN 
   BEGIN
   BUY(1,4,MARKET);
   DRAWTEXT(1 ,LOW ,"开多" );
   SUMON:=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=10 AND HOLDING>0 THEN 
   BEGIN
   BUY(1,4,MARKET);
   SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) AND HOLDING>0 THEN BEGIN
   SELL(1,0,MARKET);
   DRAWTEXT(1 ,LOW ,"平多" );
   SUMON:=0;
   SUMBUY:=0;
END
IF CROSS(MA30,CLOSE) AND HOLDING=0 THEN 
   BEGIN
   BUYSHORT(1,4,MARKET);
   DRAWTEXT(1 ,LOW ,"开空" ); 
   SUMON:=1;
END
IF ENTERPRICE-CLOSE>=0.5*ATR AND HOLDING<0 AND SUMON=1 AND SUMBUY<=10 THEN 
   BEGIN
   BUYSHORT(1,4,MARKET);
   DRAWTEXT(1 ,LOW ,"开空" );
   SUMBUY:=SUMBUY+1;
 END 
 IF CROSS(CLOSE,MA30) AND HOLDING<0 THEN 
    BEGIN
    SELLSHORT(1,0,MARKET);
    SUMON:=0;
    SUMBUY:=0;
END
这段代码加载在图上变成只开空,不开多了,只对做空作对了最大加仓十次,没有对 开多加仓,求助老师们

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2018/9/26 16:01:24    Post IP:180.169.30.6[只看该作者]

图表不支持锁仓,开仓前先平反手仓位。另外,仓位类型开关不能共用。

 

INPUT:N(95,5,250,10);
MA30:MA(CLOSE,N);
TR1:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR1,20);
VARIABLE:SUMON:=0,SUMBUY:=0;

 IF CROSS(CLOSE,MA30) AND HOLDING<0 THEN
    BEGIN
    SELLshort(1,0,MARKET);
    SUMON:=0;
    SUMBUY:=0;
END
IF CROSS(MA30,CLOSE) AND HOLDING>0 THEN BEGIN
   SELL(1,0,MARKET);
   SUMON:=0;
   SUMBUY:=0;
END


IF CROSS(CLOSE,MA30) AND HOLDING=0 THEN
   BEGIN
   BUY(1,4,MARKET);

   SUMON:=1;
END
IF CLOSE-ENTERPRICE>=0.5*ATR AND SUMON=1 AND SUMBUY<=10 AND HOLDING>0 THEN
   BEGIN
   BUY(1,4,MARKET);
   SUMBUY:=SUMBUY+1;
END
IF CROSS(MA30,CLOSE) AND HOLDING=0 THEN
   BEGIN
   BUYSHORT(1,4,MARKET);

   SUMON:=-1;
END
IF ENTERPRICE-CLOSE>=0.5*ATR AND HOLDING<0 AND SUMON=-1 AND SUMBUY<=10 THEN
   BEGIN
   BUYSHORT(1,4,MARKET);

   SUMBUY:=SUMBUY+1;
 END

 



编程无捷径,技巧靠积累。
 回到顶部