积累日常生活的点滴,开发过程的心得。

Flutter中ListView的性能优化窍门

Flutter的listview显示几千条的列表时,性能会很差,性能改善的方法是
1.使用ListView.builder来动态创建要显示的项目
2.如果列表中每一项都是定长的话,可以设定itemExtent属性,这会极大的改善列表的滚动性能.

Opencv仿射和透射变换的坐标变换

OpenCV里面通过getAffineTransform或者findTransformECC获取变形矩阵的饿时候会得到一个2x3或者3x3的变形矩阵,分别对应仿射矩阵和透视矩阵.

变形的时候如果想要算出原始图像坐标到目标图像的坐标的时候,可以使用下面方法计算

  1. if (matrixSize == 3)
  2. {
  3. //计算透视变换坐标
  4. double w= warp_matrix.at<float>(2, 0)*orgX + warp_matrix.at<float>(2, 1)*orgY + warp_matrix.at<float>(2, 2);
  5.  
  6. targetX = (warp_matrix.at<float>(0, 0)*orgX + warp_matrix.at<float>(0, 1)*orgY + warp_matrix.at<float>(0, 2))/w;
  7. targetY = (warp_matrix.at<float>(1, 0)*orgX + warp_matrix.at<float>(1, 1)*orgY + warp_matrix.at<float>(1, 2))/w;
  8. }
  9. else {
  10. //计算仿射变换坐标

spring boot程序莫名其妙被killed

感觉应该是内存不够的原因,参考下面文章加了swap的区域,到时试试看有没有改善
https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-o...

delphi程序在Android9下面显示Detect api compatibilty 错误的解决方法

这个错误是由于delphi使用了反射api调用java的方法,这个在android9下面会触发一个警告对话框,虽然没有什么实际影响,但是会让程序显得很业余.参考https://stackoverflow.com/questions/51210633/android-p-displaying-api-compatibility-error-message

写了一个自动关闭警告对话框的功能,例子见附件,吐槽一下EMB,本来想开个ticket,上传到quality portal,结果无法登陆.看错误信息也是一头雾水.只好贴到自己的博客了.

emb quality portal挂了,要等几天看看什么时候能修好了,现在网站是不是也是外包做的,好业余啊.

追记:10.3.1里面进行了修正

从3Band的卫星图像生成真彩色RGB图像

标准的卫星图像是3band或者8band的gtiff图像,用看图软件看的话,是全黑的图像,完全看不出东西来,需要做一下合并和缩放,参考下面的做法

https://gis.stackexchange.com/questions/244073/unable-to-convert-3-band-...

注意,上面方法渲染出来的图像跟QGis渲染的图像不一样,因为qgis默认用的是cumulative count cut方法进行的渲染.

https://gis.stackexchange.com/questions/278190/using-gdaldem-to-match-cu...

改成这种,出的图跟qgis就一样了.

调整磁盘的inode

写了一个小说网站,生成的静态文件大小都是4-8k之间,然后突然报告磁盘满了的错误,用df -h --total查看了一下,发现磁盘空间还有很多.但是df -i --total 发现inode被用光了,参考

http://blog.51cto.com/pynliu/1624120

用mkfs.ext4重新格式化了一个磁盘,调整了inode 值问题解决.

截断亏损,让利润奔跑,固定止盈还是移动止盈?

这个跟固定止盈还是移动止盈意思差不多.
从回溯结果来看,移动止盈拖长了交易时间,导致交易次数变少,总体收益反而减少.

盈亏=交易次数x胜率x盈亏比.

交易次数少,盈亏比增加的幅度很多时候收益不能cover损失的.
一天之中,满足交易策略的机会经常很少,一旦不能顺利止盈,会极大的影响交易次数.

交易次数减少一半,高的盈亏比也弥补不了.

突破压力阻力位胜率盈亏比?

其实跟新高不空,新低不多意思接近.

新高新低就是最简单的阻力位和支撑位

某一个周期的新高其实就是突破阻力位
某一个周期的新低就是突破支撑位.

回溯结果是这个规则是有道理的.收益率提升了50%

空最弱,多最强?

我们经常能看到某些操盘手说,操作期货时要多最强,空最弱.但是从回溯来看,并不是这样的.
回溯采用的BTC,ETH,XRP,ETC,LTC,DASH的5分钟数据线(20160815-20181204).每次都是多最强,空最弱的(1小时内),盈利3%止盈,亏1.5%止损.

运行结果是亏个精光

  1. import h5py
  2. import numpy as np
  3. import pandas as pd
  4. import matplotlib.pyplot as plt
  5.  
  6. #空最弱,多最强策略
  7.  
  8. history=None
  9. with h5py.File('coin_history_5min_6_20170815_20181204.h5', 'r') as f:
  10. history = f['history'][:]
  11. history= np.moveaxis(history, 0, -1)
  12. #btc,eth, xrp, etc, ltc,dash
  13. #coinxlenght*close high low open
  14.  
  15. offset=5*12
  16.  
  17. EMPTY=0
  18. LONG=1
  19. SHORT=2
  20.  
  21.  
  22. def reset_action():

坑爹的Android meta

定义了一个Android meta ,设定为一串数字的id,结果以字符串方式获取的时候,返回的是科学计数方式的字符串.

https://stackoverflow.com/questions/2154945/how-to-force-a-meta-data-val...

参考答案1做了修改,但是返回的字符串多了一个空格,要trim一下.

同步内容