5. 股票投資-KD 技術指標計算系統
using System.Linq;
namespace Q5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
private void button1_Click(object sender, EventArgs e)
{ // C:\Users\User\source\repos\97\Q5\a.txt
var txt = File.ReadAllText(textBox1.Text);
var data = txt.Split("\r\n").Select(
e => e.Split(" ").Select(double.Parse).ToArray()).ToArray();
//string s = "";
//for (int x = 0; x < data.Length; x++)
//{
// for (int y = 0; y < data[x].Length; y++)
// {
// }
//}
var k8 = double.Parse(textBox4.Text);
var d8 = double.Parse(textBox3.Text);
var k = new double[12];
k[7] = k8;
var d = new double[12];
d[7] = d8;
for (int i = 8; i <= 11; i++)
{
var c = data[2][i] - data[1][0..(i + 1)].Min();
var m = data[0][0..(i + 1)].Max() -
data[1][0..(i + 1)].Min();
var rsv = c / m * 100;
k[i] = k[i - 1] * 2 / 3 + rsv / 3;
d[i] = d[i - 1] * 2 / 3 + k[i] / 3;
}
string output = "";
for (int i = 7; i <= 11; i++)
{
output += $"{k[i]:f2} ";
}
output = output.Substring(0,output.Length-1);
output += "\n";
for (int i = 7; i <= 11; i++)
{
output += $"{d[i]:f2} ";
}
output = output.Substring(0, output.Length - 1);
File.WriteAllText(textBox2.Text, output);
}
}
}
Last updated