【问题标题】:Storing and Accessing variable/values in amibroker afl code在 amibroker afl 代码中存储和访问变量/值
【发布时间】:2021-01-19 20:48:40
【问题描述】:

我正在使用 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);

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

【问题讨论】:

    标签: amibroker


    【解决方案1】:

    尝试一个矩阵,

    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}}");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      相关资源
      最近更新 更多