comparison src/fx/fx.go @ 33:90659c7171ed

add magicpacket.go
author pyon@macmini
date Tue, 13 Aug 2019 19:55:10 +0900
parents a55c5a0cbd04
children
comparison
equal deleted inserted replaced
32:efa8836fd428 33:90659c7171ed
1 /*
2 fx.go: make MA/RSI/BB-Band graph
3 */
1 package main 4 package main
2 5
3 import ( 6 import (
4 "bytes" 7 "bytes"
5 "encoding/csv" 8 "encoding/csv"
11 "strconv" 14 "strconv"
12 "strings" 15 "strings"
13 ) 16 )
14 17
15 const debug = false 18 const debug = false
19 const ratefile = "./fx_result.csv"
16 20
17 func main() { 21 func main() {
18 n, m := 20, 14 22 n, m := 20, 14
19 var x, xl, xh []float64 23 var x, xl, xh []float64
20 var date []string 24 var date []string
21 25
22 // Read Exchange-data 26 // Read Exchange-data
23 content, err := ioutil.ReadFile("/Users/takayuki/Downloads/USDJPY.csv") 27 content, err := ioutil.ReadFile(ratefile)
24 if err != nil { 28 if err != nil {
25 log.Fatal(err) 29 log.Fatal(err)
26 } 30 }
27 31
28 r := csv.NewReader(bytes.NewReader(content)) 32 r := csv.NewReader(bytes.NewReader(content))
33 r.Comment = '#'
29 for { 34 for {
30 record, err := r.Read() 35 record, err := r.Read()
31 if err == io.EOF { 36 if err == io.EOF {
32 break 37 break
33 } 38 }
45 xl = append(xl, f) 50 xl = append(xl, f)
46 51
47 f, err = strconv.ParseFloat(record[2], 64) 52 f, err = strconv.ParseFloat(record[2], 64)
48 xh = append(xh, f) 53 xh = append(xh, f)
49 54
50 date = append(date, strings.ReplaceAll(record[0], "/", "-")) 55 date = append(date, record[0])
51 } 56 }
52 57
53 // Calc Moving-Average 58 // Calc Moving-Average
54 xa := make([]float64, len(x)) 59 xa := make([]float64, len(x))
55 for i := n; i < len(x); i++ { 60 for i := n; i < len(x); i++ {
171 if err := ioutil.WriteFile("fx.html", []byte(html), 0644); err != nil { 176 if err := ioutil.WriteFile("fx.html", []byte(html), 0644); err != nil {
172 log.Fatal(err) 177 log.Fatal(err)
173 } 178 }
174 179
175 // Print Data 180 // Print Data
176 if false { 181 if debug {
177 fmt.Println("[j] n x bb1 bb2 rsi | n x bb1 bb2") 182 fmt.Println("[j] n x bb1 bb2 rsi | n x bb1 bb2")
178 fmt.Println("---") 183 fmt.Println("---")
179 for i, j := len(x) - term, 0; i < len(x); i++ { 184 for i, j := len(x) - term, 0; i < len(x); i++ {
180 fmt.Printf("[%04d] %04d %5.2f %5.2f %5.2f %3.1f | ", j, i, x[i], bb1[i], bb2[i], rsi[i]) 185 fmt.Printf("[%04d] %04d %5.2f %5.2f %5.2f %3.1f | ", j, i, x[i], bb1[i], bb2[i], rsi[i])
181 fmt.Printf("%04.0f %5.2f %5.2f %5.2f ", float64(i) * sx, (x[i] - min) * sy, (bb1[i] - min) * sy, (bb2[i] - min) * sy) 186 fmt.Printf("%04.0f %5.2f %5.2f %5.2f ", float64(i) * sx, (x[i] - min) * sy, (bb1[i] - min) * sy, (bb2[i] - min) * sy)