avatar of 发明者量化-小小梦 发明者量化-小小梦
پر توجہ دیں نجی پیغام
4
پر توجہ دیں
1271
پیروکار

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

میں تخلیق کیا: 2017-06-13 15:24:05, تازہ کاری: 2024-09-10 14:06:33
comments   22
hits   3888

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

  • #### API دستاویزات میں وضاحت
  // 也可以构造一个按钮在表格中, 策略用GetCommand接收cmd属性的内容
  var table = {
      type: 'table',
      title: '持仓操作',
      cols: ['列1', '列2', 'Action'],
      rows: [
          ['abc', 'def', {'type':'button', 'cmd': 'coverAll', 'name': '平仓'}],
      ]
  };
  LogStatus('`' + JSON.stringify(table) + '`')
  // 或者构造一单独的按钮
  LogStatus('`' + JSON.stringify({'type':'button', 'cmd': 'coverAll', 'name': '平仓'}) + '`')
  // 可以自定义按钮风格(bootstrap的按钮属性)
  LogStatus('`' + JSON.stringify({'type':'button', 'class': 'btn btn-xs btn-danger', 'cmd': 'coverAll', 'name': '平仓'}) + '`')

API دستاویز میں ٹیبلز، سٹرنگز، تصاویر، گرافس وغیرہ کو پالیسی کی حیثیت والے ٹیب میں دیکھا جاسکتا ہے۔ یہ API فنکشن: کو کال کرکے دکھایا جاتا ہے۔LogStatusکیا آپ جانتے ہیں؟ ہم JSON ڈیٹا کی تعمیر کے ذریعے ایک انٹرایکٹو بٹن بھی ترتیب دے سکتے ہیں۔

  • #### ڈیمو:
  function test1(p) {
      Log("调用自定义函数,参数:", p);
      return p;
  }
  function main() {
      while (true) {
          var table = {
              type: 'table',
              title: '持仓操作',
              cols: ['列1', '列2', 'Action'],
              rows: [
                  ['a', '1', {
                      'type': 'button',                       // 显示按钮 必须要 把 type 设置为 button 类型
                      'cmd': "CoverAll",                      // 字符串,发送的 数据,由GetCommand()函数接受。
                      'name': '平仓'                           // 按钮上显示的名字
                  }],
                  ['b', '1', {
                      'type': 'button',
                      'cmd': 10,                              // 数值
                      'name': '发送数值'
                  }],
                  ['c', '1', {
                      'type': 'button',
                      'cmd': _D(),                            // 函数 策略运行 期间会一直调用
                      'name': '调用函数'
                  }],
                  ['d', '1', {
                      'type': 'button',
                      'cmd': 'JScode:test1("ceshi")',       // 字符串, 用于执行的 JS 代码。
                      'name': '发送JS代码'
                  }]
              ]
          };
          LogStatus('`' + JSON.stringify(table) + '`')

          var str_cmd = GetCommand();
          if (str_cmd) {
              Log("接收到的交互数据 str_cmd:", "类型:", typeof(str_cmd), "值:", str_cmd);
          }

          if (str_cmd && str_cmd.split(':', 2)[0] == "JScode") {          // 判断是否有消息
              var js = str_cmd.split(':', 2)[1];                          // 分割 返回的消息 字符串, 限制返回2个, 把索引为1的 元素 赋值给 名为js 的变量 
              Log("执行调试代码:", js);                                     // 输出 执行的代码
              try {                                                       // 异常检测
                  eval(js);                                               // 执行 eval函数, 该函数执行传入的参数(代码)。
              } catch (e) {                                               // 抛出异常
                  Log("Exception", e);                                    // 输出错误信息
              }
          }

          Sleep(500);
      }
  }

### اگر ہم عملی طور پر اس پر عمل کرتے ہیں تو ، حکمت عملی اس طرح کام کرتی ہے۔

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

### ہم اسٹیٹس ٹیب پر ایک بٹن پر کلک کر سکتے ہیں جو کہ اسٹیٹس ٹیب میں موجود ایک بٹن پر کلک کرتا ہے جو کہ انٹرایکشن کو ٹرگر کرتا ہے، اور ہم اسٹیٹس ٹیب پر کلک کر سکتے ہیں جو کہ لائیو سٹوریج ٹیب پر کلک کرتا ہے، اور پھر ہم اسٹیٹس ٹیب پر کلک کر سکتے ہیں جو کہ لائیو سٹوریج ٹیب پر کلک کرتا ہے، اور پھر ہم اسٹیٹس ٹیب پر کلک کر سکتے ہیں جو کہ لائیو سٹوریج ٹیب پر کلک کرتا ہے، اور پھر ہم اسٹیٹس ٹیب پر کلک کر سکتے ہیں جو کہ لائیو سٹوریج ٹیب پر کلک کرتا ہے، اور پھر ہم اسٹیٹس ٹیب پر کلک کر سکتے ہیں جو کہ لائیو سٹوریج ٹیب پر کلک کرتا ہے۔

اس کے علاوہ، جب آپ “مستحکم” بٹن پر کلک کریں گے تو آپ کو ایک پیغام مل جائے گا:

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

  > 但是点击  “发送数值” 的时候就不行了,原因是[ ```'cmd': 10,                              // 数值``` ]这里是 10  。不能发送数值类型。

  ![اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں](/upload/asset/2d8e0f86599f1b82da792544b7b840bc824d4a96.png) 
  # 已经优化 兼容了 数值,返回的 为数值形式的 字符串。

### اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن، اور پھر ہم پر کلک کریں فونٹ کال کرنے کا بٹن_D (() فنکشن،_D ((() فنکشن مسلسل موجودہ وقت کی سٹرنگ واپس کرتا ہے ، لہذا اگر یہاں فنکشن کال لکھیں تو ، یہ مسلسل کال کرے گا۔

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

اس کے علاوہ، یہ بھی معلوم ہوتا ہے کہ اس نے کیا کیا ہے.

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

### آخر میں ہم پر کلک کریں جے ایس کوڈ بھیجیں بٹن اور ہم اپنی مرضی کے مطابق افعال کو انجام دے سکتے ہیں جو ہمارے کوڈ میں استعمال کیا جاتا ہے

  function test1(p) {
      Log("调用自定义函数,参数:", p);
      return p;
  }

بٹن پر کلک کریں:

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

آپ دیکھ سکتے ہیں کہ آپ نے test1 میں کیا کیا ہےLog("调用自定义函数,参数:", p);جملے

  • #### کوڈ میں داخل کریں'class': 'btn btn-xs btn-danger',اسٹائل بٹن کی ظاہری شکل کو تبدیل کر سکتا ہے۔

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

اسٹریٹجی اسٹیٹس بار میں انٹرایکٹو بٹن فنکشن بنائیں

کیا آپ کو لگتا ہے کہ آپ کے لئے یہ آسان نہیں ہے؟