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 lowAverArr = new List<double>();
|
||||||
var lowAverPlusArr = new List<double>();
|
var lowAverPlusArr = new List<double>();
|
||||||
|
|
||||||
foreach (var analysis in parentForm._analysisDatas)
|
foreach (var analysis in parentForm._analysisDatas)
|
||||||
{
|
{
|
||||||
var chartStartDate = analysis.StartDate;
|
if(analysis.BuyValue >= analysis.SellValue)
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
|
lowAverPlusArr.Add((analysis.SellValue - analysis.BuyValue) / analysis.BuyValue);
|
||||||
|
}
|
||||||
var lowValue = selData.Min(x => x.LowValue);
|
else
|
||||||
if (analysis.BuyValue < analysis.SellValue)
|
{
|
||||||
{
|
lowAverArr.Add((analysis.SellValue - analysis.BuyValue) / analysis.BuyValue);
|
||||||
lowAverPlusArr.Add((analysis.BuyValue - lowValue) / analysis.BuyValue);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
lowAverArr.Add((analysis.BuyValue - lowValue) / analysis.BuyValue);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UIController.next(this, progressBar1);
|
UIController.next(this, progressBar1);
|
||||||
}
|
}
|
||||||
|
|
||||||
double aver = 0.0;
|
|
||||||
foreach(var low in lowAverArr)
|
/*
|
||||||
{
|
foreach (var analysis in parentForm._analysisDatas)
|
||||||
aver += low;
|
{
|
||||||
|
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
|
namespace Million.IndicatorConditionSetup
|
||||||
{
|
{
|
||||||
|
[Serializable]
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Compare 조건식
|
/// Compare 조건식
|
||||||
/// </summary>
|
/// </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\BuyLogicManager.cs" />
|
||||||
<Compile Include="Manager\CalculateManager.cs" />
|
<Compile Include="Manager\CalculateManager.cs" />
|
||||||
<Compile Include="Manager\DataManager.cs" />
|
<Compile Include="Manager\DataManager.cs" />
|
||||||
|
<Compile Include="Manager\ExcelExport.cs" />
|
||||||
<Compile Include="Manager\IndicatorSetupManager.cs" />
|
<Compile Include="Manager\IndicatorSetupManager.cs" />
|
||||||
<Compile Include="Manager\InitManager.cs" />
|
<Compile Include="Manager\InitManager.cs" />
|
||||||
<Compile Include="Manager\InteratorScripter.cs" />
|
<Compile Include="Manager\InteratorScripter.cs" />
|
||||||
|
|||||||
Reference in New Issue
Block a user