明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2697|回复: 5

[基础] [求助] 自己的一个画股市K线图的小程序。请高手指教帮优化

[复制链接]
发表于 2010-7-15 16:04 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-7-15 22:16:48 编辑

  1. (defun  c:htt( / x0 op co hh ll vv xop xco xhh xll xvv )
  2. (setq tt 0)
  3. (while (= tt 0)
  4. (setq x0 (getint  "输入日期坐标值"))  ;用于定位横坐标、原想直接通过计算当天日期得到,后无法实现
  5. (setq op (getint  "开盘价 :"))
  6. (setq co (getint  "收盘价  :"))
  7. (setq hh (getint  "最高价  :"))
  8. (setq ll (getint   "最低价 :"))
  9. (setq vv (getint   "成交量  :"))
  10. (setq xop (list x0 op))
  11. (setq xco (list x0 co))
  12. (setq xhh (list x0 hh))
  13. (setq xll (list x0 ll))
  14. (setq xvv (list (+ 1 x0) (- ll 10)))
  15. (command "pline"  xop “w” 2  xco "") ;设置多线宽2 
  16. (command "line" xhh  xll "" )
  17. (command "text" xvv  2 90 vv "" )
  18. (setq tt  (getint  " 0 继续/其他退出 : "))
  19.   )
  20. )


个人感觉程序很不优化。请高手帮优化一下。

另外希望能够增加 。自动判断,是红线还是绿线。然后自动画出红、绿线来。
自己想应该是判断开盘与收盘。然后通过画在不同图层上来实现,不知道行不?能有高手有简便方法,帮讲解一下,最好有源码。谢谢!

另外,一直想通过LISP  直接读 TXT  数据实现多天的绘图功能,但不知道读文件后是一整串 字符,如何来应用
就是日期、开盘、收盘、最高、最低、量
 楼主| 发表于 2010-7-16 00:41 | 显示全部楼层
  1. (defun  c:htt( / x0 op co hh ll vv xop xco xhh xll xvv )
  2. (setq tt 0)
  3. (while (= tt 0)
  4. (setq x0 (getint  "输入日期坐标值"))
  5. (setq op (getint  "开盘价 :"))
  6. (setq co (getint  "收盘价  :"))
  7. (setq hh (getint  "最高价  :"))
  8. (setq ll (getint   "最低价 :"))
  9. (setq vv (getint   "成交量  :"))
  10. (setq xop (list x0 op))
  11. (setq xco (list x0 co))
  12. (setq xhh (list x0 hh))
  13. (setq xll (list x0 ll))
  14. (setq xvv (list (+ 1 x0) (- ll 10)))
  15. (if (< op co)  (command "layer" "s" "red" "" )
  16.   (command "layer" "s" "blue" "" ) )
  17. (command "pline"  xop  "w"  2 2  xco "")
  18. (command "line" xhh  xll "" )
  19. (command "text" xvv  2 90 vv "" )
  20. (setq tt  (getint  " 0 继续/其他退出 : "))
  21.   )
  22. )

提前设置 RED图层 并定为红色。BLUE图层并定为蓝色。运行程序通过
发表于 2010-7-16 08:29 | 显示全部楼层

"一直想通过LISP  直接读 TXT  数据实现多天的绘图功能,但不知道读文件后是一整串 字符...."

能够做到,但要看txt文件的具体格式

 

发表于 2010-7-16 12:15 | 显示全部楼层
没想到cad还可以做股票
 楼主| 发表于 2010-7-16 23:58 | 显示全部楼层
0 984 1003 979 1003 1476
6 1003 1008 992 995 2005年04月11日 1593
8 993 993 978 978 1022
10 988 1006 988 1000 1607
12 1004 1006 985 987 1294
14 982 982 971 974 1040
20 970 970 958 963 2005年04月18日 859
22 962 968 957 965 921
24 964 964 946 950 885

横坐标  开盘 最高 最低 收盘 成交量
  1. (setq dat_file (getfiled "展点范例" "g:\\399" "txt" 2))
  2.     (setq ff (open dat_file "r"))
  3.     (setq data (read-line ff))
  4.     (while data
  5. (setq data1 data x0 0 op 0 co 0 high 0 low 0 tx "0" xop() xvv() xco() xhh() xll() )
  6. (setq x0 (read data1))
  7. (setq data1 (vl-string-left-trim (itoa x0) data1))
  8. ;(setq data1 (vl-string-left-trim " " data1))
  9. (setq op (read data1))
  10. (setq data1 (vl-string-left-trim " " data1))
  11. (setq data1 (vl-string-left-trim (itoa op) data1))
  12. (setq high (read data1))
  13. (setq data1 (vl-string-left-trim " " data1))
  14. (setq data1 (vl-string-left-trim (itoa high) data1))
  15. (setq low (read data1))
  16. (setq data1 (vl-string-left-trim " " data1))
  17. (setq data1 (vl-string-left-trim (itoa low) data1))
  18. (setq co (read data1))
  19. (setq data1 (vl-string-left-trim " " data1))
  20. (setq data1 (vl-string-left-trim (itoa co) data1))
  21. (setq tx (vl-string-left-trim " " data1))
  22. (setq xop (list x0 op))
  23. (setq xco (list x0 co))
  24. (setq xhh (list x0 high))
  25. (setq xll (list x0 low))
  26. (setq xvv (list (- x0 1) (- low 10)))
  27. (if (< op co)
  28.      (command "layer" "s" "399red" "")
  29.      
  30.      (command "layer" "s" "399blue" "")
  31.      ) ;_ 结束if
  32. (command "pline" xco   xop "")
  33. (command "line" xhh xll "")
  34. (command "text" xvv 2 270 tx "")
  35. (setq data (read-line ff))
  36. ) ;_ 结束while
  37.     (close ff)
  38.     (prin1)
  39.     ;(prompt "<< 10TEST2>>自动展点串行技巧程序")
  40.     (prin1)
  41.     ;(setvar "cmdecho" 1)

单步走的时候是对的。但循环一次后,数据就乱了???
发表于 2010-7-19 13:16 | 显示全部楼层
关捕捉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 19:08 , Processed in 0.280762 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表