Merge branch 'feature/V1.1' of http://222.96.13.116/Million into feature/V1.1
This commit is contained in:
@@ -438,50 +438,64 @@ namespace Million_Hunter.HunterSubForm
|
||||
|
||||
var lowAverArr = new List<double>();
|
||||
var lowAverPlusArr = new List<double>();
|
||||
|
||||
foreach (var analysis in parentForm._analysisDatas)
|
||||
{
|
||||
var chartStartDate = analysis.StartDate;
|
||||
var chartEndDate = analysis.EndDate;
|
||||
|
||||
var data = DbServiceFunctions.GetCandleData(analysis.OriginalSearchResult.MarketData, chartStartDate, chartEndDate, CommonProperty.MCandleTimeType.M1);
|
||||
|
||||
var selData = data.CandleDataLists_Im.Where(x => x.DateTime > chartStartDate && x.DateTime < chartEndDate).ToList();
|
||||
|
||||
if (selData.Count != 0)
|
||||
if(analysis.BuyValue >= analysis.SellValue)
|
||||
{
|
||||
|
||||
|
||||
var lowValue = selData.Min(x => x.LowValue);
|
||||
if (analysis.BuyValue < analysis.SellValue)
|
||||
{
|
||||
lowAverPlusArr.Add((analysis.BuyValue - lowValue) / analysis.BuyValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
lowAverArr.Add((analysis.BuyValue - lowValue) / analysis.BuyValue);
|
||||
}
|
||||
lowAverPlusArr.Add((analysis.SellValue - analysis.BuyValue) / analysis.BuyValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
lowAverArr.Add((analysis.SellValue - analysis.BuyValue) / analysis.BuyValue);
|
||||
}
|
||||
|
||||
UIController.next(this, progressBar1);
|
||||
}
|
||||
|
||||
double aver = 0.0;
|
||||
foreach(var low in lowAverArr)
|
||||
{
|
||||
aver += low;
|
||||
|
||||
/*
|
||||
foreach (var analysis in parentForm._analysisDatas)
|
||||
{
|
||||
var chartStartDate = analysis.StartDate;
|
||||
var chartEndDate = analysis.EndDate;
|
||||
|
||||
var data = DbServiceFunctions.GetCandleData(analysis.OriginalSearchResult.MarketData, chartStartDate, chartEndDate, CommonProperty.MCandleTimeType.M1);
|
||||
|
||||
var selData = data.CandleDataLists_Im.Where(x => x.DateTime > chartStartDate && x.DateTime < chartEndDate).ToList();
|
||||
|
||||
if (selData.Count != 0)
|
||||
{
|
||||
|
||||
|
||||
var lowValue = selData.Min(x => x.LowValue);
|
||||
if (analysis.BuyValue < analysis.SellValue)
|
||||
{
|
||||
lowAverPlusArr.Add((analysis.BuyValue - lowValue) / analysis.BuyValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
lowAverArr.Add((analysis.BuyValue - lowValue) / analysis.BuyValue);
|
||||
}
|
||||
}
|
||||
|
||||
UIController.next(this, progressBar1);
|
||||
}
|
||||
*/
|
||||
double aver = 0.0;
|
||||
foreach(var low in lowAverArr)
|
||||
{
|
||||
aver += low;
|
||||
}
|
||||
aver = aver / lowAverArr.Count;
|
||||
|
||||
double aver2 = 0.0;
|
||||
foreach (var low in lowAverPlusArr)
|
||||
{
|
||||
aver2 += low;
|
||||
}
|
||||
aver2 = aver2 / lowAverPlusArr.Count;
|
||||
|
||||
aver.ToString();
|
||||
|
||||
}
|
||||
aver = aver / lowAverArr.Count;
|
||||
|
||||
double aver2 = 0.0;
|
||||
foreach (var low in lowAverPlusArr)
|
||||
{
|
||||
aver2 += low;
|
||||
}
|
||||
aver2 = aver2 / lowAverPlusArr.Count;
|
||||
|
||||
aver.ToString();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ using static Million.CommonProperty;
|
||||
|
||||
namespace Million.IndicatorConditionSetup
|
||||
{
|
||||
[Serializable]
|
||||
/// <summary>
|
||||
/// Compare 조건식
|
||||
/// </summary>
|
||||
|
||||
54
Million/Manager/ExcelExport.cs
Normal file
54
Million/Manager/ExcelExport.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
|
||||
using DocumentFormat.OpenXml;
|
||||
using DocumentFormat.OpenXml.Packaging;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Million.Manager
|
||||
{
|
||||
public static class ExcelExport
|
||||
{
|
||||
|
||||
public static void export(String path ,List<Dictionary<string,object>> data)
|
||||
{
|
||||
using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(path, SpreadsheetDocumentType.Workbook))
|
||||
{
|
||||
// WorkbookPart 객체를 만듭니다.
|
||||
WorkbookPart workbookPart = spreadsheetDocument.AddWorkbookPart();
|
||||
workbookPart.Workbook = new Workbook();
|
||||
|
||||
// WorksheetPart 객체를 만듭니다.
|
||||
WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
|
||||
worksheetPart.Worksheet = new Worksheet(new SheetData());
|
||||
|
||||
// Sheet 객체를 만듭니다.
|
||||
Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets());
|
||||
Sheet sheet = new Sheet() { Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "Sheet1" };
|
||||
sheets.Append(sheet);
|
||||
|
||||
// 데이터를 출력합니다.
|
||||
SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
|
||||
Row headerRow = new Row();
|
||||
foreach (string key in data.First().Keys)
|
||||
{
|
||||
headerRow.AppendChild(new Cell() { CellValue = new CellValue(key), DataType = CellValues.String });
|
||||
}
|
||||
sheetData.AppendChild(headerRow);
|
||||
|
||||
foreach (var row in data)
|
||||
{
|
||||
Row dataRow = new Row();
|
||||
foreach (var key in row.Keys)
|
||||
{
|
||||
dataRow.AppendChild(new Cell() { CellValue = new CellValue(row[key].ToString()), DataType = CellValues.String });
|
||||
}
|
||||
sheetData.AppendChild(dataRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -194,6 +194,7 @@
|
||||
<Compile Include="Manager\BuyLogicManager.cs" />
|
||||
<Compile Include="Manager\CalculateManager.cs" />
|
||||
<Compile Include="Manager\DataManager.cs" />
|
||||
<Compile Include="Manager\ExcelExport.cs" />
|
||||
<Compile Include="Manager\IndicatorSetupManager.cs" />
|
||||
<Compile Include="Manager\InitManager.cs" />
|
||||
<Compile Include="Manager\InteratorScripter.cs" />
|
||||
|
||||
Reference in New Issue
Block a user