Type/to search
8
Follow
1370
Followers
Mẫu biểu đồ đã được nâng cấp!
Tutorials
Created 2016-07-26 09:47:34  Updated 2017-10-11 10:20:34
 16
 4934

Mẫu biểu đồ đã được nâng cấp!

  • Để dễ dàng sử dụng bảng trạng thái, hiển thị dữ liệu một cách có hệ thống hơn. Thêm một tính năng mới vào mẫu biểu đồ. Bạn có thể tùy chỉnh thông tin hiển thị trong bảng trạng thái chính sách.

    Trước tiên, hãy viết thêm các hàm xuất, và mô tả các hàm xuất.
    • TV // đối tượng toàn cầu, đối tượng toàn cầu này chịu trách nhiệm quản lý nội dung hiển thị bảng, và nội dung sửa đổi bảng.
    • $.TableInit = function ((cols,rows) // hàm xuất này được sử dụng để khởi tạo các bảng trục trạng thái, trước khi sử dụng nó, bạn có thể tuyên bố cols =[Số],rows =[Số giá trị], sau đó truyền các tham số thay đổi. cols / column, rows / row. tự động tạo bảng. Và trả lại đối tượng TV, được sử dụng để viết dữ liệu trong chiến lược tham khảo mẫu.
    • $.UpdateLogStatus = function() // hàm xuất này được sử dụng để cập nhật bảng trạng thái. Ví dụ: var table = $.TableInit(6,5); sau khi thực hiện table.a0 = "aaaa"; Sau đó gọi hàm xuất: $.UpdateLogStatus(), bạn có thể cập nhật "aaaa" vào cột a, dòng 0 ◦
    • Sau khi thiết lập cols, rows, tọa độ bảng có thể là như sau: khi sử dụng, truy cập trực tiếp vào table.a0 ((được gọi trước là var table = $.TableInit ((6,5);)) có thể được viết vào vị trí a0 của bảng sau: số cột tối đa là "z" 。
    • Lưu ý: Đầu bảng là các ô có tọa độ a0,b0,c0...[Vấn đề này đã được khắc phục, các dữ liệu trên đầu bảng sẽ được giữ nguyên.]
abcd...
0a0
1b1
2d2
3c3
4
5
6
7
8

img

  • Dưới đây là mã kiểm tra hàm main trong mẫu:
//测试状态栏表格功能 var cols = 6;//列 var rows = 4;//行 $.TableInit(cols,rows);

img

  • Tiếp tục thử nghiệm:
/*测试状态栏表格功能*/ 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
Ngoài các dữ liệu được viết riêng trên đầu trang, các ô khác đều được viết thành chuỗi "lalala".

  • Chúng ta có thể thử nghiệm và xem các dữ liệu như là số, giá trị, đối tượng, văn bản được viết như thế nào?
/*测试状态栏表格功能*/ 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

Sau đây là các bài kiểm tra bên trong mẫu, sau đây là các bài kiểm tra về chức năng của mẫu trong các chiến lược tham khảo mẫu:
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
Đây là một bản cập nhật tạm thời, xin vui lòng thử nghiệm, nếu bạn có lỗi xin vui lòng đề xuất, và để lại bình luận.

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)