چارٹ ٹیمپلیٹ کو اپ گریڈ کر دیا گیا ہے!
-
اسٹیٹس ٹیبل کو استعمال کرنے میں آسانی کے لئے ، ظاہر کردہ اعداد و شمار کو زیادہ منظم بنائیں۔ چارٹ ٹیمپلیٹ میں ایک نئی خصوصیت شامل کی گئی ہے۔ یہ ہے کہ پالیسی اسٹیٹس ٹیبل میں معلومات ظاہر کرنے کے لئے اپنی مرضی کے مطابق کیا جاسکتا ہے۔ نئے طلباء کو اسٹیٹس ٹیبل آبجیکٹ کی تشکیل کرنے کی ضرورت نہیں ہے۔
اس کے بعد آپ کو ایک اضافی برآمد تقریب لکھنے کی ضرورت ہے، اس کے ساتھ ساتھ اس کی تفصیلات بھی۔
- ٹی وی // گلوبل آبجیکٹ ، یہ گلوبل آبجیکٹ اس بات کا انتظام کرتا ہے کہ ٹیبل میں کیا دکھایا جاتا ہے ، اور اس میں ترمیم کرنے کے لئے بھی۔ (یہ ٹیمپلیٹ کے اندر ایک عالمی متغیر ہے ، جس میں ٹیمپلیٹ کی پالیسی تک رسائی نہیں ہے)
- $.TableInit = function(cols,rows) // یہ ایکسپورٹ فنکشن اسٹیٹ ٹیبل کو شروع کرنے کے لئے استعمال کیا جاتا ہے ، اس کا استعمال کرنے سے پہلے cols = کا اعلان کیا جاسکتا ہے۔[صفیں = [اعداد و شمار] ، پھر متغیر پیرامیٹرز کو منتقل کریں۔ cols / column ، rows / row۔ ٹیبل خود بخود پیدا کریں۔ اور ٹی وی آبجیکٹ کو واپس کریں ، جو ٹیمپلیٹ کی حوالہ دینے والی حکمت عملی میں ڈیٹا لکھنے کے لئے استعمال کیا جاتا ہے۔
- $.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... کے سیل (ٹیبل سر)[اس مسئلے کو درست کر دیا گیا ہے، اور اس کے ساتھ ہی اعداد و شمار کی فہرست میں تبدیلی کی جا سکتی ہے۔]
| a | b | c | d | ... | |
|---|---|---|---|---|---|
| 0 | a0 | ||||
| 1 | b1 | ||||
| 2 | d2 | ||||
| 3 | c3 | ||||
| 4 | |||||
| 5 | |||||
| 6 | |||||
| 7 | |||||
| 8 |
- ذیل میں ٹیمپلیٹ میں main فنکشن ٹیسٹ کوڈ ہے:
//测试状态栏表格功能
var cols = 6;//列
var rows = 4;//行
$.TableInit(cols,rows);
- اس کے علاوہ، آپ کو یہ بھی دیکھنا ہوگا کہ کیا آپ کے پاس اس کی صلاحیت ہے:
/*测试状态栏表格功能*/
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();//更新 状态栏表格

ٹیبل ہیڈ میں الگ سے لکھے گئے ڈیٹا کے علاوہ، دیگر سیلوں میں "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();//再次更新 状态栏表格
//*/
مندرجہ بالا ٹیمپلیٹ کے اندر ٹیسٹ ہے، ذیل میں ٹیمپلیٹ کے حوالے سے حکمت عملی میں ٹیسٹ کریں ٹیمپلیٹ کی خصوصیات:
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();
}

اس فیچر کو عارضی طور پر اپ ڈیٹ کیا گیا ہے، آپ کو اس کی جانچ پڑتال کرنے کا خیرمقدم کیا جاتا ہے، اگر آپ کے پاس کوئی بگ ہے تو براہ کرم اس کے بارے میں مزید معلومات فراہم کریں، اور اپنی پوسٹ پر تبصرہ کریں۔
回测正常,但模拟盘中却报错:
ReferenceError: identifier 'indicatorsName' undefined at [anon] (__FILE__:1388) at global (__FILE__:1694) preventsyield
测试了一下 ,可以的 ,您这个报错 我推测:
您是不是 直接复制的代码 在新建策略里面了, 这个模板有一些界面参数的。如果是只复制代码 ,这些参数 就需要手动配置下。
模板是这个帖子:https://www.botvs.com/strategy/20967
需要点击下面的 复制按钮。
我是通过点击复制并在线回测按钮复制的策略模板,然后我在自己的策略中也引用了这个模板,策略参数是正常显示的。
回测结果正常,然后我新建了一个机器人 B 测试也是正常的,证明策略本身没有问题。但不知道为何,就是在机器人 A 上会报错,两个机器人的配置也都一样,甚是诡异。
报错 看来 应该 是 indicatorsName 这个 参数 的问题 。这个参数 是个 界面参数 。
这样 , 您再 复制 一次 这个策略 用新复制的 创建个 机器人 跑下,看是否还报错。
- 1



