以文本方式查看主题

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

--  作者:qq代人发帖
--  发布时间:2020/3/3 10:24:28
--  怎么写才能在收盘持仓对锁,开盘持仓解锁。
请教:怎么写才能在收盘持仓对锁,开盘持仓解锁。比如收盘前持仓10张多,收盘对锁,加10张空,第二天开盘解锁,平空留多?

--  作者:FireScript
--  发布时间:2020/3/3 10:28:07
--  
 你这个只能在后台程序化中实现,图表程序化无法做到同时持有2个方向的持仓。后台程序化没有此限制。所以你需要确认下是否有后台程序化的 使用权限。

--  作者:ma-robot
--  发布时间:2020/3/3 10:58:28
--  
如果我两个策略,图标模式怎么才能两个策略之间通信,不进入死循环? 我现在俩策略通信互相读取参数,就死循环了。 或者一个策略有输出函数吗? 请教 第二个问题 如何写一个数组,比如 2 3 5 7 11 13 17,每次挑选一个,从2 开始,循环到17 ,比如上次2 下次是5.
--  作者:wenarm
--  发布时间:2020/3/3 11:23:02
--  

图表机制不支持这种操作。这类操作也必须在后台完成。试用配置函数实现。

 

金字塔的策略执行在时间轴方向上,很少的有地方需要使用数组。
VARIABLE:VARR1[7]=(2,3,5,7,11,13,17);//定义并初始化数组。

取值自己根需要,直接通过下标获取

 

 

 

 

 

使用[],详细用法:

 

对下标对应的数组或序列元素进行取值或赋值
数组下标从1开始直到数据数量

例如:
VARIABLE:VARR1[10]:=0,SARR[5]:=\'STR\';VARR1[1]:=VARR1[10];
定义1个含10个元素的数组并进行取值和赋值
又如移动平均线可通过如下循环语句和数组操作实现:
INPUT:N(5,2,500);      //参数申明
VARIABLE:I:=0,S=0;
VAR1:=C; //变量申明
//为了加快运算速度,只有最后一个周期时才循环计算
IF NOT(ISLASTBAR) THEN EXIT;
FOR J=1 TO DATACOUNT DO BEGIN
 S:=S+VAR1[J];
 IF J>=N THEN BEGIN
  IF J>N THEN
    S:=S-VAR1[J-N];
  MA1[J]:S/N;        //实现MA(C,N)
  I:=0;
 END;
END;
所属函数组:控制语句