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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教一个问题

   

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


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

主题:请教一个问题

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:00:49    Post IP:180.173.32.155[显示全部帖子]

我希望公式能够尽量通用,以后改个周期,加个波形都不需要有太多修改

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:06:37    Post IP:180.173.32.155[显示全部帖子]

这个我知道,但是我想知道大概的程序逻辑。我用传统的编程语言思维发现差距比较大。循环,数组,在逐K线模式下我没有彻底的理解。所以想请教一下大师,能不能给我大概写个框架,应该不需要太多代码。

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:08:32    Post IP:180.173.32.155[显示全部帖子]

比如金字塔有没有二维数组的概念等等我还不是很清楚

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:09:45    Post IP:180.173.32.155[显示全部帖子]

这个我知道。但是因为涉及到很多周期,很多波形。难道必须一个个写出来吗?这样以后修修改改就比较麻烦了,能不能用循环语句比如?

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:17:53    Post IP:180.173.32.155[显示全部帖子]

最笨的办法我知道,比如:
signalA_1分钟:=STKINDI('','A.signal',0,1),NOAXIS,NODRAW;
signalB_1分钟:=STKINDI('','B.signal',0,1),NOAXIS,NODRAW;
signalC_1分钟:=STKINDI('','C.signal',0,1),NOAXIS,NODRAW;
signalD_1分钟:=STKINDI('','D.signal',0,1),NOAXIS,NODRAW;
signalE_1分钟:=STKINDI('','E.signal',0,1),NOAXIS,NODRAW;

signalA_5分钟:=STKINDI('','A.signal',0,2),NOAXIS,NODRAW;
signalB_5分钟:=STKINDI('','B.signal',0,2),NOAXIS,NODRAW;
signalC_5分钟:=STKINDI('','C.signal',0,2),NOAXIS,NODRAW;
signalD_5分钟:=STKINDI('','D.signal',0,2),NOAXIS,NODRAW;
signalE_5分钟:=STKINDI('','E.signal',0,2),NOAXIS,NODRAW;

...

signal_1分钟 = count(signalA_1分钟,20) > 0 || count(signalB_1分钟,20) > 0 || count(signalC_1分钟,20) > 0 || count(signalD_1分钟,20) > 0 || count(signalE_1分钟,20) > 0;
signal_5分钟 = count(signalA_5分钟,20) > 0 || count(signalB_5分钟,20) > 0 || count(signalC_5分钟,20) > 0 || count(signalD_5分钟,20) > 0 || count(signalE_5分钟,20) > 0;
signal_15分钟 = count(signalA_15分钟,20) > 0 || count(signalB_15分钟,20) > 0 || count(signalC_15分钟,20) > 0 || count(signalD_15分钟,20) > 0 || count(signalE_15分钟,20) > 0;
signal_30分钟 = count(signalA_30分钟,20) > 0 || count(signalB_30分钟,20) > 0 || count(signalC_30分钟,20) > 0 || count(signalD_30分钟,20) > 0 || count(signalE_30分钟,20) > 0;
signal_60分钟 = count(signalA_60分钟,20) > 0 || count(signalB_60分钟,20) > 0 || count(signalC_60分钟,20) > 0 || count(signalD_60分钟,20) > 0 || count(signalE_60分钟,20) > 0;

if signal_1分钟 then begin
    if signal_5分钟 || signal_15分钟 || signal_30分钟 || signal_60分钟 then begin
        buy...
    end
end

这样的代码我实在是受不了T_T,而且我的判断逻辑比这个还要复杂。这么写的话改起来就要崩溃了。

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:19:46    Post IP:180.173.32.155[显示全部帖子]

那这个公式就不能用到5分钟上了,因为我希望5分钟也可以跑起来,15分钟也可以跑起来等等。
另外我的波形可能是有方向的,做多或者做空,只有同方向的话才去下单。这些条件再加上去,那么这样代码实在臃肿不堪。

有没有比较灵活的办法?比如能不能用个循环减少代码量?
[此贴子已经被作者于2016/3/7 16:21:28编辑过]

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:27:45    Post IP:180.173.32.155[显示全部帖子]

variable:cycles[6]=0,signal1[6]=0,signal2[6]=0,signal3[6]=0,signal4[6]=0,signal5[6]=0;
x[1]:=2; // 5分钟
x[2]:=3; // 15分钟
x[3]:=4; // 30分钟
x[4]:=5; // 60分钟
x[5]:=6; // 日线
x[6]:=7; // 周线

variable:i:=0;
for i=1 to UBOUND(cycles) do begin
    if i >= DATATYPE then begin
        signal1[i]:=STKINDI('','A.signal',0,i),NOAXIS,NODRAW;
        signal1[i]:count(signal1[i],len),NOAXIS,NODRAW;

        signal2[i]:=STKINDI('','B.signal',0,i),NOAXIS,NODRAW;
        signal2[i]:count(signal2[i],len),NOAXIS,NODRAW;
    end
end

比如这样的写法有没有可能?

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:34:21    Post IP:180.173.32.155[显示全部帖子]

这样的意思我其实不是很了解了,金字塔逐K下面对变量会进行累积,然后得到一个序列其实。现在这里我把变量变成了一个数组,我不确定会不会有问题。

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


加好友 发短信
等级:新手上路 帖子:98 积分:0 威望:0 精华:0 注册:2016/1/14 13:53:54
  发帖心情 Post By:2016/3/7 16:37:39    Post IP:180.173.32.155[显示全部帖子]

好的,那有问题再请教。金老师啥时有空我来请你吃饭嘿嘿,我就在附近。

 回到顶部