검증 폼 수정
This commit is contained in:
@@ -68,11 +68,13 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.treeListColumn_AnalysisDescrption = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn_OriginalData = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
|
||||
this.labelControl_WinRateProfitRate = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl1 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.textEdit_Description = new DevExpress.XtraEditors.TextEdit();
|
||||
this.simpleButton_WinRateProfitRate = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_resetData = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_LoadAnalysisResultData = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_SavaAnalysisData = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.simpleButton_resetData = new DevExpress.XtraEditors.SimpleButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.panelControl_IndicatorCondition)).BeginInit();
|
||||
this.panelControl_IndicatorCondition.SuspendLayout();
|
||||
this.groupBox_.SuspendLayout();
|
||||
@@ -391,10 +393,12 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.treeList_ResultData.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.treeList_ResultData.Location = new System.Drawing.Point(0, 275);
|
||||
this.treeList_ResultData.Name = "treeList_ResultData";
|
||||
this.treeList_ResultData.OptionsSelection.MultiSelect = true;
|
||||
this.treeList_ResultData.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
|
||||
this.repositoryItemCheckEdit_Inclustion});
|
||||
this.treeList_ResultData.Size = new System.Drawing.Size(1271, 636);
|
||||
this.treeList_ResultData.TabIndex = 5;
|
||||
this.treeList_ResultData.SelectionChanged += new System.EventHandler(this.treeList_ResultData_SelectionChanged);
|
||||
this.treeList_ResultData.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.treeList_ResultData_MouseDoubleClick);
|
||||
//
|
||||
// treeListColumn_Inclusion
|
||||
@@ -605,8 +609,10 @@ namespace Million_Hunter.HunterSubForm
|
||||
//
|
||||
// panelControl1
|
||||
//
|
||||
this.panelControl1.Controls.Add(this.labelControl_WinRateProfitRate);
|
||||
this.panelControl1.Controls.Add(this.labelControl1);
|
||||
this.panelControl1.Controls.Add(this.textEdit_Description);
|
||||
this.panelControl1.Controls.Add(this.simpleButton_WinRateProfitRate);
|
||||
this.panelControl1.Controls.Add(this.simpleButton_resetData);
|
||||
this.panelControl1.Controls.Add(this.simpleButton_LoadAnalysisResultData);
|
||||
this.panelControl1.Controls.Add(this.simpleButton_SavaAnalysisData);
|
||||
@@ -616,10 +622,19 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.panelControl1.Size = new System.Drawing.Size(1271, 44);
|
||||
this.panelControl1.TabIndex = 4;
|
||||
//
|
||||
// labelControl_WinRateProfitRate
|
||||
//
|
||||
this.labelControl_WinRateProfitRate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.labelControl_WinRateProfitRate.Location = new System.Drawing.Point(361, 15);
|
||||
this.labelControl_WinRateProfitRate.Name = "labelControl_WinRateProfitRate";
|
||||
this.labelControl_WinRateProfitRate.Size = new System.Drawing.Size(19, 14);
|
||||
this.labelControl_WinRateProfitRate.TabIndex = 2;
|
||||
this.labelControl_WinRateProfitRate.Text = "0%";
|
||||
//
|
||||
// labelControl1
|
||||
//
|
||||
this.labelControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.labelControl1.Location = new System.Drawing.Point(737, 15);
|
||||
this.labelControl1.Location = new System.Drawing.Point(798, 15);
|
||||
this.labelControl1.Name = "labelControl1";
|
||||
this.labelControl1.Size = new System.Drawing.Size(32, 14);
|
||||
this.labelControl1.TabIndex = 2;
|
||||
@@ -628,11 +643,33 @@ namespace Million_Hunter.HunterSubForm
|
||||
// textEdit_Description
|
||||
//
|
||||
this.textEdit_Description.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.textEdit_Description.Location = new System.Drawing.Point(775, 12);
|
||||
this.textEdit_Description.Location = new System.Drawing.Point(838, 12);
|
||||
this.textEdit_Description.Name = "textEdit_Description";
|
||||
this.textEdit_Description.Size = new System.Drawing.Size(344, 20);
|
||||
this.textEdit_Description.Size = new System.Drawing.Size(281, 20);
|
||||
this.textEdit_Description.TabIndex = 1;
|
||||
//
|
||||
// simpleButton_WinRateProfitRate
|
||||
//
|
||||
this.simpleButton_WinRateProfitRate.Appearance.ForeColor = System.Drawing.SystemColors.HotTrack;
|
||||
this.simpleButton_WinRateProfitRate.Appearance.Options.UseForeColor = true;
|
||||
this.simpleButton_WinRateProfitRate.Location = new System.Drawing.Point(652, 6);
|
||||
this.simpleButton_WinRateProfitRate.Name = "simpleButton_WinRateProfitRate";
|
||||
this.simpleButton_WinRateProfitRate.Size = new System.Drawing.Size(108, 32);
|
||||
this.simpleButton_WinRateProfitRate.TabIndex = 0;
|
||||
this.simpleButton_WinRateProfitRate.Text = "승률(수익률) 계산";
|
||||
this.simpleButton_WinRateProfitRate.Click += new System.EventHandler(this.simpleButton_WinRateProfitRate_Click);
|
||||
//
|
||||
// simpleButton_resetData
|
||||
//
|
||||
this.simpleButton_resetData.Appearance.ForeColor = System.Drawing.Color.Teal;
|
||||
this.simpleButton_resetData.Appearance.Options.UseForeColor = true;
|
||||
this.simpleButton_resetData.Location = new System.Drawing.Point(135, 5);
|
||||
this.simpleButton_resetData.Name = "simpleButton_resetData";
|
||||
this.simpleButton_resetData.Size = new System.Drawing.Size(121, 32);
|
||||
this.simpleButton_resetData.TabIndex = 0;
|
||||
this.simpleButton_resetData.Text = "필터 초기화";
|
||||
this.simpleButton_resetData.Click += new System.EventHandler(this.simpleButton_resetData_Click);
|
||||
//
|
||||
// simpleButton_LoadAnalysisResultData
|
||||
//
|
||||
this.simpleButton_LoadAnalysisResultData.Appearance.ForeColor = System.Drawing.Color.IndianRed;
|
||||
@@ -654,17 +691,6 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.simpleButton_SavaAnalysisData.Text = "결과 저장";
|
||||
this.simpleButton_SavaAnalysisData.Click += new System.EventHandler(this.simpleButton_SavaAnalysisData_Click);
|
||||
//
|
||||
// simpleButton_resetData
|
||||
//
|
||||
this.simpleButton_resetData.Appearance.ForeColor = System.Drawing.Color.Teal;
|
||||
this.simpleButton_resetData.Appearance.Options.UseForeColor = true;
|
||||
this.simpleButton_resetData.Location = new System.Drawing.Point(135, 5);
|
||||
this.simpleButton_resetData.Name = "simpleButton_resetData";
|
||||
this.simpleButton_resetData.Size = new System.Drawing.Size(121, 32);
|
||||
this.simpleButton_resetData.TabIndex = 0;
|
||||
this.simpleButton_resetData.Text = "필터 초기화";
|
||||
this.simpleButton_resetData.Click += new System.EventHandler(this.simpleButton_resetData_Click);
|
||||
//
|
||||
// ResultViewerForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
|
||||
@@ -753,5 +779,7 @@ namespace Million_Hunter.HunterSubForm
|
||||
private DevExpress.XtraEditors.TextEdit textEdit_Description;
|
||||
private DevExpress.XtraEditors.SimpleButton simpleButton_LoadAnalysisResultData;
|
||||
private DevExpress.XtraEditors.SimpleButton simpleButton_resetData;
|
||||
private DevExpress.XtraEditors.LabelControl labelControl_WinRateProfitRate;
|
||||
private DevExpress.XtraEditors.SimpleButton simpleButton_WinRateProfitRate;
|
||||
}
|
||||
}
|
||||
@@ -60,6 +60,11 @@ namespace Million_Hunter.HunterSubForm
|
||||
}
|
||||
_analysisDatas = new List<AnalysisData>();
|
||||
|
||||
// 평균 승률 계산하기
|
||||
double winRate = 0;
|
||||
// 평균 수익률 계산하기
|
||||
double profitRate = 0;
|
||||
|
||||
// 데이터 가공하기 (List<AnalysisData> _analysisDatas)
|
||||
foreach (var searchResult in _savedResultData.SearchResultList)
|
||||
{
|
||||
@@ -67,9 +72,20 @@ namespace Million_Hunter.HunterSubForm
|
||||
searchResult.BuyValueList.Count, searchResult.StartDate, searchResult.BuyValueList.First(), searchResult.EndDate, searchResult.SellValue, searchResult.FirstEarningRate, searchResult.FirstWinFlag,
|
||||
"", searchResult);
|
||||
|
||||
// 승률 계산하기
|
||||
if (searchResult.FirstWinFlag) winRate++;
|
||||
|
||||
// 수익률 계산하기
|
||||
profitRate += searchResult.FirstEarningRate;
|
||||
|
||||
_analysisDatas.Add(analysisData);
|
||||
}
|
||||
|
||||
winRate = winRate * 100 / _analysisDatas.Count();
|
||||
|
||||
labelControl_WinRateProfitRate.Text = string.Format("승률 : {0:0.00} % 수익률 : {1:0.00} % 개수 : {2}",
|
||||
double.Parse(winRate.ToString()), double.Parse(profitRate.ToString()), _analysisDatas.Count());
|
||||
|
||||
treeList_ResultData.DataSource = _analysisDatas;
|
||||
treeList_ResultData.RefreshDataSource();
|
||||
}
|
||||
@@ -83,9 +99,9 @@ namespace Million_Hunter.HunterSubForm
|
||||
// 저장할 데이터 리스트
|
||||
var saveDataList = new List<AnalysisData>();
|
||||
|
||||
// 승률 계산하기
|
||||
// 평균 승률 계산하기
|
||||
double winRate = 0;
|
||||
// 수익률 계산하기
|
||||
// 평균 수익률 계산하기
|
||||
double profitRate = 0;
|
||||
|
||||
// 값이 있으면 저장
|
||||
@@ -96,12 +112,16 @@ namespace Million_Hunter.HunterSubForm
|
||||
var data = (AnalysisData)treeList_ResultData.GetDataRecordByNode(node);
|
||||
|
||||
// 승률 계산하기
|
||||
winRate = 0;
|
||||
|
||||
if (data.WinFlag) winRate++;
|
||||
|
||||
// 수익률 계산하기
|
||||
profitRate = 0;
|
||||
profitRate += data.EarningRate;
|
||||
|
||||
saveDataList.Add(data);
|
||||
}
|
||||
|
||||
winRate = winRate * 100 / nodeList.Count();
|
||||
}
|
||||
|
||||
// 저장 데이터 클래스 만들기
|
||||
@@ -138,6 +158,10 @@ namespace Million_Hunter.HunterSubForm
|
||||
{
|
||||
treeList_ResultData.DataSource = _savedAnalysisData.AnalysisDataList;
|
||||
treeList_ResultData.RefreshDataSource();
|
||||
|
||||
labelControl_WinRateProfitRate.Text = string.Format("승률 : {0:0.00} % 수익률 : {1:0.00} % 개수 : {2}",
|
||||
double.Parse(_savedAnalysisData.FirstWinRate.ToString()), double.Parse(_savedAnalysisData.FirstProfitRate.ToString()),
|
||||
_savedAnalysisData.AnalysisDataList.Count);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -164,5 +188,51 @@ namespace Million_Hunter.HunterSubForm
|
||||
Million.SubForm.ChartViewerForm chartViewerForm = new Million.SubForm.ChartViewerForm();
|
||||
chartViewerForm.Visible = true;
|
||||
}
|
||||
|
||||
// 승률(수익률 계산)
|
||||
private void simpleButton_WinRateProfitRate_Click(object sender, EventArgs e)
|
||||
{
|
||||
CalcurateProfitAndWinRate();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 승률 및 수익률 계산 함수
|
||||
/// </summary>
|
||||
private void CalcurateProfitAndWinRate()
|
||||
{
|
||||
// 승률 수익률 계산하기
|
||||
// 결과 반영 체크 && Filter 된 노드만 리스트로 모음
|
||||
var nodeList = treeList_ResultData.FindNodes(item => item.Visible == true && Convert.ToBoolean(item["Inclusion"]) == true);
|
||||
// 평균 승률 계산하기
|
||||
double winRate = 0;
|
||||
// 평균 수익률 계산하기
|
||||
double profitRate = 0;
|
||||
|
||||
// 값이 있으면 저장
|
||||
if (nodeList != null && nodeList.Count() > 0)
|
||||
{
|
||||
foreach (var node in nodeList)
|
||||
{
|
||||
var data = (AnalysisData)treeList_ResultData.GetDataRecordByNode(node);
|
||||
|
||||
// 승률 계산하기
|
||||
|
||||
if (data.WinFlag) winRate++;
|
||||
|
||||
// 수익률 계산하기
|
||||
profitRate += data.EarningRate;
|
||||
}
|
||||
|
||||
winRate = winRate * 100 / nodeList.Count();
|
||||
}
|
||||
|
||||
labelControl_WinRateProfitRate.Text = string.Format("승률 : {0:0.00} % 수익률 : {1:0.00} % 개수 : {2}",
|
||||
double.Parse(winRate.ToString()), double.Parse(profitRate.ToString()), _analysisDatas.Count());
|
||||
}
|
||||
|
||||
private void treeList_ResultData_SelectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,13 @@ namespace Million_Hunter.HunterSubForm
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.groupBox_Info = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox_analysisInfo = new System.Windows.Forms.GroupBox();
|
||||
this.treeList_AnalysisResultData = new DevExpress.XtraTreeList.TreeList();
|
||||
this.treeListColumn_Desciprtion = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn4 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn5 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn_SavedTime = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.repositoryItemCheckEdit_Inclustion = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.textEdit_SavedDateTime = new DevExpress.XtraEditors.TextEdit();
|
||||
this.textEdit_EndDateTime = new DevExpress.XtraEditors.TextEdit();
|
||||
this.textEdit_StartDateTime = new DevExpress.XtraEditors.TextEdit();
|
||||
@@ -44,10 +51,10 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.treeListColumn1 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn2 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn3 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.simpleButton_SavedResultDataLoad = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.labelControl5 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl4 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.labelControl3 = new DevExpress.XtraEditors.LabelControl();
|
||||
this.simpleButton_SavedResultDataLoad = new DevExpress.XtraEditors.SimpleButton();
|
||||
this.treeList_SavedResultData = new DevExpress.XtraTreeList.TreeList();
|
||||
this.treeListColumn_StartDateTime = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn_EndDateTime = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
@@ -61,14 +68,10 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.textEdit_BuyRegularExpression = new DevExpress.XtraEditors.TextEdit();
|
||||
this.groupBox9 = new System.Windows.Forms.GroupBox();
|
||||
this.textEdit_SellRegularExpression = new DevExpress.XtraEditors.TextEdit();
|
||||
this.treeList_AnalysisResultData = new DevExpress.XtraTreeList.TreeList();
|
||||
this.treeListColumn_Desciprtion = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn4 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn5 = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.treeListColumn_SavedTime = new DevExpress.XtraTreeList.Columns.TreeListColumn();
|
||||
this.repositoryItemCheckEdit_Inclustion = new DevExpress.XtraEditors.Repository.RepositoryItemCheckEdit();
|
||||
this.groupBox_analysisInfo = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox_Info.SuspendLayout();
|
||||
this.groupBox_analysisInfo.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_AnalysisResultData)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckEdit_Inclustion)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_SavedDateTime.Properties)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_EndDateTime.Properties)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_StartDateTime.Properties)).BeginInit();
|
||||
@@ -89,9 +92,6 @@ namespace Million_Hunter.HunterSubForm
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_BuyRegularExpression.Properties)).BeginInit();
|
||||
this.groupBox9.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_SellRegularExpression.Properties)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_AnalysisResultData)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckEdit_Inclustion)).BeginInit();
|
||||
this.groupBox_analysisInfo.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox_Info
|
||||
@@ -114,6 +114,83 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.groupBox_Info.TabStop = false;
|
||||
this.groupBox_Info.Text = "저장된 정보";
|
||||
//
|
||||
// groupBox_analysisInfo
|
||||
//
|
||||
this.groupBox_analysisInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox_analysisInfo.Controls.Add(this.treeList_AnalysisResultData);
|
||||
this.groupBox_analysisInfo.Location = new System.Drawing.Point(6, 252);
|
||||
this.groupBox_analysisInfo.Name = "groupBox_analysisInfo";
|
||||
this.groupBox_analysisInfo.Size = new System.Drawing.Size(594, 115);
|
||||
this.groupBox_analysisInfo.TabIndex = 8;
|
||||
this.groupBox_analysisInfo.TabStop = false;
|
||||
this.groupBox_analysisInfo.Text = "분석 결과";
|
||||
//
|
||||
// treeList_AnalysisResultData
|
||||
//
|
||||
this.treeList_AnalysisResultData.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.treeListColumn_Desciprtion,
|
||||
this.treeListColumn4,
|
||||
this.treeListColumn5,
|
||||
this.treeListColumn_SavedTime});
|
||||
this.treeList_AnalysisResultData.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.treeList_AnalysisResultData.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.treeList_AnalysisResultData.Location = new System.Drawing.Point(3, 18);
|
||||
this.treeList_AnalysisResultData.Name = "treeList_AnalysisResultData";
|
||||
this.treeList_AnalysisResultData.OptionsView.ShowIndicator = false;
|
||||
this.treeList_AnalysisResultData.OptionsView.ShowRoot = false;
|
||||
this.treeList_AnalysisResultData.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
|
||||
this.repositoryItemCheckEdit_Inclustion});
|
||||
this.treeList_AnalysisResultData.Size = new System.Drawing.Size(588, 94);
|
||||
this.treeList_AnalysisResultData.TabIndex = 7;
|
||||
//
|
||||
// treeListColumn_Desciprtion
|
||||
//
|
||||
this.treeListColumn_Desciprtion.Caption = "내용";
|
||||
this.treeListColumn_Desciprtion.FieldName = "Description";
|
||||
this.treeListColumn_Desciprtion.Name = "treeListColumn_Desciprtion";
|
||||
this.treeListColumn_Desciprtion.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn_Desciprtion.Visible = true;
|
||||
this.treeListColumn_Desciprtion.VisibleIndex = 0;
|
||||
this.treeListColumn_Desciprtion.Width = 320;
|
||||
//
|
||||
// treeListColumn4
|
||||
//
|
||||
this.treeListColumn4.Caption = "승률";
|
||||
this.treeListColumn4.FieldName = "FirstWinRate";
|
||||
this.treeListColumn4.Name = "treeListColumn4";
|
||||
this.treeListColumn4.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn4.Visible = true;
|
||||
this.treeListColumn4.VisibleIndex = 1;
|
||||
this.treeListColumn4.Width = 57;
|
||||
//
|
||||
// treeListColumn5
|
||||
//
|
||||
this.treeListColumn5.Caption = "수익률";
|
||||
this.treeListColumn5.FieldName = "FirstProfitRate";
|
||||
this.treeListColumn5.Name = "treeListColumn5";
|
||||
this.treeListColumn5.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn5.Visible = true;
|
||||
this.treeListColumn5.VisibleIndex = 2;
|
||||
this.treeListColumn5.Width = 60;
|
||||
//
|
||||
// treeListColumn_SavedTime
|
||||
//
|
||||
this.treeListColumn_SavedTime.Caption = "저장 시간";
|
||||
this.treeListColumn_SavedTime.FieldName = "SavedTime";
|
||||
this.treeListColumn_SavedTime.Format.FormatString = "u";
|
||||
this.treeListColumn_SavedTime.Format.FormatType = DevExpress.Utils.FormatType.DateTime;
|
||||
this.treeListColumn_SavedTime.Name = "treeListColumn_SavedTime";
|
||||
this.treeListColumn_SavedTime.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn_SavedTime.Visible = true;
|
||||
this.treeListColumn_SavedTime.VisibleIndex = 3;
|
||||
this.treeListColumn_SavedTime.Width = 139;
|
||||
//
|
||||
// repositoryItemCheckEdit_Inclustion
|
||||
//
|
||||
this.repositoryItemCheckEdit_Inclustion.AutoHeight = false;
|
||||
this.repositoryItemCheckEdit_Inclustion.Name = "repositoryItemCheckEdit_Inclustion";
|
||||
//
|
||||
// textEdit_SavedDateTime
|
||||
//
|
||||
this.textEdit_SavedDateTime.Location = new System.Drawing.Point(650, 21);
|
||||
@@ -278,6 +355,18 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.treeListColumn3.VisibleIndex = 2;
|
||||
this.treeListColumn3.Width = 341;
|
||||
//
|
||||
// simpleButton_SavedResultDataLoad
|
||||
//
|
||||
this.simpleButton_SavedResultDataLoad.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.simpleButton_SavedResultDataLoad.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
|
||||
this.simpleButton_SavedResultDataLoad.Appearance.Options.UseBackColor = true;
|
||||
this.simpleButton_SavedResultDataLoad.Location = new System.Drawing.Point(895, 12);
|
||||
this.simpleButton_SavedResultDataLoad.Name = "simpleButton_SavedResultDataLoad";
|
||||
this.simpleButton_SavedResultDataLoad.Size = new System.Drawing.Size(142, 38);
|
||||
this.simpleButton_SavedResultDataLoad.TabIndex = 0;
|
||||
this.simpleButton_SavedResultDataLoad.Text = "새로 고침";
|
||||
this.simpleButton_SavedResultDataLoad.Click += new System.EventHandler(this.simpleButton_SavedResultDataLoad_Click);
|
||||
//
|
||||
// labelControl5
|
||||
//
|
||||
this.labelControl5.Location = new System.Drawing.Point(592, 24);
|
||||
@@ -302,18 +391,6 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.labelControl3.TabIndex = 1;
|
||||
this.labelControl3.Text = "시작시간 : ";
|
||||
//
|
||||
// simpleButton_SavedResultDataLoad
|
||||
//
|
||||
this.simpleButton_SavedResultDataLoad.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.simpleButton_SavedResultDataLoad.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
|
||||
this.simpleButton_SavedResultDataLoad.Appearance.Options.UseBackColor = true;
|
||||
this.simpleButton_SavedResultDataLoad.Location = new System.Drawing.Point(895, 12);
|
||||
this.simpleButton_SavedResultDataLoad.Name = "simpleButton_SavedResultDataLoad";
|
||||
this.simpleButton_SavedResultDataLoad.Size = new System.Drawing.Size(142, 38);
|
||||
this.simpleButton_SavedResultDataLoad.TabIndex = 0;
|
||||
this.simpleButton_SavedResultDataLoad.Text = "새로 고침";
|
||||
this.simpleButton_SavedResultDataLoad.Click += new System.EventHandler(this.simpleButton_SavedResultDataLoad_Click);
|
||||
//
|
||||
// treeList_SavedResultData
|
||||
//
|
||||
this.treeList_SavedResultData.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
@@ -395,6 +472,8 @@ namespace Million_Hunter.HunterSubForm
|
||||
//
|
||||
this.treeListColumn_WinRate.Caption = "승률(%)";
|
||||
this.treeListColumn_WinRate.FieldName = "FirstWinRate";
|
||||
this.treeListColumn_WinRate.Format.FormatString = "0.00";
|
||||
this.treeListColumn_WinRate.Format.FormatType = DevExpress.Utils.FormatType.Numeric;
|
||||
this.treeListColumn_WinRate.Name = "treeListColumn_WinRate";
|
||||
this.treeListColumn_WinRate.Visible = true;
|
||||
this.treeListColumn_WinRate.VisibleIndex = 5;
|
||||
@@ -404,7 +483,8 @@ namespace Million_Hunter.HunterSubForm
|
||||
//
|
||||
this.treeListColumn_ProfitRate.Caption = "수익률(%)";
|
||||
this.treeListColumn_ProfitRate.FieldName = "FirstProfitRate";
|
||||
this.treeListColumn_ProfitRate.Format.FormatType = DevExpress.Utils.FormatType.Custom;
|
||||
this.treeListColumn_ProfitRate.Format.FormatString = "0.00";
|
||||
this.treeListColumn_ProfitRate.Format.FormatType = DevExpress.Utils.FormatType.Numeric;
|
||||
this.treeListColumn_ProfitRate.Name = "treeListColumn_ProfitRate";
|
||||
this.treeListColumn_ProfitRate.Visible = true;
|
||||
this.treeListColumn_ProfitRate.VisibleIndex = 6;
|
||||
@@ -466,83 +546,6 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.textEdit_SellRegularExpression.Size = new System.Drawing.Size(478, 20);
|
||||
this.textEdit_SellRegularExpression.TabIndex = 0;
|
||||
//
|
||||
// treeList_AnalysisResultData
|
||||
//
|
||||
this.treeList_AnalysisResultData.Columns.AddRange(new DevExpress.XtraTreeList.Columns.TreeListColumn[] {
|
||||
this.treeListColumn_Desciprtion,
|
||||
this.treeListColumn4,
|
||||
this.treeListColumn5,
|
||||
this.treeListColumn_SavedTime});
|
||||
this.treeList_AnalysisResultData.Cursor = System.Windows.Forms.Cursors.Default;
|
||||
this.treeList_AnalysisResultData.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.treeList_AnalysisResultData.Location = new System.Drawing.Point(3, 18);
|
||||
this.treeList_AnalysisResultData.Name = "treeList_AnalysisResultData";
|
||||
this.treeList_AnalysisResultData.OptionsView.ShowIndicator = false;
|
||||
this.treeList_AnalysisResultData.OptionsView.ShowRoot = false;
|
||||
this.treeList_AnalysisResultData.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {
|
||||
this.repositoryItemCheckEdit_Inclustion});
|
||||
this.treeList_AnalysisResultData.Size = new System.Drawing.Size(588, 94);
|
||||
this.treeList_AnalysisResultData.TabIndex = 7;
|
||||
//
|
||||
// treeListColumn_Desciprtion
|
||||
//
|
||||
this.treeListColumn_Desciprtion.Caption = "내용";
|
||||
this.treeListColumn_Desciprtion.FieldName = "Description";
|
||||
this.treeListColumn_Desciprtion.Name = "treeListColumn_Desciprtion";
|
||||
this.treeListColumn_Desciprtion.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn_Desciprtion.Visible = true;
|
||||
this.treeListColumn_Desciprtion.VisibleIndex = 0;
|
||||
this.treeListColumn_Desciprtion.Width = 320;
|
||||
//
|
||||
// treeListColumn4
|
||||
//
|
||||
this.treeListColumn4.Caption = "승률";
|
||||
this.treeListColumn4.FieldName = "FirstWinRate";
|
||||
this.treeListColumn4.Name = "treeListColumn4";
|
||||
this.treeListColumn4.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn4.Visible = true;
|
||||
this.treeListColumn4.VisibleIndex = 1;
|
||||
this.treeListColumn4.Width = 57;
|
||||
//
|
||||
// treeListColumn5
|
||||
//
|
||||
this.treeListColumn5.Caption = "수익률";
|
||||
this.treeListColumn5.FieldName = "FirstProfitRate";
|
||||
this.treeListColumn5.Name = "treeListColumn5";
|
||||
this.treeListColumn5.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn5.Visible = true;
|
||||
this.treeListColumn5.VisibleIndex = 2;
|
||||
this.treeListColumn5.Width = 60;
|
||||
//
|
||||
// treeListColumn_SavedTime
|
||||
//
|
||||
this.treeListColumn_SavedTime.Caption = "저장 시간";
|
||||
this.treeListColumn_SavedTime.FieldName = "SavedTime";
|
||||
this.treeListColumn_SavedTime.Format.FormatString = "u";
|
||||
this.treeListColumn_SavedTime.Format.FormatType = DevExpress.Utils.FormatType.DateTime;
|
||||
this.treeListColumn_SavedTime.Name = "treeListColumn_SavedTime";
|
||||
this.treeListColumn_SavedTime.OptionsColumn.AllowEdit = false;
|
||||
this.treeListColumn_SavedTime.Visible = true;
|
||||
this.treeListColumn_SavedTime.VisibleIndex = 3;
|
||||
this.treeListColumn_SavedTime.Width = 139;
|
||||
//
|
||||
// repositoryItemCheckEdit_Inclustion
|
||||
//
|
||||
this.repositoryItemCheckEdit_Inclustion.AutoHeight = false;
|
||||
this.repositoryItemCheckEdit_Inclustion.Name = "repositoryItemCheckEdit_Inclustion";
|
||||
//
|
||||
// groupBox_analysisInfo
|
||||
//
|
||||
this.groupBox_analysisInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.groupBox_analysisInfo.Controls.Add(this.treeList_AnalysisResultData);
|
||||
this.groupBox_analysisInfo.Location = new System.Drawing.Point(6, 252);
|
||||
this.groupBox_analysisInfo.Name = "groupBox_analysisInfo";
|
||||
this.groupBox_analysisInfo.Size = new System.Drawing.Size(594, 115);
|
||||
this.groupBox_analysisInfo.TabIndex = 8;
|
||||
this.groupBox_analysisInfo.TabStop = false;
|
||||
this.groupBox_analysisInfo.Text = "분석 결과";
|
||||
//
|
||||
// SavedResultViewerForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
|
||||
@@ -555,6 +558,9 @@ namespace Million_Hunter.HunterSubForm
|
||||
this.Text = " ";
|
||||
this.groupBox_Info.ResumeLayout(false);
|
||||
this.groupBox_Info.PerformLayout();
|
||||
this.groupBox_analysisInfo.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_AnalysisResultData)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckEdit_Inclustion)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_SavedDateTime.Properties)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_EndDateTime.Properties)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_StartDateTime.Properties)).EndInit();
|
||||
@@ -575,9 +581,6 @@ namespace Million_Hunter.HunterSubForm
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_BuyRegularExpression.Properties)).EndInit();
|
||||
this.groupBox9.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.textEdit_SellRegularExpression.Properties)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.treeList_AnalysisResultData)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.repositoryItemCheckEdit_Inclustion)).EndInit();
|
||||
this.groupBox_analysisInfo.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
@@ -30,10 +30,13 @@ namespace Million_Hunter
|
||||
|
||||
// 현재 수정/삭제 대기중인 클래스의 초기화
|
||||
private IndicatorCoditionSetup _curIndicatorSetup = null;
|
||||
private int _indexOfList = 0;
|
||||
|
||||
// 마지막 사용된 Index
|
||||
private int _lastIndexString;
|
||||
|
||||
|
||||
|
||||
public MainForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
@@ -163,6 +166,7 @@ namespace Million_Hunter
|
||||
|
||||
// 현재 수정/삭제 대기중인 클래스 저장
|
||||
_curIndicatorSetup = (IndicatorCoditionSetup)indicatorSetupClassData;
|
||||
_indexOfList = treeList.Nodes.IndexOf(hitInfo.Node);
|
||||
|
||||
// 지표 조건 설정 폼 생성하기
|
||||
CreateIndicatorForm(indicatorType, indicatorSetupClassData);
|
||||
@@ -203,22 +207,22 @@ namespace Million_Hunter
|
||||
if (_curIndicatorSetup == null) return;
|
||||
|
||||
// 해당 List안에 있는 Class를 삭제
|
||||
if (_saveResultData.BuySetupList.Contains(_curIndicatorSetup))
|
||||
{
|
||||
_saveResultData.BuySetupList.Remove(_curIndicatorSetup);
|
||||
if(_curIndicatorSetup.ByBuySellType == CommonProperty.BuySellType.Buy)
|
||||
{
|
||||
_saveResultData.BuySetupList.RemoveAt(_indexOfList);
|
||||
treeList_BuySetupList.RefreshDataSource();
|
||||
}
|
||||
else
|
||||
{
|
||||
_saveResultData.SellSetupList.Remove(_curIndicatorSetup);
|
||||
_saveResultData.SellSetupList.RemoveAt(_indexOfList);
|
||||
treeList_SellSetupList.RefreshDataSource();
|
||||
}
|
||||
|
||||
|
||||
// 조건 설정 창 초기화
|
||||
_curruentIndicatorform = null;
|
||||
_curruentIndicatorform = null;
|
||||
panelControl_IndicatorSetup.Controls.Clear();
|
||||
comboBoxEdit_IndicatorSelection.Text = "";
|
||||
comboBoxEdit_IndicatorSelection.Text = "";
|
||||
|
||||
// 지표 새로 추가 시 수정/삭제 버튼 Visible 처리
|
||||
simpleButton_SetupEdit.Visible = false;
|
||||
@@ -369,7 +373,7 @@ namespace Million_Hunter
|
||||
|
||||
tt /= totalResultList.Count;
|
||||
_saveResultData.FirstWinRate = (firstWin * 100) / totalResultList.Count;
|
||||
_saveResultData.FirstProfitRate = firstProfitRate / totalResultList.Count;
|
||||
_saveResultData.FirstProfitRate = firstProfitRate;
|
||||
_saveResultData.WinRate = winRate;
|
||||
_saveResultData.ProfitRate = totalVal / totalResultList.Count;
|
||||
_saveResultData.SearchResultList = totalResultList;
|
||||
|
||||
@@ -112,7 +112,6 @@
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\licenses.licx" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
|
||||
@@ -76,6 +76,7 @@ namespace Million.FileDBManagement
|
||||
|
||||
try
|
||||
{
|
||||
//var inf
|
||||
// Info Data 저장하기
|
||||
SaveToBinaryFile(savedResultData, guid.ToString() + CommonProperty.InfoExtend);
|
||||
|
||||
@@ -190,7 +191,7 @@ namespace Million.FileDBManagement
|
||||
return loadData;
|
||||
}
|
||||
catch (Exception e)
|
||||
{ return null; }
|
||||
{ return null; }
|
||||
finally
|
||||
{
|
||||
stream?.Dispose();
|
||||
|
||||
Reference in New Issue
Block a user