Type/to search
8
Follow
1375
Followers
Comment utiliser le modèle « Bibliothèque de dessins au trait » pour dessiner deux axes Y
Tutorials
Created 2017-04-07 14:14:29  Updated 2017-10-11 10:26:42
 9
 3901

Comment utiliser le modèle d'archives de classes de lignes à dessiner

  • Vous pouvez le copier.画线类库Ce modèle est placé dans son propre centre de contrôle.

画线类库 简化了策略图表画线的逻辑, 可以直接调用封装好的函数 支持画多条线 支持K线图 支持flag小图标 你也可以添加更多图形的支持 function main() { var isFirst = true while (true) { var records = exchange.GetRecords(); if (records && records.length > 0) { $.PlotRecords(records, 'BTC') if (isFirst) { $.PlotFlag(records[records.length-1].Time, 'Start', 'S') isFirst = false } } var ticker = exchange.GetTicker() if (ticker) { $.PlotLine('Last', ticker.Last) $.PlotTitle('Last ' + ticker.Last) } Sleep(60000) } }

Voici les problèmes que vous pourriez rencontrer lorsque vous utilisez le modèle de la classe de la galerie de lignes de collage:

img

La raison en est que l'indicateur MACD calculé est trop petit, et que le prix du contrat Bitcoin partage un axe Y. Cela se produit sur le graphique, l'indicateur est très bas et le prix de la ligne K est très élevé, ce qui signifie que les parties respectives ne sont pas affichées trop petites.

La solution est d'ajouter un axe Y au graphique pour afficher séparément la ligne d'indicateur.

var preTime = 0; var ChartObj = null; function main(){ LogReset(1); ChartObj = Chart(null); ChartObj.reset(); var records = null; var MACD = null; exchange.SetContractType("quarter"); // Log(exchange.GetUSDCNY()); // exchange.SetRate(exchange.GetUSDCNY()); exchange.SetRate(1); ChartObj = $.GetCfg(); ///* // 处理 指标轴------------------------ ChartObj.yAxis = [{ title: {text: 'K线'},//标题 style: {color: '#4572A7'},//样式 opposite: false //生成右边Y轴 }, { title:{text: "指标轴"}, opposite: true, //生成右边Y轴 ceshi } ]; // 初始化指标线 while(!records || records.length < 30){ records = _C(exchange.GetRecords); LogStatus("records.length:", records.length); Sleep(1000); } $.PlotRecords(records, 'OK期货'); $.PlotLine('dif', 0, records[records.length - 1].Time); $.PlotLine('dea', 0, records[records.length - 1].Time); var chart = $.PlotLine('macd', 0, records[records.length - 1].Time); // 修改指标线 坐标轴Y轴 for(var key in ChartObj.series){ if(ChartObj.series[key].name == 'dif' || ChartObj.series[key].name == 'dea' || ChartObj.series[key].name == 'macd'){ ChartObj.series[key].yAxis = 1; } } chart.update(ChartObj); chart.reset(); //*/ while(true){ records = _C(exchange.GetRecords); if(records.length > 50){ $.PlotRecords(records, 'OK期货'); MACD = TA.MACD(records); var dif = MACD[0]; var dea = MACD[1]; var macd = MACD[2]; if(preTime !== records[records.length - 1].Time){ $.PlotLine('dif', dif[dif.length - 2], records[records.length - 2].Time); $.PlotLine('dea', dea[dea.length - 2], records[records.length - 2].Time); $.PlotLine('macd', macd[macd.length - 2], records[records.length - 2].Time); $.PlotLine('dif', dif[dif.length - 1], records[records.length - 1].Time); $.PlotLine('dea', dea[dea.length - 1], records[records.length - 1].Time); $.PlotLine('macd', macd[macd.length - 1], records[records.length - 1].Time); preTime = records[records.length - 1].Time; }else{ $.PlotLine('dif', dif[dif.length - 1], records[records.length - 1].Time); $.PlotLine('dea', dea[dea.length - 1], records[records.length - 1].Time); $.PlotLine('macd', macd[macd.length - 1], records[records.length - 1].Time); } } LogStatus("records.length:", records.length, records[records.length - 1]); // Log(records[records.length - 1]); Sleep(1000); } }

Vous vous souvenez quand vous avez testé img

Une vidéo de présentation:

img

Related Recommendations
Comment
All comments (9)

    。。。一周只是写代码的时间,前期学了几个多月都没敢动代码

    9 years ago

    问题已解决

    9 years ago

    非常感谢! img
    差不多一个星期了,终于写出可视化简易版,单纯搬砖收益1%,总收益为负的搬砖代码了

    9 years ago

    一个星期 速度 很快了 666

    9 years ago

    每次都要开启页面泡一会儿才能知道 图标化的数据信息

    9 years ago

    哦 ? 这...?

    9 years ago

    非常感谢,纯搬砖收益我会计算了,但是这个策略图就不能保存历史信息么,我为什么每次刷新页面,这个图表都会初始化。

    9 years ago

    BotVS 上的 机器人 的图表是 永久保存在日志 数据库的,在你的托管者 本地, 如果被清除了 您看下是不是 您代码里面有初始化 清除 图表的代码。

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