public void SARThread() { GetHSIData getHSIData = new GetHSIData(); Thread thread = new Thread(new ThreadStart(getHSIData.Run)); thread.Start(); }
private void sar(object sender, EventArgs e) { GetHSIData getHSIData = new GetHSIData(); List <HSIFutures> findByTime = getHSIData.GetHSIDataList(); List <HSIFutures> positiveData = new List <HSIFutures>(); //排序后的数组 for (int i = findByTime.Count - 1; i >= 0; i--) //此方法为排序方法 { positiveData.Add(findByTime[i]); } //for (int i = 0; i < positiveData.Count; i++) //{ // string data = "时间" + positiveData[i].GetDate(); // Spcommon.APIDLL.output(data); //} SAR sar = new SAR(); float step = float.Parse(textBox3.Text); float maxStep = float.Parse(textBox4.Text); List <Double> sarList = sar.getSARLineDatas(positiveData, step, maxStep); List <int> buy = new List <int>(); List <int> sell = new List <int>(); int number = 0; for (int i = 1; i < positiveData.Count(); i++) { if (positiveData[i - 1].GetClose() <= sarList[i - 1]) { if (positiveData[i].GetClose() > sarList[i] && number % 2 == 0) { buy.Add(i); number++; } } if (positiveData[i - 1].GetClose() >= sarList[i - 1]) { if (positiveData[i].GetClose() < sarList[i] && number % 2 != 0) { sell.Add(i); number++; } } } String data = sarList.Count() + "######################" + positiveData.Count() + "##################################"; Spcommon.APIDLL.output(data); for (int i = 0; i < sell.Count(); i++) { String data1 = "买的信号" + positiveData[buy[i]].GetDate() + "--" + "卖的信号" + positiveData[sell[i]].GetDate(); Spcommon.APIDLL.output(data1); } }