Type/to search
8
Follow
1370
Followers
O modelo de gráfico foi atualizado!
Tutorials
Created 2016-07-26 09:47:34  Updated 2017-10-11 10:20:34
 16
 4934

O modelo de gráfico foi atualizado!

  • Para facilitar o uso das tabelas de status e tornar os dados exibidos mais organizados. Um novo recurso foi adicionado ao modelo de gráfico. É possível personalizar a exibição de informações na barra de status da política.

    Comece escrevendo as funções de exportação adicionadas, com uma descrição.
    • TV // global, que é responsável por gerenciar o conteúdo exibido na tabela, bem como o conteúdo modificado.
    • $.TableInit = function ((cols,rows) // Esta função de exportação é usada para initializar a tabela de colunas de estado, e pode ser declarada cols = [Valor],rows = [Numeral], depois passa os parâmetros das variáveis △cols//columns,rows//rows‬ para gerar automaticamente a tabela‬ e retorna o objeto TV, usado para escrever os dados na estratégia de referência do modelo‬.
    • $.UpdateLogStatus = function ((() // Esta função de exportação é usada para atualizar a tabela de coluna de status. Por exemplo: var table = $.TableInit (((6,5); após a execução, table.a0 = "aaaa"; e depois, chamando a função de exportação: $.UpdateLogStatus (((), você pode atualizar "aaaa" para a coluna a, linha 0。
    • Depois de configurar cols e rows, o coordenado da tabela é aproximadamente o seguinte: Quando você acessa diretamente a table.a0 (precedido por var table = $.TableInit (6,5);), você pode escrever a posição a0 da tabela a seguir. O número de colunas pode chegar até "z".
    • Nota: cabeçalho da tabela é a célula com as coordenadas a0,b0,c0...[O problema foi corrigido, e o cabeçalho da tabela pode ser o mesmo.
abcd...
0a0
1b1
2d2
3c3
4
5
6
7
8

img

  • O seguinte é o código de teste da função main no modelo:
//测试状态栏表格功能 var cols = 6;//列 var rows = 4;//行 $.TableInit(cols,rows);

img

  • Continuem a testar a funcionalidade:
/*测试状态栏表格功能*/ 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
Além do cabeçalho, todas as outras células têm a palavra "lalala".

  • Então, será que as células só podem ser escritas em strings? Vamos experimentar e ver como os dados podem ser escritos em arrays, valores, objetos, texto.
/*测试状态栏表格功能*/ 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

Este é um teste dentro de um modelo, veja abaixo as funções do modelo em uma estratégia de referência ao modelo:
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
A função foi atualizada temporariamente, por isso é bom que você teste, e se você tiver algum bug, por favor, faça comentários e deixe comentários.

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)