-1

我正在使用 Param 函数输入几个值。

  1. 选择时间范围
  2. 将时间段分配给选定的时间范围。

现在,如果我想将时间范围和相应的时间段存储到一个数组中,然后在代码中检索它,我该如何在 amibroker AFL 中做到这一点?

比如说在程序开始时存储类似于下面的数据

setting    period[in3minutes] = 10;
setting    period[in5minutes] = 20;
setting    period[in10minutes] = 30;

最后获得分配的数据

period1 = period[in3minutes];
period2 = period[in5minutes];
period3 = period[in10minutes];

这是使用 Param 设置数据的示例代码。

    swing_tf            = ParamList  ("Custom TimeFrames0 (default is 15min)", "in1Minute|in3Minute|in5Minute|in15Minute|in25Minute|in30Minute|in45Minute|inHourly|in75Minute|in90Minute|inDaily|inWeekly|inMonthly", 3);
    swing_period        = Param      ("Custom TimeFrames0 Periods", 20, 1, 200, 1);
    swing_tf1           = ParamList  ("Custom TimeFrames1 (default is 30min)", "in1Minute|in3Minute|in5Minute|in15Minute|in25Minute|in30Minute|in45Minute|inHourly|in75Minute|in90Minute|inDaily|inWeekly|inMonthly", 5);
    swing_period1       = Param      ("Custom TimeFrames1 Periods", 20, 1, 200, 1);
    swing_tf2           = ParamList  ("Custom TimeFrames2 (default is hourly)", "in1Minute|in3Minute|in5Minute|in15Minute|in25Minute|in30Minute|in45Minute|inHourly|in75Minute|in90Minute|inDaily|inWeekly|inMonthly", 7);
    swing_period2       = Param      ("Custom TimeFrames2 Periods", 20, 1, 200, 1);
    swing_tf3           = ParamList  ("Custom TimeFrames3 (default is 90min)", "in1Minute|in3Minute|in5Minute|in15Minute|in25Minute|in30Minute|in45Minute|inHourly|in75Minute|in90Minute|inDaily|inWeekly|inMonthly", 9);
    swing_period3       = Param      ("Custom TimeFrames3 Periods", 20, 1, 200, 1);

提前感谢您抽出宝贵时间帮助我解决此问题。

4

1 回答 1

0

试试矩阵,

m = Matrix(1, 4, Null);

m[0][0] = in1Minute;        // 1 Minute
m[0][1] = in1Minute * 3;    // 3 Minute
m[0][2] = in5Minute;        // 5 Minute
m[0][3] = in15Minute;       // 15 Minute

p = [0][2] // in5Minute

如果您只是在寻找一组常量,它可以更容易地初始化。

m = MxFromString("{{10,20,30,40}}");
于 2021-01-24T22:50:57.393 回答