Type/to search
8
Follow
1370
Followers
Шаблон диаграммы был обновлен!
Tutorials
Created 2016-07-26 09:47:34  Updated 2017-10-11 10:20:34
 16
 4934

Шаблон диаграммы был обновлен!

  • Для удобства использования таблицы состояния, чтобы отображаемые данные были более упорядоченными. Шаблоны графиков были добавлены с новой функцией.

    Напишите дополнительную функцию экспорта, а также описание.
    • TV // глобальный объект, который отвечает за то, что показывается в таблице, а также за то, что изменяется в таблице.
    • $.TableInit = function(cols,rows) // Экспортная функция, используемая для инициализации таблицы в строке состояния, может быть использована для объявления cols =[Число],rows = [Цифровая величина], затем передайте параметры .cols//column,rows//row. автоматически генерирует таблицу . и возвращает объекты TV, которые используются для записи данных в стратегии, ссылающейся на шаблон .
    • $.UpdateLogStatus = function() // эта функция экспорта используется для обновления таблицы состояния. Например: var table = $.TableInit(6,5); после выполнения table.a0 = "aaaa"; затем, вызвав эту функцию экспорта: $.UpdateLogStatus(), можно обновить "aaaa" в столбец a, строку 0。
    • После настройки cols, rows, координаты таблицы будут выглядеть примерно так. При использовании прямого доступа к table.a0 ((предположение было вызвано var table = $.TableInit ((6,5);)) можно будет записать в следующую таблицу a0 место. Количество столбцов может быть не более "z".
    • Примечание: Начало таблицы - это ячейка с координатами a0, b0, c0...[Эта ошибка была исправлена, так что данные в начале таблицы останутся прежними.]
abcd...
0a0
1b1
2d2
3c3
4
5
6
7
8

img

  • Ниже приведен код для тестирования функции main в шаблоне:
//测试状态栏表格功能 var cols = 6;//列 var rows = 4;//行 $.TableInit(cols,rows);

img

  • Продолжайте тестировать:
/*测试状态栏表格功能*/ var cols = 6;//列 设置一个变量 代表 列 var rows = 4;//行 设置一个变量 代表 行 $.TableInit(cols,rows); //初始化 状态栏 会显示 各个单元格的 坐标 ///* for(var x in TV){ TV[x] = "lalala";// 全部单元格写成 lalala } //更新表格 显示 lalala, 表头 数据不能重复 ,否则显示不出来。 TV.a0 = "a0"; TV.b0 = "b0"; TV.c0 = "c0"; TV.d0 = "d0"; TV.e0 = "e0"; TV.f0 = "f0";//先把 表头数据写成不一样的 $.UpdateLogStatus();//更新 状态栏表格

img
В остальных ячейках, кроме заголовков, записывается строка "lalala".

  • Давайте попробуем, как мы можем записать данные в массив, в число, в объект, в текст.
/*测试状态栏表格功能*/ var cols = 6;//列 设置一个变量 代表 列 var rows = 4;//行 设置一个变量 代表 行 $.TableInit(cols,rows); //初始化 状态栏 会显示 各个单元格的 坐标 ///* for(var x in TV){ TV[x] = "lalala";// 全部单元格写成 lalala } //更新表格 显示 lalala, 表头 数据不能重复 ,否则显示不出来。 TV.a0 = "a0"; TV.b0 = "b0"; TV.c0 = "c0"; TV.d0 = "d0"; TV.e0 = "e0"; TV.f0 = "f0";//先把 表头数据写成不一样的 $.UpdateLogStatus();//更新 状态栏表格 ///* //怎么在 表格里面写入数据呢? var num = 100; var text = "文本:测试表格文本"; var obj = {name:"对象",age:"19",sex:"girl"}; var array = ["数组",22,33,54]; TV.a1 = num; TV.c2 = text; TV.b3 = obj; TV.b0 = array; $.UpdateLogStatus();//再次更新 状态栏表格 //*/

img

Выше приведены тесты внутри шаблона, а ниже приведены стратегии тестирования его функций в ссылке на шаблон:
function main(){ var i = 0; var table = $.TableInit(4,5); for(var x in table){//向表格写入数据 table[x] = "" + i;// 全部单元格写成 递增的数字 i++; } //更新表格 显示 递增的数字, 表头 数据不能重复 ,否则显示不出来。 table.a0 = "a0"; table.b0 = "b0"; table.c0 = "c0"; table.d0 = "d0"; table.a1 = "a1"; table.b1 = "b1"; table.c1 = "c1"; table.d1 = "d1"; table.a4 = "a4"; table.b4 = "b4"; table.c4 = "c4"; table.d4 = "d4"; //Log("TV:",TV);//测试是否能 访问到模板中的TV 对象 $.UpdateLogStatus(); }

img
Это временно обновленная функция, приветствую всех, кто хочет попробовать, если есть ошибки, пожалуйста, оставьте комментарии.

Related Recommendations
Comment
All comments (16)

    请问,报错TypeError: $.UpdateLogStatus is not a function是怎么回事?

    8 years ago

    策略引用了这个模板了么?

    8 years ago

    反复重试了几遍,已经解决了,感谢梦总。

    8 years ago

    点击复制并在线回测按钮复制的策略模板,然后我在自己的策略中也引用了这个模板,但是跑数据,仍然报错:TypeError: undefined not callable (property 'TableInit' of [object Object]) at main (FILE:315)

    8 years ago

    看下 main 函数 315行 处的代码, 是不是 函数名字写错了。

    8 years ago

    回测正常,但模拟盘中却报错:

    ReferenceError: identifier 'indicatorsName' undefined at [anon] (__FILE__:1388) at global (__FILE__:1694) preventsyield

    8 years ago

    测试了一下 ,可以的 ,您这个报错 我推测:
    您是不是 直接复制的代码 在新建策略里面了, 这个模板有一些界面参数的。如果是只复制代码 ,这些参数 就需要手动配置下。
    模板是这个帖子:https://www.botvs.com/strategy/20967
    需要点击下面的 复制按钮。

    8 years ago

    我是通过点击复制并在线回测按钮复制的策略模板,然后我在自己的策略中也引用了这个模板,策略参数是正常显示的。

    回测结果正常,然后我新建了一个机器人 B 测试也是正常的,证明策略本身没有问题。但不知道为何,就是在机器人 A 上会报错,两个机器人的配置也都一样,甚是诡异。

    8 years ago

    报错 看来 应该 是 indicatorsName 这个 参数 的问题 。这个参数 是个 界面参数 。
    这样 , 您再 复制 一次 这个策略 用新复制的 创建个 机器人 跑下,看是否还报错。

    8 years ago

    用新策略运行, 提示 main:3:19 - TypeError: $.TableInit is not a function 用法不对吗?
    引用模板测试是怎么样引用法?

    9 years ago

    要在策略里 勾选这模版的, 另外这个 模版是 JS语言 ,如果 您用python 写策略, 即使复制这个模版到 您的 控制中心 , 也是无法看到 ,无法引用的(就是勾选)。

    9 years ago

    $.UpDateLogStatus();
    这个函数命名有点问题。 update是一个单词,D不能大写。

    10 years ago

    ^ ^前辈指点的是,这样写外行了~~改下。

    10 years ago

    小梦 辛苦

    10 years ago

    方便大家用就好 ^^

    10 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)