Initial commit
This commit is contained in:
29
.gitignore
vendored
Normal file
29
.gitignore
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
# Visual Studio
|
||||
.vs/
|
||||
*.user
|
||||
*.suo
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# Build output
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
x86/
|
||||
|
||||
# NuGet packages
|
||||
[Pp]ackages/*
|
||||
![Pp]ackages/repositories.config
|
||||
*.nupkg
|
||||
|
||||
# Logs and temporary files
|
||||
*.log
|
||||
*.tmp
|
||||
*.temp
|
||||
*.cache
|
||||
|
||||
# OS files
|
||||
Thumbs.db
|
||||
Desktop.ini
|
||||
37
MBN_STOCK_N.sln
Normal file
37
MBN_STOCK_N.sln
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30804.86
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MBN_STOCK_N", "MBN_STOCK_N\MBN_STOCK_N.csproj", "{79711222-87A1-432B-A122-C67AB0E7237B}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
x64|Any CPU = x64|Any CPU
|
||||
x64|x64 = x64|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Debug|x64.Build.0 = Debug|x64
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Release|x64.ActiveCfg = Release|x64
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.Release|x64.Build.0 = Release|x64
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.x64|Any CPU.ActiveCfg = x64|Any CPU
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.x64|Any CPU.Build.0 = x64|Any CPU
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.x64|x64.ActiveCfg = x64|x64
|
||||
{79711222-87A1-432B-A122-C67AB0E7237B}.x64|x64.Build.0 = x64|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {DC0B9A4B-BDFE-40D2-A8A3-B4E33A927E76}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
66
MBN_STOCK_N/App.config
Normal file
66
MBN_STOCK_N/App.config
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="oracle.manageddataaccess.client"
|
||||
type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
|
||||
</configSections>
|
||||
|
||||
<connectionStrings>
|
||||
<!-- Oracle 연결 문자열 -->
|
||||
<add name="OracleDb"
|
||||
connectionString="User Id=myuser;Password=mypass;Data Source=SampleDataSource;"
|
||||
providerName="Oracle.ManagedDataAccess.Client" />
|
||||
|
||||
<!-- MariaDB 연결 문자열 -->
|
||||
<add name="MariaDb"
|
||||
connectionString="Server=localhost;Port=3306;Database=testdb;Uid=root;Pwd=mypassword;"
|
||||
providerName="MySql.Data.MySqlClient" />
|
||||
</connectionStrings>
|
||||
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||
</startup>
|
||||
|
||||
<system.data>
|
||||
<DbProviderFactories>
|
||||
<!-- Oracle -->
|
||||
<remove invariant="Oracle.ManagedDataAccess.Client"/>
|
||||
<add name="ODP.NET, Managed Driver"
|
||||
invariant="Oracle.ManagedDataAccess.Client"
|
||||
description="Oracle Data Provider for .NET, Managed Driver"
|
||||
type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
|
||||
|
||||
<!-- MariaDB/MySQL -->
|
||||
<remove invariant="MySql.Data.MySqlClient"/>
|
||||
<add name="MySQL Data Provider"
|
||||
invariant="MySql.Data.MySqlClient"
|
||||
description=".Net Framework Data Provider for MySQL"
|
||||
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
|
||||
</DbProviderFactories>
|
||||
</system.data>
|
||||
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<!-- Oracle Binding -->
|
||||
<dependentAssembly>
|
||||
<publisherPolicy apply="no"/>
|
||||
<assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral"/>
|
||||
<bindingRedirect oldVersion="4.121.0.0 - 4.65535.65535.65535" newVersion="4.122.19.1"/>
|
||||
</dependentAssembly>
|
||||
|
||||
<!-- MySQL Binding -->
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.3.9.0" newVersion="6.3.9.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
<oracle.manageddataaccess.client>
|
||||
<version number="*">
|
||||
<dataSources>
|
||||
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) "/>
|
||||
</dataSources>
|
||||
</version>
|
||||
</oracle.manageddataaccess.client>
|
||||
</configuration>
|
||||
214
MBN_STOCK_N/Class/CutList.cs
Normal file
214
MBN_STOCK_N/Class/CutList.cs
Normal file
@@ -0,0 +1,214 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
public class CutList
|
||||
{
|
||||
|
||||
public string[] getCutInfo(string info)
|
||||
{
|
||||
string[] rtn = new string[] { "", "" };
|
||||
|
||||
try
|
||||
{
|
||||
info = info.Replace(" ", "");
|
||||
|
||||
if (info.Contains("2열판-"))
|
||||
{
|
||||
rtn[0] = "50160";
|
||||
}
|
||||
else if (info.Contains("영업이익"))
|
||||
{
|
||||
rtn[0] = "5081";
|
||||
}
|
||||
else if (info.Contains("매출액"))
|
||||
{
|
||||
rtn[0] = "5080";
|
||||
}
|
||||
else if (info.Contains("성장성지표"))
|
||||
{
|
||||
rtn[0] = "5079";
|
||||
}
|
||||
else if (info.Contains("주요매출구성"))
|
||||
{
|
||||
rtn[0] = "5076";
|
||||
}
|
||||
else if (info.Contains("(NXT)1열판기본"))
|
||||
{
|
||||
rtn[0] = "N5001";
|
||||
}
|
||||
else if (info.Contains("1열판기본"))
|
||||
{
|
||||
rtn[0] = "5001";
|
||||
}
|
||||
else if (info.Contains("1열판상세"))
|
||||
{
|
||||
if (info.Contains("시가"))
|
||||
rtn[0] = "5006";
|
||||
else
|
||||
rtn[0] = "5011";
|
||||
}
|
||||
else if (info.Contains("1열판"))
|
||||
{
|
||||
rtn[0] = "5001";
|
||||
}
|
||||
else if (info.Contains("종목별비교분석_캔들그래프"))
|
||||
{
|
||||
rtn[0] = "5026";
|
||||
}
|
||||
else if (info.Contains("종목별비교분석_라인그래프"))
|
||||
{
|
||||
rtn[0] = "5087";
|
||||
}
|
||||
else if (info.Contains("종목별수익률비교"))
|
||||
{
|
||||
rtn[0] = "5029";
|
||||
}
|
||||
else if (info.Contains("수익률그래프"))
|
||||
{
|
||||
rtn[0] = "5086";
|
||||
}
|
||||
else if (info.Contains("캔들그래프"))
|
||||
{
|
||||
if (info.Contains("일봉"))
|
||||
rtn[0] = "8035";
|
||||
else if (info.Contains("5일"))
|
||||
rtn[0] = "8061";
|
||||
else if (info.Contains("120일"))
|
||||
rtn[0] = "8051";
|
||||
else if (info.Contains("20일"))
|
||||
rtn[0] = "8040";
|
||||
else if (info.Contains("60일"))
|
||||
rtn[0] = "8046";
|
||||
|
||||
else if (info.Contains("240일"))
|
||||
rtn[0] = "8056";
|
||||
|
||||
}
|
||||
else if (info.Contains("호가창"))
|
||||
{
|
||||
rtn[0] = "8003";
|
||||
}
|
||||
else if (info.Contains("거래원"))
|
||||
{
|
||||
rtn[0] = "5037";
|
||||
}
|
||||
else if (info.Contains("3열판"))
|
||||
{
|
||||
rtn[0] = "5016";
|
||||
}
|
||||
else if (info.Contains("미국증시지도"))
|
||||
{
|
||||
rtn[0] = "5068";
|
||||
}
|
||||
else if (info.Contains("유럽증시지도"))
|
||||
{
|
||||
rtn[0] = "5070";
|
||||
}
|
||||
else if (info.Contains("아시아증시지도"))
|
||||
{
|
||||
rtn[0] = "5072";
|
||||
}
|
||||
else if (info.Contains("글로벌증시지도"))
|
||||
{
|
||||
rtn[0] = "8067";
|
||||
}
|
||||
else if (info.Contains("미국업종") || info.Contains("섹터지수"))
|
||||
{
|
||||
rtn[0] = "5078";
|
||||
}
|
||||
else if (info.Contains("이미지그래프"))
|
||||
{
|
||||
rtn[0] = "6001";
|
||||
}
|
||||
|
||||
else if (info.Contains("주체별매매동향"))
|
||||
{
|
||||
rtn[0] = "5082";
|
||||
}
|
||||
else if (info.Contains("매매동향표그래프"))
|
||||
{
|
||||
rtn[0] = "5023";
|
||||
}
|
||||
else if (info.Contains("개인매매동향") || info.Contains("기관매매동향") || info.Contains("외국인매매동향"))
|
||||
{
|
||||
rtn[0] = "5083";
|
||||
}
|
||||
else if (info.Contains("매매동향라인그래프"))
|
||||
{
|
||||
rtn[0] = "5084";
|
||||
}
|
||||
else if (info.Contains("매매동향막대그래프"))
|
||||
{
|
||||
rtn[0] = "5024";
|
||||
}
|
||||
else if (info.Contains("기관순매수현황"))
|
||||
{
|
||||
rtn[0] = "6067";
|
||||
}
|
||||
else if (info.Contains("프로그램매매"))
|
||||
{
|
||||
rtn[0] = "5085";
|
||||
}
|
||||
else if (info.Contains("순매도상위"))
|
||||
{
|
||||
rtn[0] = "5025";
|
||||
}
|
||||
else if (info.Contains("네모그래프"))
|
||||
{
|
||||
if (info.Contains("코스피"))
|
||||
rtn[0] = "8001";
|
||||
else
|
||||
rtn[0] = "8002";
|
||||
}
|
||||
else if (info.Contains("5단표그래프"))
|
||||
{
|
||||
rtn[0] = "5074";
|
||||
}
|
||||
else if (info.Contains("6종목현재가"))
|
||||
{
|
||||
rtn[0] = "5077";
|
||||
}
|
||||
else if (info.Contains("12종목현재가"))
|
||||
{
|
||||
rtn[0] = "5088";
|
||||
}
|
||||
else if (info.Contains("2열판"))
|
||||
{
|
||||
if (info.Contains("지수") || info.Contains("종목"))
|
||||
{
|
||||
if (info.Contains("선물"))
|
||||
{
|
||||
rtn[0] = "5032";
|
||||
}
|
||||
else
|
||||
{
|
||||
rtn[0] = "8032";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (info.Contains("코스피"))
|
||||
rtn[0] = "8018";
|
||||
else if (info.Contains("코스닥"))
|
||||
rtn[0] = "8032";
|
||||
}
|
||||
}
|
||||
else if (info.Contains("라인그래프"))
|
||||
{
|
||||
rtn[0] = "50860";
|
||||
}
|
||||
//rtn[1] = rtn[0] + ".t2s";
|
||||
rtn[1] = rtn[0];
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
return rtn;
|
||||
}
|
||||
}
|
||||
|
||||
190
MBN_STOCK_N/Class/DBCon.cs
Normal file
190
MBN_STOCK_N/Class/DBCon.cs
Normal file
@@ -0,0 +1,190 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Windows.Forms;
|
||||
using Oracle.ManagedDataAccess.Client;
|
||||
using Microsoft.Win32;
|
||||
using MySql.Data.MySqlClient;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public class DBCon
|
||||
{
|
||||
public OracleConnection conn = null;
|
||||
string strConn = string.Empty;
|
||||
|
||||
public MySqlConnection nxt_conn = null;
|
||||
string nxt_strConn = string.Empty;
|
||||
|
||||
DataTable dt = new DataTable();
|
||||
public bool m_status = false;
|
||||
MainForm mf = null;
|
||||
public bool m_su = false;
|
||||
|
||||
public DBCon(Form frm)
|
||||
{
|
||||
try
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
RegistryKey key = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\MBN");
|
||||
string ip = string.Empty;
|
||||
string port = string.Empty;
|
||||
string ser = string.Empty;
|
||||
string id = string.Empty;
|
||||
string pw = string.Empty;
|
||||
|
||||
string nxt_ip = string.Empty;
|
||||
string nxt_port = string.Empty;
|
||||
string nxt_ser = string.Empty;
|
||||
string nxt_id = string.Empty;
|
||||
string nxt_pw = string.Empty;
|
||||
|
||||
if (key.GetValue("ip") != null)
|
||||
ip = key.GetValue("ip").ToString();
|
||||
|
||||
if (key.GetValue("port") != null)
|
||||
port = key.GetValue("port").ToString();
|
||||
|
||||
if (key.GetValue("server") != null)
|
||||
ser = key.GetValue("server").ToString();
|
||||
|
||||
if (key.GetValue("id") != null)
|
||||
id = key.GetValue("id").ToString();
|
||||
|
||||
if (key.GetValue("pass") != null)
|
||||
pw = key.GetValue("pass").ToString();
|
||||
|
||||
if (key.GetValue("nxt_ip") != null)
|
||||
nxt_ip = key.GetValue("nxt_ip").ToString();
|
||||
|
||||
if (key.GetValue("nxt_port") != null)
|
||||
nxt_port = key.GetValue("nxt_port").ToString();
|
||||
|
||||
if (key.GetValue("nxt_server") != null)
|
||||
nxt_ser = key.GetValue("nxt_server").ToString();
|
||||
|
||||
if (key.GetValue("nxt_id") != null)
|
||||
nxt_id = key.GetValue("nxt_id").ToString();
|
||||
|
||||
if (key.GetValue("nxt_pass") != null)
|
||||
nxt_pw = key.GetValue("nxt_pass").ToString();
|
||||
|
||||
strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + mf.m_ip + ")(PORT=" + mf.m_port + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SID=" + mf.m_sid + ")));User Id=" + mf.m_id + ";Password=" + mf.m_pw + ";";
|
||||
nxt_strConn = "SERVER=" + mf.nxt_m_ip + "; PORT=" + mf.nxt_m_port + "; DATABASE= " + mf.nxt_m_sid + "; UId=" + mf.nxt_m_id + "; Pwd=" + mf.nxt_m_pw;
|
||||
|
||||
conn = new OracleConnection(strConn);
|
||||
conn.Open();
|
||||
m_status = true;
|
||||
|
||||
nxt_conn = new MySqlConnection(nxt_strConn);
|
||||
nxt_conn.Open();
|
||||
m_status = true;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
m_status = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (conn.State == ConnectionState.Open)
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
if (nxt_conn.State == ConnectionState.Open)
|
||||
{
|
||||
nxt_conn.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void DB_Connect()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void ViewQuery(DataGridView GV, string query)
|
||||
{
|
||||
try
|
||||
{
|
||||
OracleCommand cmd = new OracleCommand();
|
||||
cmd.Connection = conn;
|
||||
|
||||
OracleDataAdapter adapter = new OracleDataAdapter(query, conn);
|
||||
DataTable data_table = new DataTable();
|
||||
adapter.Fill(data_table);
|
||||
GV.DataSource = data_table;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void Nxt_ViewQuery(DataGridView GV, string query)
|
||||
{
|
||||
try
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
cmd.Connection = nxt_conn;
|
||||
|
||||
MySqlDataAdapter adapter = new MySqlDataAdapter(query, nxt_conn);
|
||||
DataTable data_table = new DataTable();
|
||||
adapter.Fill(data_table);
|
||||
GV.DataSource = data_table;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public int ExecuteQuery(string query)
|
||||
{
|
||||
int result = 0;
|
||||
try
|
||||
{
|
||||
OracleCommand cmd = new OracleCommand();
|
||||
cmd.Connection = conn;
|
||||
cmd.CommandText = query;
|
||||
|
||||
conn.Open();
|
||||
result = cmd.ExecuteNonQuery();
|
||||
conn.Close();
|
||||
m_su = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.ToString());
|
||||
m_su = false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public int Nxt_ExecuteQuery(string query)
|
||||
{
|
||||
int result = 0;
|
||||
try
|
||||
{
|
||||
MySqlCommand cmd = new MySqlCommand();
|
||||
cmd.Connection = nxt_conn;
|
||||
cmd.CommandText = query;
|
||||
|
||||
nxt_conn.Open();
|
||||
result = cmd.ExecuteNonQuery();
|
||||
nxt_conn.Close();
|
||||
m_su = true;
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.ToString());
|
||||
m_su = false;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
293
MBN_STOCK_N/Class/HangulChar.cs
Normal file
293
MBN_STOCK_N/Class/HangulChar.cs
Normal file
@@ -0,0 +1,293 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Util
|
||||
{
|
||||
/// <summary>
|
||||
/// 한글 문자 클래스: 현대 한글 문자에 대해 다양한 속성과 메서드를 제공하는 클래스입니다.
|
||||
/// </summary>
|
||||
public class HangulChar
|
||||
{
|
||||
// 한글에 대한 유니코드 범위 [44032, 55215]
|
||||
private const int BeginCode = 0xAC00;
|
||||
private const int EndCode = 0xD7AF;
|
||||
|
||||
// 문자 구성: 초성, 중성, 종성
|
||||
private static readonly char[] Onset = { 'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ',
|
||||
'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ' };
|
||||
private static readonly char[] Nucleus = { 'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ',
|
||||
'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ' };
|
||||
private static readonly char[] Coda = { (char)0x00, 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ',
|
||||
'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ' };
|
||||
|
||||
// 문자 획수: 초성, 중성, 종성
|
||||
private static readonly int[] OnsetStrokes = { 1, 2, 1, 2, 4, 3, 3, 4, 8, 2, 4, 1, 2, 4, 3, 2, 3, 4, 3 };
|
||||
private static readonly int[] NucleusStrokes =
|
||||
{ 2, 3, 3, 4, 2, 3, 3, 4, 2, 4, 5, 3, 3, 2, 4, 5, 3, 3, 1, 2, 1 };
|
||||
private static readonly int[] CodaStrokes =
|
||||
{ 0, 1, 2, 3, 1, 3, 4, 2, 3, 4, 6, 7, 5, 6, 7, 6, 3, 4, 6, 2, 4, 1, 2, 3, 2, 3, 4, 3 };
|
||||
|
||||
/// <summary>
|
||||
/// 문자로부터 한글 문자 클래스의 인스턴스를 생성합니다.
|
||||
/// </summary>
|
||||
/// <param name="character">한글 문자(char)</param>
|
||||
public HangulChar(char character)
|
||||
{
|
||||
this.CurrentCharacter = character;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 유니코드로부터 한글 문자 클래스의 인스턴스를 생성합니다.
|
||||
/// </summary>
|
||||
/// <param name="unicode">한글 문자(char)에 해당하는 유니코드</param>
|
||||
public HangulChar(int unicode)
|
||||
{
|
||||
this.CurrentCharacter = Convert.ToChar(unicode);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스의 문자입니다.
|
||||
/// </summary>
|
||||
public char CurrentCharacter { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스 문자의 유니코드입니다.
|
||||
/// </summary>
|
||||
public int CurrentUnicode => (int)CurrentCharacter;
|
||||
|
||||
/// <summary>
|
||||
/// 인자의 음소 배열을 한글 음절로 합성합니다.
|
||||
/// 반환값은 합성의 성공(가능) 여부를 나타냅니다.
|
||||
/// </summary>
|
||||
/// <param name="phonemes">초성, 중성(, 종성) 순의 한글 음소 배열</param>
|
||||
/// <param name="syllable">합성된 한글 음절</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException"><paramref name="phonemes"/>이 null로 주어질 경우</exception>
|
||||
public static bool TryJoinToSyllable(char[] phonemes, out char syllable)
|
||||
{
|
||||
if (phonemes == null) { throw new ArgumentNullException(); }
|
||||
|
||||
bool isSuccess = false;
|
||||
// 초성, 중성(, 종성)으로 이루어진 문자 배열인지 확인
|
||||
if (phonemes.Length >= 2 && phonemes.Length <= 3)
|
||||
{
|
||||
bool check = Onset.Contains(phonemes[0]) && Nucleus.Contains(phonemes[1]);
|
||||
isSuccess = phonemes.Length == 3 ? check && Coda.Contains(phonemes[2]) : check;
|
||||
}
|
||||
|
||||
syllable = (char)0x00;
|
||||
// 한글 음절로의 합성이 불가능한 경우
|
||||
if (!isSuccess)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// 한글 음절로의 합성이 가능한 경우
|
||||
int onsetIndex = Array.IndexOf(Onset, phonemes[0]);
|
||||
int nucleusIndex = Array.IndexOf(Nucleus, phonemes[1]);
|
||||
int codaIndex = phonemes.Length == 3 ? Array.IndexOf(Coda, phonemes[2]) : 0;
|
||||
int newCode = BeginCode + (onsetIndex * 588) + (nucleusIndex * 28) + codaIndex;
|
||||
if (newCode < BeginCode || newCode > EndCode)
|
||||
{
|
||||
isSuccess = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
syllable = Convert.ToChar(newCode);
|
||||
}
|
||||
|
||||
return isSuccess;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 인자의 음소 배열을 한글 음절로 합성합니다.
|
||||
/// 합성이 불가능할 경우 예외를 발생시킵니다.
|
||||
/// </summary>
|
||||
/// <param name="phonemes">초성, 중성(, 종성) 순의 한글 음소 배열</param>
|
||||
/// <exception cref="InvalidOperationException">인수의 배열이 합성 가능한 초성, 중성(, 종성)이 아닐 경우</exception>
|
||||
/// <returns></returns>
|
||||
public static char JoinToSyllable(char[] phonemes)
|
||||
{
|
||||
bool isSuccess = TryJoinToSyllable(phonemes, out char syllable);
|
||||
|
||||
if (!isSuccess)
|
||||
{
|
||||
throw new InvalidOperationException("인수의 배열은 합성 가능한 한글 초성, 중성(, 종성)이 아닙니다.");
|
||||
}
|
||||
|
||||
return syllable;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 검색문자를 대상문자에 대해 (초성) 비교 후 일치 여부를 반환합니다.
|
||||
/// 검색문자에 초성이 주어질 경우 초성 일치, 그렇지 않은 경우 문자 완전 일치 여부를 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="searchChar">(초성) 비교할 문자</param>
|
||||
/// <param name="targetChar">비교 대상 문자</param>
|
||||
/// <returns></returns>
|
||||
public static bool IsOnsetMatch(char searchChar, char targetChar)
|
||||
{
|
||||
// 1. 검색문자가 초성인 경우 대응하는 대상문자도 초성을 비교
|
||||
// 2. 그렇지 않은 경우 대응하는 대상문자와 완전 일치 여부 비교
|
||||
HangulChar shc = new HangulChar(searchChar);
|
||||
HangulChar thc = new HangulChar(targetChar);
|
||||
if (shc.IsOnset() && thc.TrySplitSyllable(out char[] phonemes))
|
||||
{
|
||||
targetChar = phonemes[0];
|
||||
}
|
||||
|
||||
return searchChar == targetChar ? true : false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 검색문자를 현재 인스턴스의 문자에 대해 (초성) 비교 후 일치 여부를 반환합니다.
|
||||
/// 검색문자에 초성이 주어질 경우 초성 일치, 그렇지 않은 경우 문자 완전 일치 여부를 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="searchChar">(초성) 비교할 문자</param>
|
||||
/// <returns></returns>
|
||||
public bool IsOnsetMatch(char searchChar)
|
||||
{
|
||||
return HangulChar.IsOnsetMatch(searchChar, this.CurrentCharacter);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 초성으로 사용될 수 있는지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsOnset() => Onset.Contains(CurrentCharacter);
|
||||
|
||||
/// <summary>
|
||||
/// 중성으로 사용될 수 있는지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsNucleus() => Nucleus.Contains(CurrentCharacter);
|
||||
|
||||
/// <summary>
|
||||
/// 종성으로 사용될 수 있는지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsCoda() => Coda.Contains(CurrentCharacter);
|
||||
|
||||
/// <summary>
|
||||
/// 자음인지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsConsonant() => Onset.Contains(CurrentCharacter) || Coda.Contains(CurrentCharacter);
|
||||
|
||||
/// <summary>
|
||||
/// 모음인지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsVowel() => Nucleus.Contains(CurrentCharacter);
|
||||
|
||||
/// <summary>
|
||||
/// 음소(낱소리)인지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsPhoneme() => IsConsonant() || IsVowel();
|
||||
|
||||
/// <summary>
|
||||
/// 음소(낱소리)가 아닌 완전한 한글 음절인지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsSyllable() => BeginCode <= (int)CurrentCharacter && (int)CurrentCharacter <= EndCode;
|
||||
|
||||
/// <summary>
|
||||
/// 한글 문자인지 판단합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsKoreanCharacter() => IsPhoneme() || IsSyllable();
|
||||
|
||||
/// <summary>
|
||||
/// 한글 문자인지 판단합니다. (== IsKoreanCharacter())
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsHangul() => IsKoreanCharacter();
|
||||
|
||||
/// <summary>
|
||||
/// 한글 음절을 초성, 중성, 종성 순으로 분리합니다.
|
||||
/// 반환 결과는 분리의 성공(가능)여부를 나타냅니다.
|
||||
/// </summary>
|
||||
/// <param name="phonemes">초성, 중성, 종성 순으로 분리된 배열</param>
|
||||
/// <returns></returns>
|
||||
public bool TrySplitSyllable(out char[] phonemes)
|
||||
{
|
||||
// 분리 가능한 한글이 아닌 경우
|
||||
if (!IsSyllable())
|
||||
{
|
||||
phonemes = new char[] { (char)0x00, (char)0x00, (char)0x00 };
|
||||
return false;
|
||||
}
|
||||
|
||||
int foo = (int)CurrentCharacter - BeginCode;
|
||||
int onsetIndex = (int)foo / 588;
|
||||
int nucleusIndex = (int)(foo - onsetIndex * 588) / 28;
|
||||
int codaIndex = foo - onsetIndex * 588 - 28 * nucleusIndex;
|
||||
|
||||
phonemes = new char[] { Onset[onsetIndex], Nucleus[nucleusIndex], Coda[codaIndex] };
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 한글 음절을 초성, 중성, 종성 순으로 분리합니다.
|
||||
/// 분리가 불가능한 경우 예외를 발생시킵니다.
|
||||
/// </summary>
|
||||
/// <exception cref="InvalidOperationException">인스턴스의 문자가 분리 가능한 한글이 아닌 경우</exception>
|
||||
/// <returns></returns>
|
||||
public char[] SplitSyllable()
|
||||
{
|
||||
bool isSuccess = TrySplitSyllable(out char[] phonemes);
|
||||
|
||||
if (!isSuccess)
|
||||
{
|
||||
throw new InvalidOperationException("인스턴스의 문자가 분리 가능한 한글이 아닙니다.");
|
||||
}
|
||||
|
||||
return phonemes;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 한글 획수를 반환합니다. 한글이 아닌 문자의 경우 0을 반환합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int CountStrokes()
|
||||
{
|
||||
// 한글이 아닌 경우 0을 반환
|
||||
if (!IsHangul())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int count;
|
||||
// 한글 - 음소인 경우
|
||||
if (IsPhoneme())
|
||||
{
|
||||
if (IsOnset())
|
||||
{
|
||||
count = OnsetStrokes[Array.IndexOf(Onset, CurrentCharacter)];
|
||||
}
|
||||
else if (IsNucleus())
|
||||
{
|
||||
count = NucleusStrokes[Array.IndexOf(Nucleus, CurrentCharacter)];
|
||||
}
|
||||
else
|
||||
{
|
||||
count = CodaStrokes[Array.IndexOf(Coda, CurrentCharacter)];
|
||||
}
|
||||
}
|
||||
// 한글 - 분리 가능한 음절인 경우
|
||||
else
|
||||
{
|
||||
_ = TrySplitSyllable(out char[] phonemes);
|
||||
count = OnsetStrokes[Array.IndexOf(Onset, phonemes[0])];
|
||||
count += NucleusStrokes[Array.IndexOf(Nucleus, phonemes[1])];
|
||||
count += CodaStrokes[Array.IndexOf(Coda, phonemes[2])];
|
||||
}
|
||||
|
||||
return count;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
328
MBN_STOCK_N/Class/HangulString.cs
Normal file
328
MBN_STOCK_N/Class/HangulString.cs
Normal file
@@ -0,0 +1,328 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Util
|
||||
{
|
||||
/// <summary>
|
||||
/// 한글 문자열 클래스: (한글을 포함한) 문자열에 대해 한글 처리에 관련된 다양한 속성과 메서드를 제공하는 클래스입니다.
|
||||
/// </summary>
|
||||
public class HangulString
|
||||
{
|
||||
/// <summary>
|
||||
/// 문자열로부터 한글 문자열 클래스의 인스턴스를 생성합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString">인스턴스를 생성할 문자열</param>
|
||||
public HangulString(string aString) => CurrentString = aString;
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스의 문자열입니다.
|
||||
/// </summary>
|
||||
public string CurrentString { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// 문자열을 HangulChar 클래스 인스턴스의 배열로 변환하여 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException">입력 인자가 null인 경우</exception>
|
||||
public static HangulChar[] ToHangulCharArray(string aString)
|
||||
{
|
||||
if (aString is null)
|
||||
{
|
||||
throw new ArgumentNullException();
|
||||
}
|
||||
return aString.ToCharArray().Select(c => new HangulChar(c)).ToArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 문자열을 한글 문자열 부분과 나머지 문자열 부분으로 구분하여 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException">입력 인자가 null인 경우</exception>
|
||||
public static string[] SeparateString(string aString)
|
||||
{
|
||||
if (aString is null)
|
||||
{
|
||||
throw new ArgumentNullException();
|
||||
}
|
||||
|
||||
string[] result = new string[2];
|
||||
StringBuilder sbKorean = new StringBuilder();
|
||||
StringBuilder sbOthers = new StringBuilder();
|
||||
foreach (char c in aString)
|
||||
{
|
||||
HangulChar hc = new HangulChar(c);
|
||||
if (hc.IsKoreanCharacter())
|
||||
{
|
||||
sbKorean.Append(c);
|
||||
}
|
||||
else
|
||||
{
|
||||
sbOthers.Append(c);
|
||||
}
|
||||
}
|
||||
result[0] = sbKorean.ToString();
|
||||
result[1] = sbOthers.ToString();
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 문자열이 모두 한글로만 이루어져 있는지의 여부를 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString"></param>
|
||||
/// <returns></returns>
|
||||
public static bool IsAllHangul(string aString)
|
||||
{
|
||||
string checkPoint = HangulString.SeparateString(aString)[1];
|
||||
if (checkPoint.Length > 0)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 문자열에 대해 한글 음절을 초성, 중성, 종성으로 분리하여 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException"><paramref name="aString"/>이 null인 경우</exception>
|
||||
public static string SplitToPhonemes(string aString)
|
||||
{
|
||||
if (aString == null)
|
||||
{
|
||||
throw new ArgumentNullException();
|
||||
}
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (char c in aString)
|
||||
{
|
||||
HangulChar hc = new HangulChar(c);
|
||||
// 한글 음절로 판명되어 분리가 가능한 경우
|
||||
if (hc.TrySplitSyllable(out char[] phonemes))
|
||||
{
|
||||
foreach (char pc in phonemes)
|
||||
{
|
||||
// 초성-중성으로만 이루어져 있는 경우 종성은 반환 문자열에 포함하지 않음
|
||||
if (pc != (char)0x00)
|
||||
{
|
||||
sb.Append(pc);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 한글 음절이 아닌 경우
|
||||
else
|
||||
{
|
||||
sb.Append(c);
|
||||
}
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 문자열 내의 초성, 중성, 종성 음소를 합성하여 반환합니다.
|
||||
/// 의도하지 않은 반환 결과를 피하기 위해 일반적으로 사용하는 방식의
|
||||
/// (완전한 한글 음절이 분리된) 자음/모음으로 구성된 문자열을 인수로 사용할 것을 권장합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException"><paramref name="aString"/>이 null인 경우</exception>
|
||||
public static string JoinPhonemes(string aString)
|
||||
{
|
||||
if (aString == null) { throw new ArgumentNullException(); }
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int curIdx = 0;
|
||||
int lastIdx = aString.Length - 1;
|
||||
// 마지막 인덱스 이후의 값 판단에 대한 예외를 피하기 위해 대상 문자열에 10개의 공백 임시 추가
|
||||
string newString = aString + new string(' ', 10);
|
||||
|
||||
while (curIdx <= lastIdx)
|
||||
{
|
||||
// 현재 인덱스의 문자
|
||||
HangulChar hc = new HangulChar(newString[curIdx]);
|
||||
// 현재 인덱스의 문자가 음소가 아닌 경우 현재 문자를 더하고 다음 인덱스로 이동
|
||||
if (!hc.IsPhoneme())
|
||||
{
|
||||
sb.Append(hc.CurrentCharacter);
|
||||
curIdx++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// 현재 인덱스의 문자가 음소인 경우에 대해
|
||||
// (1) 현재 인덱스로부터 2글자 합성이 가능하고
|
||||
// (2)-A 이후 첫 글자가 한글이 아니거나
|
||||
// (2)-B 이후 두 글자(초성-중성)가 합성이 가능한 경우
|
||||
// 현재 인덱스로부터 2글자를 합성하고, 인덱스를 2칸 전진
|
||||
bool isCur2SpanOk = HangulChar.TryJoinToSyllable(
|
||||
new char[] { newString[curIdx], newString[curIdx + 1] },
|
||||
out char cur2SpanSyllable);
|
||||
bool isCur2Next1Ok = !(new HangulChar(newString[curIdx + 2])).IsHangul();
|
||||
bool isCur2Next2Ok = HangulChar.TryJoinToSyllable(
|
||||
new char[] { newString[curIdx + 2], newString[curIdx + 3] },
|
||||
out char _);
|
||||
// (3) 현재 인덱스로부터 3글자 합성이 가능하고
|
||||
// (4)-A 이후 첫 글자가 한글이 아니거나
|
||||
// (4)-B 이후 두 글자(초성-중성)가 합성이 가능한 경우
|
||||
// 현재 인덱스로부터 3글자를 합성하고, 인덱스를 3칸 전진
|
||||
bool isCur3SpanOk = HangulChar.TryJoinToSyllable(
|
||||
new char[] { newString[curIdx], newString[curIdx + 1], newString[curIdx + 2] },
|
||||
out char cur3SpanSyllable);
|
||||
bool isCur3Next1Ok = !(new HangulChar(newString[curIdx + 3])).IsHangul();
|
||||
bool isCur3Next2Ok = HangulChar.TryJoinToSyllable(
|
||||
new char[] { newString[curIdx + 3], newString[curIdx + 4] },
|
||||
out char _);
|
||||
|
||||
// 상기 논리에 의한 판단부
|
||||
// 2글자 기준 판단
|
||||
if (isCur2SpanOk && (isCur2Next1Ok || isCur2Next2Ok))
|
||||
{
|
||||
sb.Append(cur2SpanSyllable);
|
||||
curIdx += 2;
|
||||
}
|
||||
// 3글자 기준 판단
|
||||
else if (isCur3SpanOk && (isCur3Next1Ok || isCur3Next2Ok))
|
||||
{
|
||||
sb.Append(cur3SpanSyllable);
|
||||
curIdx += 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append(hc.CurrentCharacter);
|
||||
curIdx++;
|
||||
}
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 문자열에 대해 초성 검색을 실시합니다. 반환값은 초성 검색에 대한 결과의 존재여부입니다.
|
||||
/// 검색 문자열에 초성이 주어질 경우 초성 일치, 그렇지 않은 경우 문자 완전 일치 여부를 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="searchString">검색할 문자열</param>
|
||||
/// <param name="targetString">대상 문자열</param>
|
||||
/// <param name="indices">(초성)일치가 발견된 대상 문자열 내 인덱스 배열</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="ArgumentNullException"><paramref name="searchString"/> 또는 <paramref name="targetString"/>이 null인 경우</exception>
|
||||
public static bool GetOnsetMatches(string searchString, string targetString, out int[] indices)
|
||||
{
|
||||
if (searchString == null || targetString == null)
|
||||
{
|
||||
throw new ArgumentNullException();
|
||||
}
|
||||
|
||||
List<int> idxs = new List<int>();
|
||||
|
||||
// 검색 문자열의 길이가 대상 문자열의 길이보다 긴 경우
|
||||
if (searchString.Length > targetString.Length)
|
||||
{
|
||||
indices = idxs.ToArray();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 대상 문자열 내의 인덱스를 증가시켜 가며
|
||||
for (int curIdx = 0; curIdx < targetString.Length - searchString.Length + 1; curIdx++)
|
||||
{
|
||||
// 해당 인덱스로부터 검색 문자열의 길이만큼 초성일치 검색 수행
|
||||
// 초성 일치가 될 경우 해당 인덱스 저장
|
||||
bool isMatch = true;
|
||||
for (int chkIdx = curIdx; chkIdx < curIdx + searchString.Length; chkIdx++)
|
||||
{
|
||||
if (!HangulChar.IsOnsetMatch(searchString[chkIdx - curIdx], targetString[chkIdx]))
|
||||
{
|
||||
isMatch = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isMatch)
|
||||
{
|
||||
idxs.Add(curIdx);
|
||||
}
|
||||
}
|
||||
indices = idxs.ToArray();
|
||||
if (indices.Length > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스의 문자열을 HangulChar 클래스 인스턴스의 배열로 변환하여 반환합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public HangulChar[] ToHangulCharArray() => HangulString.ToHangulCharArray(CurrentString);
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스의 문자열을 한글 문자열 부분과 나머지 문자열 부분으로 구분하여 반환합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string[] SeparateString() => HangulString.SeparateString(CurrentString);
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스의 문자열이 모두 한글로만 이루어져 있는지의 여부를 반환합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsAllHangul() => HangulString.IsAllHangul(CurrentString);
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인스턴스의 문자열에 대해 한글 음절을 초성, 중성, 종성으로 분리하여 반환합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string SplitToPhonemes() => HangulString.SplitToPhonemes(CurrentString);
|
||||
|
||||
/// <summary>
|
||||
/// 인스턴스 문자열 내의 초성, 중성, 종성 음소를 합성하여 반환합니다.
|
||||
/// 의도하지 않은 반환 결과를 피하기 위해 일반적으로 사용하는 방식의
|
||||
/// (완전한 한글 음절이 분리된) 자음/모음으로 구성된 문자열을 인수로 사용할 것을 권장합니다.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string JoinPhonemes() => HangulString.JoinPhonemes(CurrentString);
|
||||
|
||||
/// <summary>
|
||||
/// 인스턴스 문자열의 길이(글자수)를 반환합니다.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 윈도우 시스템에서는 개행문자가 2글자(2바이트)로 취급됨에 유의해야 합니다.
|
||||
/// </remarks>
|
||||
/// <param name="ignoreWhiteSpcaes">공백문자(whitespace) 무시 여부</param>
|
||||
/// <returns></returns>
|
||||
public int GetStringLength(bool ignoreWhiteSpcaes = false)
|
||||
{
|
||||
string inputString = ignoreWhiteSpcaes ? RemoveWhiteSpaces(CurrentString) : CurrentString;
|
||||
return inputString.Length;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 현재 인코딩에 대해 인스턴스 문자열의 길이(바이트)를 반환합니다.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 윈도우 시스템에서는 개행문자가 2글자(2바이트)로 취급됨에 유의해야 합니다.
|
||||
/// </remarks>
|
||||
/// <param name="ignoreWhiteSpcaes">공백문자(whitespace) 무시 여부</param>
|
||||
/// <returns></returns>
|
||||
public int GetStringByteLength(bool ignoreWhiteSpcaes = false)
|
||||
{
|
||||
string inputString = ignoreWhiteSpcaes ? RemoveWhiteSpaces(CurrentString) : CurrentString;
|
||||
return Encoding.Default.GetByteCount(inputString);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 인수의 문자열에서 공백문자(whitespace)를 제거한 문자열을 반환합니다.
|
||||
/// </summary>
|
||||
/// <param name="aString"></param>
|
||||
/// <returns></returns>
|
||||
private static string RemoveWhiteSpaces(string aString) =>
|
||||
new string(aString.Where(c => !char.IsWhiteSpace(c)).Select(c => c).ToArray());
|
||||
}
|
||||
}
|
||||
97
MBN_STOCK_N/Class/Nxt_PageN.cs
Normal file
97
MBN_STOCK_N/Class/Nxt_PageN.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using K3DAsyncEngineLib;
|
||||
using System.Data;
|
||||
using MMoneyCoderSharp.Data;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
class Nxt_PageN
|
||||
{
|
||||
MainForm mf = null;
|
||||
public int m_pcnt = 0;
|
||||
|
||||
// public PageN(Form frm, string code, string sub)
|
||||
public Nxt_PageN(Form frm, string code, string sub, string title)
|
||||
{
|
||||
try
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
DataSet ds = null;
|
||||
국내시장종류 type = 국내시장종류.NXT_KOSPI;
|
||||
|
||||
if (code.Equals("코스닥_NXT"))
|
||||
{
|
||||
type = 국내시장종류.NXT_KOSDAQ;
|
||||
}
|
||||
|
||||
if (sub.Contains("시가총액"))
|
||||
{
|
||||
ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시가총액);
|
||||
}
|
||||
else if (sub.Contains("상승률"))
|
||||
{
|
||||
ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.상승률);
|
||||
}
|
||||
else if (sub.Contains("하락률"))
|
||||
{
|
||||
ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.하락률);
|
||||
}
|
||||
else if (sub.Contains("시간외상승"))
|
||||
{
|
||||
ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외상승률);
|
||||
}
|
||||
else if (sub.Contains("시간외하락"))
|
||||
{
|
||||
ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.시간외하락률);
|
||||
}
|
||||
else if (sub.Contains("거래량"))
|
||||
{
|
||||
ds = DataManager.getInstance().Nxt_create5DanDataIndex(type, 데이터5단판지수별.거래량);
|
||||
}
|
||||
|
||||
mf.dataGridView1.DataSource = ds.Tables[0];
|
||||
|
||||
int a = 0;
|
||||
int b = 0;
|
||||
if (title.Contains("6종목 현재가"))
|
||||
{
|
||||
a = (mf.dataGridView1.RowCount - 1) / 6;
|
||||
b = (mf.dataGridView1.RowCount - 1) % 6;
|
||||
}
|
||||
else if (title.Contains("12종목 현재가"))
|
||||
{
|
||||
a = (mf.dataGridView1.RowCount - 1) / 12;
|
||||
b = (mf.dataGridView1.RowCount - 1) % 12;
|
||||
}
|
||||
else
|
||||
{
|
||||
a = (mf.dataGridView1.RowCount - 1) / 5;
|
||||
b = (mf.dataGridView1.RowCount - 1) % 5;
|
||||
}
|
||||
|
||||
if (a > 20)
|
||||
{
|
||||
a = 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (b != 0)
|
||||
a = a + 1;
|
||||
}
|
||||
m_pcnt = a;
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
//MessageBox.Show("데이터가 없습니다");
|
||||
}
|
||||
|
||||
//MessageBox.Show(a.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
120
MBN_STOCK_N/Class/PageN.cs
Normal file
120
MBN_STOCK_N/Class/PageN.cs
Normal file
@@ -0,0 +1,120 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using K3DAsyncEngineLib;
|
||||
using System.Data;
|
||||
using MMoneyCoderSharp.Data;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
class PageN
|
||||
{
|
||||
MainForm mf = null;
|
||||
public int m_pcnt = 0;
|
||||
|
||||
// public PageN(Form frm, string code, string sub)
|
||||
public PageN(Form frm, string code, string sub, string title)
|
||||
{
|
||||
try
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
DataSet ds = null;
|
||||
국내시장종류 type = 국내시장종류.KOSPI;
|
||||
|
||||
if (code.Equals("코스닥"))
|
||||
{
|
||||
type = 국내시장종류.KOSDAQ;
|
||||
}
|
||||
|
||||
if (sub.Contains("예상가 시가총액 상위"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.예상가시가총액상위);
|
||||
}
|
||||
else if (sub.Contains("시가총액"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시가총액);
|
||||
}
|
||||
else if (sub.Contains("업종지수"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.업종);
|
||||
}
|
||||
else if (sub.Contains("상승률"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.상승률);
|
||||
}
|
||||
else if (sub.Contains("하락률"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.하락률);
|
||||
}
|
||||
else if (sub.Contains("시간외상승"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외상승률);
|
||||
}
|
||||
else if (sub.Contains("시간외하락"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.시간외하락률);
|
||||
}
|
||||
else if (sub.Contains("52주 신고가"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신고가52주);
|
||||
|
||||
}
|
||||
else if (sub.Contains("52주 신저가"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.신저가52주);
|
||||
|
||||
}
|
||||
else if (sub.Contains("코스피 200 종목"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.코스피200);
|
||||
}
|
||||
|
||||
else if (sub.Contains("ETF 종목"))
|
||||
{
|
||||
ds = DataManager.getInstance().create5DanDataIndex(type, 데이터5단판지수별.ETF);
|
||||
}
|
||||
|
||||
mf.dataGridView1.DataSource = ds.Tables[0];
|
||||
|
||||
int a = 0;
|
||||
int b = 0;
|
||||
if (title.Contains("6종목 현재가"))
|
||||
{
|
||||
a = (mf.dataGridView1.RowCount - 1) / 6;
|
||||
b = (mf.dataGridView1.RowCount - 1) % 6;
|
||||
}
|
||||
else if (title.Contains("12종목 현재가"))
|
||||
{
|
||||
a = (mf.dataGridView1.RowCount - 1) / 12;
|
||||
b = (mf.dataGridView1.RowCount - 1) % 12;
|
||||
}
|
||||
else
|
||||
{
|
||||
a = (mf.dataGridView1.RowCount - 1) / 5;
|
||||
b = (mf.dataGridView1.RowCount - 1) % 5;
|
||||
}
|
||||
|
||||
if (a > 20)
|
||||
{
|
||||
a = 20;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (b != 0)
|
||||
a = a + 1;
|
||||
}
|
||||
m_pcnt = a;
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
//MessageBox.Show("데이터가 없습니다");
|
||||
}
|
||||
|
||||
//MessageBox.Show(a.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
22
MBN_STOCK_N/Class/Program.cs
Normal file
22
MBN_STOCK_N/Class/Program.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// 해당 애플리케이션의 주 진입점입니다.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new MainForm());
|
||||
}
|
||||
}
|
||||
}
|
||||
19
MBN_STOCK_N/Class/Util.cs
Normal file
19
MBN_STOCK_N/Class/Util.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
using FarPoint.Win.Spread;
|
||||
using System.Windows.Forms;
|
||||
|
||||
|
||||
class Util
|
||||
{
|
||||
public Util()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
96
MBN_STOCK_N/Control/UC1.Designer.cs
generated
Normal file
96
MBN_STOCK_N/Control/UC1.Designer.cs
generated
Normal file
@@ -0,0 +1,96 @@
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
partial class UC1
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.treeView = new System.Windows.Forms.TreeView();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.chE = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// treeView
|
||||
//
|
||||
this.treeView.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.treeView.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.treeView.ForeColor = System.Drawing.Color.Black;
|
||||
this.treeView.Location = new System.Drawing.Point(3, 42);
|
||||
this.treeView.Name = "treeView";
|
||||
this.treeView.Size = new System.Drawing.Size(416, 780);
|
||||
this.treeView.TabIndex = 1;
|
||||
this.treeView.BeforeCollapse += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeCollapse);
|
||||
this.treeView.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeExpand);
|
||||
this.treeView.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.treeView_DrawNode);
|
||||
this.treeView.BeforeSelect += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeView_BeforeSelect);
|
||||
this.treeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView_AfterSelect);
|
||||
this.treeView.DoubleClick += new System.EventHandler(this.treeView_DoubleClick);
|
||||
this.treeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseDown);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.label1.Location = new System.Drawing.Point(7, 22);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(62, 15);
|
||||
this.label1.TabIndex = 4;
|
||||
this.label1.Text = "Category";
|
||||
//
|
||||
// chE
|
||||
//
|
||||
this.chE.AutoSize = true;
|
||||
this.chE.Location = new System.Drawing.Point(8, 4);
|
||||
this.chE.Name = "chE";
|
||||
this.chE.Size = new System.Drawing.Size(67, 16);
|
||||
this.chE.TabIndex = 3;
|
||||
this.chE.Text = "Expand";
|
||||
this.chE.UseVisualStyleBackColor = true;
|
||||
this.chE.CheckedChanged += new System.EventHandler(this.chE_CheckedChanged);
|
||||
//
|
||||
// UC1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.chE);
|
||||
this.Controls.Add(this.treeView);
|
||||
this.Name = "UC1";
|
||||
this.Size = new System.Drawing.Size(524, 890);
|
||||
this.Load += new System.EventHandler(this.UC1_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TreeView treeView;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.CheckBox chE;
|
||||
}
|
||||
}
|
||||
1428
MBN_STOCK_N/Control/UC1.cs
Normal file
1428
MBN_STOCK_N/Control/UC1.cs
Normal file
File diff suppressed because it is too large
Load Diff
120
MBN_STOCK_N/Control/UC1.resx
Normal file
120
MBN_STOCK_N/Control/UC1.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
144
MBN_STOCK_N/Control/UC2.Designer.cs
generated
Normal file
144
MBN_STOCK_N/Control/UC2.Designer.cs
generated
Normal file
@@ -0,0 +1,144 @@
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
partial class UC2
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.txt2 = new System.Windows.Forms.TextBox();
|
||||
this.btnswap = new System.Windows.Forms.Button();
|
||||
this.txt1 = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.listbox = new System.Windows.Forms.ListBox();
|
||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.txt2);
|
||||
this.panel1.Controls.Add(this.btnswap);
|
||||
this.panel1.Controls.Add(this.txt1);
|
||||
this.panel1.Controls.Add(this.label1);
|
||||
this.panel1.Location = new System.Drawing.Point(3, 297);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(416, 38);
|
||||
this.panel1.TabIndex = 593;
|
||||
//
|
||||
// txt2
|
||||
//
|
||||
this.txt2.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txt2.Location = new System.Drawing.Point(288, 5);
|
||||
this.txt2.Name = "txt2";
|
||||
this.txt2.Size = new System.Drawing.Size(120, 25);
|
||||
this.txt2.TabIndex = 592;
|
||||
//
|
||||
// btnswap
|
||||
//
|
||||
this.btnswap.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnswap.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.btnswap.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnswap.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnswap.Location = new System.Drawing.Point(200, 3);
|
||||
this.btnswap.Name = "btnswap";
|
||||
this.btnswap.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnswap.Size = new System.Drawing.Size(82, 24);
|
||||
this.btnswap.TabIndex = 591;
|
||||
this.btnswap.Text = "◀▶";
|
||||
this.btnswap.UseVisualStyleBackColor = true;
|
||||
this.btnswap.Click += new System.EventHandler(this.btnswap_Click);
|
||||
//
|
||||
// txt1
|
||||
//
|
||||
this.txt1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txt1.Location = new System.Drawing.Point(75, 5);
|
||||
this.txt1.Name = "txt1";
|
||||
this.txt1.Size = new System.Drawing.Size(120, 25);
|
||||
this.txt1.TabIndex = 590;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.label1.Location = new System.Drawing.Point(4, 8);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(64, 17);
|
||||
this.label1.TabIndex = 589;
|
||||
this.label1.Text = "업종비교";
|
||||
//
|
||||
// listbox
|
||||
//
|
||||
this.listbox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.listbox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.listbox.FormattingEnabled = true;
|
||||
this.listbox.ItemHeight = 17;
|
||||
this.listbox.Location = new System.Drawing.Point(3, 3);
|
||||
this.listbox.Name = "listbox";
|
||||
this.listbox.Size = new System.Drawing.Size(416, 291);
|
||||
this.listbox.TabIndex = 592;
|
||||
this.listbox.SelectedIndexChanged += new System.EventHandler(this.listbox_SelectedIndexChanged);
|
||||
this.listbox.DoubleClick += new System.EventHandler(this.listbox_DoubleClick);
|
||||
//
|
||||
// dataGridView1
|
||||
//
|
||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView1.Location = new System.Drawing.Point(37, 484);
|
||||
this.dataGridView1.Name = "dataGridView1";
|
||||
this.dataGridView1.RowTemplate.Height = 23;
|
||||
this.dataGridView1.Size = new System.Drawing.Size(468, 150);
|
||||
this.dataGridView1.TabIndex = 594;
|
||||
//
|
||||
// UC2
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.dataGridView1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.listbox);
|
||||
this.Name = "UC2";
|
||||
this.Size = new System.Drawing.Size(472, 354);
|
||||
this.Load += new System.EventHandler(this.UC2_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
public System.Windows.Forms.TextBox txt2;
|
||||
private System.Windows.Forms.Button btnswap;
|
||||
public System.Windows.Forms.TextBox txt1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
public System.Windows.Forms.ListBox listbox;
|
||||
private System.Windows.Forms.DataGridView dataGridView1;
|
||||
}
|
||||
}
|
||||
79
MBN_STOCK_N/Control/UC2.cs
Normal file
79
MBN_STOCK_N/Control/UC2.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public partial class UC2 : UserControl
|
||||
{
|
||||
MainForm mf = null;
|
||||
public int m_idx = 0;
|
||||
//DBCon m_db = new DBCon();
|
||||
|
||||
public UC2()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
public UC2(Form frm, int idx)
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
m_idx = idx;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void UC2_Load(object sender, EventArgs e)
|
||||
{
|
||||
List<int> list = new List<int>();
|
||||
string query = string.Empty;
|
||||
|
||||
if (m_idx == 0)
|
||||
{
|
||||
query = "SELECT F_PART_NAME, F_PART_CODE FROM T_PART WHERE F_PART_CODE <> '001' ORDER BY F_PART_NAME";
|
||||
}
|
||||
else
|
||||
{
|
||||
query = "SELECT DISTINCT A.F_PART_CODE, A.F_PART_NAME FROM T_KOSDAQ_PART A, T_KOSDAQ_INDEX B";
|
||||
query = query + " WHERE A.F_PART_CODE = B.F_PART_CODE AND A.F_PART_CODE < > '001' ORDER BY A.F_PART_CODE";
|
||||
}
|
||||
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
listbox.Items.Clear();
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
listbox.Items.Add(dataGridView1.Rows[i].Cells[m_idx].Value.ToString());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void listbox_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
txt2.Text = txt1.Text;
|
||||
txt1.Text = (string)listbox.SelectedItem;
|
||||
|
||||
}
|
||||
|
||||
private void btnswap_Click(object sender, EventArgs e)
|
||||
{
|
||||
string tmp = string.Empty;
|
||||
|
||||
tmp = txt1.Text;
|
||||
|
||||
txt1.Text = txt2.Text;
|
||||
txt2.Text = tmp;
|
||||
}
|
||||
|
||||
private void listbox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
120
MBN_STOCK_N/Control/UC2.resx
Normal file
120
MBN_STOCK_N/Control/UC2.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
792
MBN_STOCK_N/Control/UC3.Designer.cs
generated
Normal file
792
MBN_STOCK_N/Control/UC3.Designer.cs
generated
Normal file
@@ -0,0 +1,792 @@
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
partial class UC3
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
System.Windows.Forms.Button btnswap;
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UC3));
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced");
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault");
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle7 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced");
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle8 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault");
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder();
|
||||
this.txtSearch = new System.Windows.Forms.TextBox();
|
||||
this.listBox = new System.Windows.Forms.ListBox();
|
||||
this.btnsearch = new System.Windows.Forms.Button();
|
||||
this.txt2 = new System.Windows.Forms.TextBox();
|
||||
this.txt1 = new System.Windows.Forms.TextBox();
|
||||
this.tabp6_1 = new System.Windows.Forms.Panel();
|
||||
this.groupBox4 = new System.Windows.Forms.GroupBox();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.txtj = new System.Windows.Forms.TextBox();
|
||||
this.btnsearch2 = new System.Windows.Forms.Button();
|
||||
this.FpSpread2 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.btnAdd = new System.Windows.Forms.Button();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btn4 = new System.Windows.Forms.Button();
|
||||
this.btn3 = new System.Windows.Forms.Button();
|
||||
this.btn2 = new System.Windows.Forms.Button();
|
||||
this.btn1 = new System.Windows.Forms.Button();
|
||||
this.FpSpread = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.listBox1 = new System.Windows.Forms.ListBox();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
btnswap = new System.Windows.Forms.Button();
|
||||
this.tabp6_1.SuspendLayout();
|
||||
this.groupBox4.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit();
|
||||
this.groupBox3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).BeginInit();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1";
|
||||
enhancedColumnHeaderRenderer1.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer1.Name = "rowHeaderRenderer1";
|
||||
rowHeaderRenderer1.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2";
|
||||
enhancedColumnHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer2.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer2.Name = "rowHeaderRenderer2";
|
||||
rowHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer2.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3";
|
||||
enhancedColumnHeaderRenderer3.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer3.Name = "rowHeaderRenderer3";
|
||||
rowHeaderRenderer3.TextRotationAngle = 0D;
|
||||
//
|
||||
// btnswap
|
||||
//
|
||||
btnswap.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
btnswap.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
btnswap.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
btnswap.ForeColor = System.Drawing.Color.Black;
|
||||
btnswap.Location = new System.Drawing.Point(138, 2);
|
||||
btnswap.Name = "btnswap";
|
||||
btnswap.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
btnswap.Size = new System.Drawing.Size(43, 25);
|
||||
btnswap.TabIndex = 597;
|
||||
btnswap.Text = "◀▶";
|
||||
btnswap.UseVisualStyleBackColor = true;
|
||||
btnswap.Click += new System.EventHandler(this.btnswap_Click);
|
||||
enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6";
|
||||
enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer6.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer6.Name = "rowHeaderRenderer6";
|
||||
rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer6.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7";
|
||||
enhancedColumnHeaderRenderer7.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer7.Name = "rowHeaderRenderer7";
|
||||
rowHeaderRenderer7.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4";
|
||||
enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer4.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer4.Name = "rowHeaderRenderer4";
|
||||
rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer4.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5";
|
||||
enhancedColumnHeaderRenderer5.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer5.Name = "rowHeaderRenderer5";
|
||||
rowHeaderRenderer5.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10";
|
||||
enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer10.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer10.Name = "rowHeaderRenderer10";
|
||||
rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer10.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11";
|
||||
enhancedColumnHeaderRenderer11.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer11.Name = "rowHeaderRenderer11";
|
||||
rowHeaderRenderer11.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12";
|
||||
enhancedColumnHeaderRenderer12.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer12.Name = "rowHeaderRenderer12";
|
||||
rowHeaderRenderer12.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8";
|
||||
enhancedColumnHeaderRenderer8.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer8.Name = "rowHeaderRenderer8";
|
||||
rowHeaderRenderer8.TextRotationAngle = 0D;
|
||||
//
|
||||
// txtSearch
|
||||
//
|
||||
this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txtSearch.Location = new System.Drawing.Point(6, 19);
|
||||
this.txtSearch.Name = "txtSearch";
|
||||
this.txtSearch.Size = new System.Drawing.Size(128, 25);
|
||||
this.txtSearch.TabIndex = 591;
|
||||
this.txtSearch.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtSearch_KeyDown);
|
||||
this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress);
|
||||
//
|
||||
// listBox
|
||||
//
|
||||
this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.listBox.FormattingEnabled = true;
|
||||
this.listBox.ItemHeight = 17;
|
||||
this.listBox.Location = new System.Drawing.Point(5, 50);
|
||||
this.listBox.Name = "listBox";
|
||||
this.listBox.Size = new System.Drawing.Size(201, 225);
|
||||
this.listBox.TabIndex = 594;
|
||||
this.listBox.SelectedIndexChanged += new System.EventHandler(this.listBox_SelectedIndexChanged);
|
||||
this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick);
|
||||
//
|
||||
// btnsearch
|
||||
//
|
||||
this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnsearch.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image")));
|
||||
this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnsearch.Location = new System.Drawing.Point(138, 17);
|
||||
this.btnsearch.Name = "btnsearch";
|
||||
this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnsearch.Size = new System.Drawing.Size(67, 26);
|
||||
this.btnsearch.TabIndex = 592;
|
||||
this.btnsearch.Text = " 검색";
|
||||
this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnsearch.UseVisualStyleBackColor = true;
|
||||
this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click);
|
||||
//
|
||||
// txt2
|
||||
//
|
||||
this.txt2.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txt2.Location = new System.Drawing.Point(185, 4);
|
||||
this.txt2.Name = "txt2";
|
||||
this.txt2.ReadOnly = true;
|
||||
this.txt2.Size = new System.Drawing.Size(120, 25);
|
||||
this.txt2.TabIndex = 598;
|
||||
//
|
||||
// txt1
|
||||
//
|
||||
this.txt1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txt1.Location = new System.Drawing.Point(13, 4);
|
||||
this.txt1.Name = "txt1";
|
||||
this.txt1.ReadOnly = true;
|
||||
this.txt1.Size = new System.Drawing.Size(120, 25);
|
||||
this.txt1.TabIndex = 596;
|
||||
//
|
||||
// tabp6_1
|
||||
//
|
||||
this.tabp6_1.Controls.Add(this.groupBox4);
|
||||
this.tabp6_1.Controls.Add(this.btnAdd);
|
||||
this.tabp6_1.Controls.Add(this.groupBox3);
|
||||
this.tabp6_1.Controls.Add(this.groupBox2);
|
||||
this.tabp6_1.Controls.Add(this.groupBox1);
|
||||
this.tabp6_1.Controls.Add(this.txt1);
|
||||
this.tabp6_1.Controls.Add(this.txt2);
|
||||
this.tabp6_1.Controls.Add(btnswap);
|
||||
this.tabp6_1.Location = new System.Drawing.Point(3, 0);
|
||||
this.tabp6_1.Name = "tabp6_1";
|
||||
this.tabp6_1.Size = new System.Drawing.Size(439, 607);
|
||||
this.tabp6_1.TabIndex = 599;
|
||||
//
|
||||
// groupBox4
|
||||
//
|
||||
this.groupBox4.Controls.Add(this.panel1);
|
||||
this.groupBox4.Controls.Add(this.txtj);
|
||||
this.groupBox4.Controls.Add(this.btnsearch2);
|
||||
this.groupBox4.Controls.Add(this.FpSpread2);
|
||||
this.groupBox4.Location = new System.Drawing.Point(223, 162);
|
||||
this.groupBox4.Name = "groupBox4";
|
||||
this.groupBox4.Size = new System.Drawing.Size(189, 155);
|
||||
this.groupBox4.TabIndex = 605;
|
||||
this.groupBox4.TabStop = false;
|
||||
this.groupBox4.Text = "해외 종목";
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel1.Location = new System.Drawing.Point(7, 66);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(174, 1);
|
||||
this.panel1.TabIndex = 622;
|
||||
//
|
||||
// txtj
|
||||
//
|
||||
this.txtj.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txtj.Location = new System.Drawing.Point(5, 13);
|
||||
this.txtj.Name = "txtj";
|
||||
this.txtj.Size = new System.Drawing.Size(114, 25);
|
||||
this.txtj.TabIndex = 608;
|
||||
this.txtj.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtj_KeyPress);
|
||||
//
|
||||
// btnsearch2
|
||||
//
|
||||
this.btnsearch2.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnsearch2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnsearch2.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnsearch2.Location = new System.Drawing.Point(126, 11);
|
||||
this.btnsearch2.Name = "btnsearch2";
|
||||
this.btnsearch2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnsearch2.Size = new System.Drawing.Size(58, 29);
|
||||
this.btnsearch2.TabIndex = 609;
|
||||
this.btnsearch2.Text = "검색";
|
||||
this.btnsearch2.UseVisualStyleBackColor = true;
|
||||
this.btnsearch2.Click += new System.EventHandler(this.btnsearch2_Click);
|
||||
//
|
||||
// FpSpread2
|
||||
//
|
||||
this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread2.AutoClipboard = false;
|
||||
this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread2.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders;
|
||||
this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread2.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1;
|
||||
this.FpSpread2.HorizontalScrollBar.TabIndex = 363;
|
||||
this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread2.Location = new System.Drawing.Point(5, 41);
|
||||
this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread2.Name = "FpSpread2";
|
||||
namedStyle1.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle1.CellType = generalCellType1;
|
||||
namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle1.Renderer = generalCellType1;
|
||||
namedStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle2.Renderer = cornerRenderer1;
|
||||
namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233)))));
|
||||
namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle3.Renderer = enhancedColumnHeaderRenderer12;
|
||||
namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle4.Renderer = rowHeaderRenderer12;
|
||||
namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle1,
|
||||
namedStyle2,
|
||||
namedStyle3,
|
||||
namedStyle4});
|
||||
this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread2_Sheet1,
|
||||
this.FpSpread2_Sheet2});
|
||||
this.FpSpread2.Size = new System.Drawing.Size(178, 103);
|
||||
spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.DefaultStyle = namedStyle4;
|
||||
spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin1.Name = "CustomSkin1";
|
||||
spreadSkin1.RowHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2;
|
||||
spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread2.Skin = spreadSkin1;
|
||||
this.FpSpread2.TabIndex = 612;
|
||||
this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread2.VerticalScrollBar.Name = "";
|
||||
this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer3;
|
||||
this.FpSpread2.VerticalScrollBar.TabIndex = 364;
|
||||
this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread2.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellClick_1);
|
||||
this.FpSpread2.CellDoubleClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellDoubleClick);
|
||||
//
|
||||
// FpSpread2_Sheet1
|
||||
//
|
||||
this.FpSpread2_Sheet1.Reset();
|
||||
this.FpSpread2_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread2_Sheet1.ColumnCount = 8;
|
||||
this.FpSpread2_Sheet1.RowCount = 0;
|
||||
this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread2_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Label = "Index";
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Width = 79F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목";
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Width = 200F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(7).Visible = false;
|
||||
this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread2.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread2_Sheet2
|
||||
//
|
||||
this.FpSpread2_Sheet2.Reset();
|
||||
this.FpSpread2_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// btnAdd
|
||||
//
|
||||
this.btnAdd.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnAdd.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnAdd.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnAdd.Location = new System.Drawing.Point(322, 2);
|
||||
this.btnAdd.Name = "btnAdd";
|
||||
this.btnAdd.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnAdd.Size = new System.Drawing.Size(84, 29);
|
||||
this.btnAdd.TabIndex = 603;
|
||||
this.btnAdd.Text = "추가";
|
||||
this.btnAdd.UseVisualStyleBackColor = true;
|
||||
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.label1);
|
||||
this.groupBox3.Controls.Add(this.dataGridView1);
|
||||
this.groupBox3.Controls.Add(this.panel2);
|
||||
this.groupBox3.Controls.Add(this.btn4);
|
||||
this.groupBox3.Controls.Add(this.btn3);
|
||||
this.groupBox3.Controls.Add(this.btn2);
|
||||
this.groupBox3.Controls.Add(this.btn1);
|
||||
this.groupBox3.Controls.Add(this.FpSpread);
|
||||
this.groupBox3.Location = new System.Drawing.Point(7, 321);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(405, 266);
|
||||
this.groupBox3.TabIndex = 602;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "설정리스트";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.label1.Location = new System.Drawing.Point(189, 2);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(223, 15);
|
||||
this.label1.TabIndex = 620;
|
||||
this.label1.Text = "해외시세는 현재가2열판 비교만 됩니다.";
|
||||
//
|
||||
// dataGridView1
|
||||
//
|
||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView1.Location = new System.Drawing.Point(140, 203);
|
||||
this.dataGridView1.Name = "dataGridView1";
|
||||
this.dataGridView1.RowTemplate.Height = 23;
|
||||
this.dataGridView1.Size = new System.Drawing.Size(159, 63);
|
||||
this.dataGridView1.TabIndex = 617;
|
||||
this.dataGridView1.Visible = false;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel2.Location = new System.Drawing.Point(8, 46);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(300, 1);
|
||||
this.panel2.TabIndex = 618;
|
||||
//
|
||||
// btn4
|
||||
//
|
||||
this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn4.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn4.Location = new System.Drawing.Point(323, 189);
|
||||
this.btn4.Name = "btn4";
|
||||
this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn4.Size = new System.Drawing.Size(74, 27);
|
||||
this.btn4.TabIndex = 592;
|
||||
this.btn4.Text = "DOWN";
|
||||
this.btn4.UseVisualStyleBackColor = true;
|
||||
this.btn4.Click += new System.EventHandler(this.btn4_Click);
|
||||
//
|
||||
// btn3
|
||||
//
|
||||
this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn3.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn3.Location = new System.Drawing.Point(323, 153);
|
||||
this.btn3.Name = "btn3";
|
||||
this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn3.Size = new System.Drawing.Size(74, 27);
|
||||
this.btn3.TabIndex = 591;
|
||||
this.btn3.Text = "UP";
|
||||
this.btn3.UseVisualStyleBackColor = true;
|
||||
this.btn3.Click += new System.EventHandler(this.btn3_Click);
|
||||
//
|
||||
// btn2
|
||||
//
|
||||
this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn2.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn2.Location = new System.Drawing.Point(323, 117);
|
||||
this.btn2.Name = "btn2";
|
||||
this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn2.Size = new System.Drawing.Size(74, 27);
|
||||
this.btn2.TabIndex = 590;
|
||||
this.btn2.Text = "DEL ALL";
|
||||
this.btn2.UseVisualStyleBackColor = true;
|
||||
this.btn2.Click += new System.EventHandler(this.btn2_Click);
|
||||
//
|
||||
// btn1
|
||||
//
|
||||
this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn1.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn1.Location = new System.Drawing.Point(323, 81);
|
||||
this.btn1.Name = "btn1";
|
||||
this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn1.Size = new System.Drawing.Size(74, 27);
|
||||
this.btn1.TabIndex = 589;
|
||||
this.btn1.Text = "DEL";
|
||||
this.btn1.UseVisualStyleBackColor = true;
|
||||
this.btn1.Click += new System.EventHandler(this.btn1_Click);
|
||||
//
|
||||
// FpSpread
|
||||
//
|
||||
this.FpSpread.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread.AutoClipboard = false;
|
||||
this.FpSpread.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders;
|
||||
this.FpSpread.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4;
|
||||
this.FpSpread.HorizontalScrollBar.TabIndex = 345;
|
||||
this.FpSpread.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread.Location = new System.Drawing.Point(5, 22);
|
||||
this.FpSpread.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread.MoveActiveOnFocus = false;
|
||||
this.FpSpread.Name = "FpSpread";
|
||||
namedStyle5.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle5.CellType = generalCellType2;
|
||||
namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle5.Renderer = generalCellType2;
|
||||
namedStyle6.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle6.Renderer = cornerRenderer2;
|
||||
namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233)))));
|
||||
namedStyle7.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle7.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle7.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle7.Renderer = enhancedColumnHeaderRenderer11;
|
||||
namedStyle7.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle8.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle8.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle8.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle8.Renderer = rowHeaderRenderer11;
|
||||
namedStyle8.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle5,
|
||||
namedStyle6,
|
||||
namedStyle7,
|
||||
namedStyle8});
|
||||
this.FpSpread.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread_Sheet1,
|
||||
this.FpSpread_Sheet2});
|
||||
this.FpSpread.Size = new System.Drawing.Size(305, 208);
|
||||
spreadSkin2.ColumnHeaderDefaultStyle = namedStyle7;
|
||||
spreadSkin2.DefaultStyle = namedStyle8;
|
||||
spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin2.Name = "CustomSkin1";
|
||||
spreadSkin2.RowHeaderDefaultStyle = namedStyle7;
|
||||
spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5;
|
||||
spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread.Skin = spreadSkin2;
|
||||
this.FpSpread.TabIndex = 0;
|
||||
this.FpSpread.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread.VerticalScrollBar.Name = "";
|
||||
this.FpSpread.VerticalScrollBar.Renderer = defaultScrollBarRenderer6;
|
||||
this.FpSpread.VerticalScrollBar.TabIndex = 346;
|
||||
this.FpSpread.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread_CellClick);
|
||||
//
|
||||
// FpSpread_Sheet1
|
||||
//
|
||||
this.FpSpread_Sheet1.Reset();
|
||||
this.FpSpread_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread_Sheet1.ColumnCount = 8;
|
||||
this.FpSpread_Sheet1.RowCount = 0;
|
||||
this.FpSpread_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index";
|
||||
this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder2;
|
||||
this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "Set List";
|
||||
this.FpSpread_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread_Sheet1.Columns.Get(0).Label = "Index";
|
||||
this.FpSpread_Sheet1.Columns.Get(0).Width = 66F;
|
||||
this.FpSpread_Sheet1.Columns.Get(1).Label = "Set List";
|
||||
this.FpSpread_Sheet1.Columns.Get(1).Width = 262F;
|
||||
this.FpSpread_Sheet1.Columns.Get(2).Visible = false;
|
||||
this.FpSpread_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread_Sheet1.Columns.Get(7).Visible = false;
|
||||
this.FpSpread_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread_Sheet2
|
||||
//
|
||||
this.FpSpread_Sheet2.Reset();
|
||||
this.FpSpread_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.listBox1);
|
||||
this.groupBox2.Location = new System.Drawing.Point(222, 31);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(189, 131);
|
||||
this.groupBox2.TabIndex = 601;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "지수";
|
||||
//
|
||||
// listBox1
|
||||
//
|
||||
this.listBox1.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.listBox1.FormattingEnabled = true;
|
||||
this.listBox1.ItemHeight = 17;
|
||||
this.listBox1.Location = new System.Drawing.Point(5, 19);
|
||||
this.listBox1.Name = "listBox1";
|
||||
this.listBox1.Size = new System.Drawing.Size(178, 106);
|
||||
this.listBox1.TabIndex = 594;
|
||||
this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_DoubleClick);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.txtSearch);
|
||||
this.groupBox1.Controls.Add(this.listBox);
|
||||
this.groupBox1.Controls.Add(this.btnsearch);
|
||||
this.groupBox1.Location = new System.Drawing.Point(6, 31);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(211, 287);
|
||||
this.groupBox1.TabIndex = 600;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "종목";
|
||||
//
|
||||
// UC3
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tabp6_1);
|
||||
this.Name = "UC3";
|
||||
this.Size = new System.Drawing.Size(473, 640);
|
||||
this.Load += new System.EventHandler(this.UC3_Load);
|
||||
this.tabp6_1.ResumeLayout(false);
|
||||
this.tabp6_1.PerformLayout();
|
||||
this.groupBox4.ResumeLayout(false);
|
||||
this.groupBox4.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread_Sheet2)).EndInit();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.TextBox txtSearch;
|
||||
private System.Windows.Forms.ListBox listBox;
|
||||
private System.Windows.Forms.Button btnsearch;
|
||||
private System.Windows.Forms.TextBox txt2;
|
||||
private System.Windows.Forms.TextBox txt1;
|
||||
private System.Windows.Forms.Panel tabp6_1;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.ListBox listBox1;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread_Sheet2;
|
||||
private System.Windows.Forms.Button btn4;
|
||||
private System.Windows.Forms.Button btn3;
|
||||
private System.Windows.Forms.Button btn2;
|
||||
private System.Windows.Forms.Button btn1;
|
||||
private System.Windows.Forms.Button btnAdd;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.GroupBox groupBox4;
|
||||
private System.Windows.Forms.Button btnsearch2;
|
||||
private System.Windows.Forms.TextBox txtj;
|
||||
private System.Windows.Forms.DataGridView dataGridView1;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread2;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
}
|
||||
}
|
||||
265
MBN_STOCK_N/Control/UC3.cs
Normal file
265
MBN_STOCK_N/Control/UC3.cs
Normal file
@@ -0,0 +1,265 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Diagnostics;
|
||||
using System.Windows;
|
||||
using FarPoint.Win.Spread;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public partial class UC3 : UserControl
|
||||
{
|
||||
MainForm mf = null;
|
||||
|
||||
public UC3()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
public UC3(Form frm)
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
InitializeComponent();
|
||||
|
||||
}
|
||||
|
||||
private void UC3_Load(object sender, EventArgs e)
|
||||
{
|
||||
mf.INI_parser(Environment.CurrentDirectory + @"\Res\종목비교.ini");
|
||||
listBox1.Items.Clear();
|
||||
for (int j = 0; j < mf.m_row[0]; j++)
|
||||
{
|
||||
listBox1.Items.Add(mf.m_sbuf[0, j]);
|
||||
}
|
||||
FpSpread.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
Data_Load();
|
||||
FpSpread.Focus();
|
||||
}
|
||||
|
||||
private void Data_Load()
|
||||
{
|
||||
FpSpread.ActiveSheet.ClearRange(0, 0, FpSpread.ActiveSheet.RowCount, FpSpread.ActiveSheet.ColumnCount, true);
|
||||
|
||||
if (FpSpread.ActiveSheet.RowCount != 0)
|
||||
FpSpread.ActiveSheet.RemoveRows(0, FpSpread.ActiveSheet.RowCount);
|
||||
|
||||
mf.ReadListFile(mf.m_DataPath + "종목비교.dat", '^', FpSpread.ActiveSheet, mf.m_DataPath, FpSpread, 0);
|
||||
}
|
||||
|
||||
protected override void OnKeyDown(KeyEventArgs e)
|
||||
{
|
||||
|
||||
//if (e.KeyCode == Keys.Enter)
|
||||
//{
|
||||
// mf.searchStock(listBox, txtSearch);
|
||||
//}
|
||||
//base.OnKeyDown(e);
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
mf.searchStock(listBox, txtSearch);
|
||||
}
|
||||
|
||||
private void btnsearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
mf.searchStock(listBox, txtSearch);
|
||||
}
|
||||
|
||||
private void txtSearch_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
this.OnKeyDown(e);
|
||||
}
|
||||
|
||||
private void listBox_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
string tmp = txt1.Text;
|
||||
txt1.Text = (string)listBox.SelectedItem;
|
||||
txt2.Text = tmp;
|
||||
}
|
||||
|
||||
private void listBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnswap_Click(object sender, EventArgs e)
|
||||
{
|
||||
string tmp = txt1.Text;
|
||||
txt1.Text = txt2.Text;
|
||||
txt2.Text = tmp;
|
||||
}
|
||||
|
||||
private void listBox1_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
string tmp = txt1.Text;
|
||||
txt1.Text = (string)listBox1.SelectedItem;
|
||||
txt2.Text = tmp;
|
||||
}
|
||||
|
||||
private void btnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
string str = string.Empty;
|
||||
string data1 = string.Empty;
|
||||
string data2 = string.Empty;
|
||||
|
||||
if (txt1.Text == "" || txt2.Text == "") return;
|
||||
|
||||
int row = FpSpread.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(FpSpread, FpSpread.ActiveSheet, row, 1, 0);
|
||||
|
||||
FpSpread.ActiveSheet.SetText(row - 1, 0, row.ToString());
|
||||
FpSpread.ActiveSheet.SetText(row - 1, 1, txt1.Text + "," + txt2.Text);
|
||||
|
||||
str = mf.jongmokCode(txt1.Text);
|
||||
|
||||
if (str != "")
|
||||
{
|
||||
//data1 = str.Substring(0, str.IndexOf('/'));
|
||||
data2 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1);
|
||||
FpSpread.ActiveSheet.SetText(row - 1, 2, data2);
|
||||
}
|
||||
|
||||
str = mf.jongmokCode(txt2.Text);
|
||||
|
||||
if (str != "")
|
||||
{
|
||||
//data1 = str.Substring(0, str.IndexOf('/'));
|
||||
data2 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1);
|
||||
FpSpread.ActiveSheet.SetText(row - 1, 3, data2);
|
||||
}
|
||||
|
||||
|
||||
File_Save();
|
||||
}
|
||||
|
||||
//파일삭제
|
||||
private void btn1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FpSpread.ActiveSheet.ActiveRowIndex + 1 > 0)
|
||||
{
|
||||
FpSpread.ActiveSheet.RemoveRows(FpSpread.ActiveSheet.ActiveRowIndex, 1);
|
||||
}
|
||||
File_Save();
|
||||
}
|
||||
|
||||
//전체삭제
|
||||
private void btn2_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("모두 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||
{
|
||||
FpSpread.ActiveSheet.ClearRange(0, 0, FpSpread.ActiveSheet.RowCount, FpSpread.ActiveSheet.ColumnCount, true);
|
||||
if (FpSpread.ActiveSheet.RowCount != 0)
|
||||
FpSpread.ActiveSheet.RemoveRows(0, FpSpread.ActiveSheet.RowCount);
|
||||
File_Save();
|
||||
}
|
||||
}
|
||||
|
||||
//up
|
||||
private void btn3_Click(object sender, EventArgs e)
|
||||
{
|
||||
mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 0, 1);
|
||||
File_Save();
|
||||
}
|
||||
|
||||
//down
|
||||
private void btn4_Click(object sender, EventArgs e)
|
||||
{
|
||||
mf.Spd_UpDown(FpSpread, FpSpread.ActiveSheet, 1, 1);
|
||||
File_Save();
|
||||
}
|
||||
|
||||
private void File_Save()
|
||||
{
|
||||
|
||||
if (FpSpread.ActiveSheet.RowCount != 0)
|
||||
mf.WriteListFile(mf.m_DataPath + "종목비교.dat", FpSpread.ActiveSheet, "^");
|
||||
|
||||
FpSpread.Focus();
|
||||
}
|
||||
|
||||
private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == (char)Keys.Enter)
|
||||
{
|
||||
e.Handled = true;
|
||||
mf.searchStock(listBox, txtSearch);
|
||||
}
|
||||
}
|
||||
|
||||
private void FpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnsearch2_Click(object sender, EventArgs e)
|
||||
{
|
||||
jongmok_search();
|
||||
}
|
||||
|
||||
private void jongmok_search()
|
||||
{
|
||||
string query = string.Empty;
|
||||
|
||||
FpSpread2.ActiveSheet.ClearRange(0, 0, FpSpread2.ActiveSheet.RowCount, FpSpread2.ActiveSheet.ColumnCount, true);
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount);
|
||||
|
||||
if (txtj.Text == "")
|
||||
{
|
||||
query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME";
|
||||
}
|
||||
else
|
||||
{
|
||||
query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') and UPPER(F_INPUT_NAME) like '%" + txtj.Text.ToUpper() + "%' ORDER BY F_INPUT_NAME";
|
||||
}
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
//FpSpread2.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[2].Value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private void FpSpread2_CellClick_1(object sender, CellClickEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void FpSpread2_CellDoubleClick(object sender, CellClickEventArgs e)
|
||||
{
|
||||
string tmp = txt1.Text;
|
||||
txt1.Text = (string)listBox1.SelectedItem;
|
||||
|
||||
txt1.Text = FpSpread2.ActiveSheet.GetText(e.Row, 1);
|
||||
txt2.Text = tmp;
|
||||
}
|
||||
|
||||
private void txtj_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == (char)Keys.Enter)
|
||||
{
|
||||
e.Handled = true;
|
||||
jongmok_search();
|
||||
}
|
||||
}
|
||||
|
||||
private void FpSpread_CellClick(object sender, CellClickEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
146
MBN_STOCK_N/Control/UC3.resx
Normal file
146
MBN_STOCK_N/Control/UC3.resx
Normal file
@@ -0,0 +1,146 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="btnswap.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="btnsearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh
|
||||
bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM
|
||||
Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb
|
||||
ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9
|
||||
GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="FpSpread2_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>670, 157</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>824, 157</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>510, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>664, 118</value>
|
||||
</metadata>
|
||||
</root>
|
||||
793
MBN_STOCK_N/Control/UC4.Designer.cs
generated
Normal file
793
MBN_STOCK_N/Control/UC4.Designer.cs
generated
Normal file
@@ -0,0 +1,793 @@
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
partial class UC4
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer17 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer17 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer14 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer14 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer15 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer15 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer16 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer16 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer18 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer18 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced");
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault");
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle7 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced");
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle8 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault");
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder();
|
||||
this.btn1 = new System.Windows.Forms.Button();
|
||||
this.txts = new System.Windows.Forms.TextBox();
|
||||
this.btn2 = new System.Windows.Forms.Button();
|
||||
this.btn3 = new System.Windows.Forms.Button();
|
||||
this.btn4 = new System.Windows.Forms.Button();
|
||||
this.FpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.btnpre = new System.Windows.Forms.Button();
|
||||
this.btnnow = new System.Windows.Forms.Button();
|
||||
this.FpSpread2 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
this.btnnow_6 = new System.Windows.Forms.Button();
|
||||
this.btnnow_12 = new System.Windows.Forms.Button();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.rb_up_rate = new System.Windows.Forms.RadioButton();
|
||||
this.rb_input = new System.Windows.Forms.RadioButton();
|
||||
this.rb_down_rate = new System.Windows.Forms.RadioButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
this.panel3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4";
|
||||
enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer4.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer4.Name = "rowHeaderRenderer4";
|
||||
rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer4.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5";
|
||||
enhancedColumnHeaderRenderer5.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer5.Name = "rowHeaderRenderer5";
|
||||
rowHeaderRenderer5.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6";
|
||||
enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer6.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer6.Name = "rowHeaderRenderer6";
|
||||
rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer6.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1";
|
||||
enhancedColumnHeaderRenderer1.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer1.Name = "rowHeaderRenderer1";
|
||||
rowHeaderRenderer1.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2";
|
||||
enhancedColumnHeaderRenderer2.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer2.Name = "rowHeaderRenderer2";
|
||||
rowHeaderRenderer2.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3";
|
||||
enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer3.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer3.Name = "rowHeaderRenderer3";
|
||||
rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer3.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7";
|
||||
enhancedColumnHeaderRenderer7.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer7.Name = "rowHeaderRenderer7";
|
||||
rowHeaderRenderer7.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8";
|
||||
enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer8.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer8.Name = "rowHeaderRenderer8";
|
||||
rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer8.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9";
|
||||
enhancedColumnHeaderRenderer9.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer9.Name = "rowHeaderRenderer9";
|
||||
rowHeaderRenderer9.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10";
|
||||
enhancedColumnHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer10.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer10.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer10.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer10.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer10.Name = "rowHeaderRenderer10";
|
||||
rowHeaderRenderer10.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer10.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11";
|
||||
enhancedColumnHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer11.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer11.Name = "rowHeaderRenderer11";
|
||||
rowHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer11.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12";
|
||||
enhancedColumnHeaderRenderer12.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer12.Name = "rowHeaderRenderer12";
|
||||
rowHeaderRenderer12.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13";
|
||||
enhancedColumnHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer13.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer13.Name = "rowHeaderRenderer13";
|
||||
rowHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer13.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer17.Name = "enhancedColumnHeaderRenderer17";
|
||||
enhancedColumnHeaderRenderer17.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer17.Name = "rowHeaderRenderer17";
|
||||
rowHeaderRenderer17.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer14.Name = "enhancedColumnHeaderRenderer14";
|
||||
enhancedColumnHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer14.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer14.Name = "rowHeaderRenderer14";
|
||||
rowHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer14.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer15.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer15.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer15.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer15.Name = "enhancedColumnHeaderRenderer15";
|
||||
enhancedColumnHeaderRenderer15.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer15.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer15.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer15.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer15.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer15.Name = "rowHeaderRenderer15";
|
||||
rowHeaderRenderer15.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer15.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer16.Name = "enhancedColumnHeaderRenderer16";
|
||||
enhancedColumnHeaderRenderer16.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer16.Name = "rowHeaderRenderer16";
|
||||
rowHeaderRenderer16.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer18.Name = "enhancedColumnHeaderRenderer18";
|
||||
enhancedColumnHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer18.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer18.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer18.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer18.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer18.Name = "rowHeaderRenderer18";
|
||||
rowHeaderRenderer18.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer18.TextRotationAngle = 0D;
|
||||
//
|
||||
// btn1
|
||||
//
|
||||
this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn1.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn1.Location = new System.Drawing.Point(147, 6);
|
||||
this.btn1.Name = "btn1";
|
||||
this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn1.Size = new System.Drawing.Size(69, 24);
|
||||
this.btn1.TabIndex = 607;
|
||||
this.btn1.Text = "테마검색";
|
||||
this.btn1.UseVisualStyleBackColor = true;
|
||||
this.btn1.Click += new System.EventHandler(this.btn1_Click);
|
||||
//
|
||||
// txts
|
||||
//
|
||||
this.txts.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txts.Location = new System.Drawing.Point(3, 6);
|
||||
this.txts.Name = "txts";
|
||||
this.txts.Size = new System.Drawing.Size(138, 25);
|
||||
this.txts.TabIndex = 604;
|
||||
this.txts.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txts_KeyDown);
|
||||
//
|
||||
// btn2
|
||||
//
|
||||
this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn2.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn2.Location = new System.Drawing.Point(219, 6);
|
||||
this.btn2.Name = "btn2";
|
||||
this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn2.Size = new System.Drawing.Size(64, 24);
|
||||
this.btn2.TabIndex = 608;
|
||||
this.btn2.Text = "테마추가";
|
||||
this.btn2.UseVisualStyleBackColor = true;
|
||||
this.btn2.Click += new System.EventHandler(this.btn2_Click);
|
||||
//
|
||||
// btn3
|
||||
//
|
||||
this.btn3.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn3.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn3.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn3.Location = new System.Drawing.Point(286, 6);
|
||||
this.btn3.Name = "btn3";
|
||||
this.btn3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn3.Size = new System.Drawing.Size(64, 24);
|
||||
this.btn3.TabIndex = 609;
|
||||
this.btn3.Text = "테마편집";
|
||||
this.btn3.UseVisualStyleBackColor = true;
|
||||
this.btn3.Click += new System.EventHandler(this.btn3_Click);
|
||||
//
|
||||
// btn4
|
||||
//
|
||||
this.btn4.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn4.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn4.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn4.Location = new System.Drawing.Point(353, 6);
|
||||
this.btn4.Name = "btn4";
|
||||
this.btn4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn4.Size = new System.Drawing.Size(64, 24);
|
||||
this.btn4.TabIndex = 610;
|
||||
this.btn4.Text = "테마삭제";
|
||||
this.btn4.UseVisualStyleBackColor = true;
|
||||
this.btn4.Click += new System.EventHandler(this.btn4_Click);
|
||||
//
|
||||
// FpSpread1
|
||||
//
|
||||
this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread1.AutoClipboard = false;
|
||||
this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders;
|
||||
this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread1.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1;
|
||||
this.FpSpread1.HorizontalScrollBar.TabIndex = 0;
|
||||
this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread1.Location = new System.Drawing.Point(3, 38);
|
||||
this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread1.Name = "FpSpread1";
|
||||
namedStyle1.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle1.CellType = generalCellType1;
|
||||
namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle1.Renderer = generalCellType1;
|
||||
namedStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle2.Renderer = cornerRenderer1;
|
||||
namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233)))));
|
||||
namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle3.Renderer = enhancedColumnHeaderRenderer16;
|
||||
namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle4.Renderer = rowHeaderRenderer16;
|
||||
namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle1,
|
||||
namedStyle2,
|
||||
namedStyle3,
|
||||
namedStyle4});
|
||||
this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread1_Sheet1,
|
||||
this.FpSpread1_Sheet2});
|
||||
this.FpSpread1.Size = new System.Drawing.Size(416, 455);
|
||||
spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.DefaultStyle = namedStyle4;
|
||||
spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin1.Name = "CustomSkin1";
|
||||
spreadSkin1.RowHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2;
|
||||
spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread1.Skin = spreadSkin1;
|
||||
this.FpSpread1.TabIndex = 611;
|
||||
this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread1.VerticalScrollBar.Name = "";
|
||||
this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3;
|
||||
this.FpSpread1.VerticalScrollBar.TabIndex = 374;
|
||||
this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick);
|
||||
this.FpSpread1.CellDoubleClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellDoubleClick);
|
||||
this.FpSpread1.DoubleClick += new System.EventHandler(this.FpSpread1_DoubleClick);
|
||||
//
|
||||
// FpSpread1_Sheet1
|
||||
//
|
||||
this.FpSpread1_Sheet1.Reset();
|
||||
this.FpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread1_Sheet1.ColumnCount = 9;
|
||||
this.FpSpread1_Sheet1.RowCount = 0;
|
||||
this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread1_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "테마명";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Border = emptyBorder1;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "Set List";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Width = 59F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(1).Label = "테마명";
|
||||
this.FpSpread1_Sheet1.Columns.Get(1).Width = 455F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(2).Label = "Set List";
|
||||
this.FpSpread1_Sheet1.Columns.Get(2).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(2).Width = 278F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(7).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(8).Visible = false;
|
||||
this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread1.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread1_Sheet2
|
||||
//
|
||||
this.FpSpread1_Sheet2.Reset();
|
||||
this.FpSpread1_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// btnpre
|
||||
//
|
||||
this.btnpre.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnpre.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnpre.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnpre.Location = new System.Drawing.Point(337, 519);
|
||||
this.btnpre.Name = "btnpre";
|
||||
this.btnpre.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnpre.Size = new System.Drawing.Size(84, 31);
|
||||
this.btnpre.TabIndex = 613;
|
||||
this.btnpre.Text = "예상체결가";
|
||||
this.btnpre.UseVisualStyleBackColor = true;
|
||||
this.btnpre.Click += new System.EventHandler(this.btnpre_Click);
|
||||
//
|
||||
// btnnow
|
||||
//
|
||||
this.btnnow.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnnow.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnnow.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnnow.Location = new System.Drawing.Point(245, 519);
|
||||
this.btnnow.Name = "btnnow";
|
||||
this.btnnow.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnnow.Size = new System.Drawing.Size(84, 31);
|
||||
this.btnnow.TabIndex = 612;
|
||||
this.btnnow.Text = "현재가";
|
||||
this.btnnow.UseVisualStyleBackColor = true;
|
||||
this.btnnow.Click += new System.EventHandler(this.btnnow_Click);
|
||||
//
|
||||
// FpSpread2
|
||||
//
|
||||
this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread2.AutoClipboard = false;
|
||||
this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread2.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders;
|
||||
this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread2.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4;
|
||||
this.FpSpread2.HorizontalScrollBar.TabIndex = 363;
|
||||
this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread2.Location = new System.Drawing.Point(3, 557);
|
||||
this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread2.Name = "FpSpread2";
|
||||
namedStyle5.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle5.CellType = generalCellType2;
|
||||
namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle5.Renderer = generalCellType2;
|
||||
namedStyle6.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle6.Renderer = cornerRenderer2;
|
||||
namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233)))));
|
||||
namedStyle7.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle7.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle7.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle7.Renderer = enhancedColumnHeaderRenderer16;
|
||||
namedStyle7.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle8.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle8.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle8.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle8.Renderer = rowHeaderRenderer16;
|
||||
namedStyle8.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle5,
|
||||
namedStyle6,
|
||||
namedStyle7,
|
||||
namedStyle8});
|
||||
this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread2_Sheet1,
|
||||
this.FpSpread2_Sheet2});
|
||||
this.FpSpread2.Size = new System.Drawing.Size(416, 241);
|
||||
spreadSkin2.ColumnHeaderDefaultStyle = namedStyle7;
|
||||
spreadSkin2.DefaultStyle = namedStyle8;
|
||||
spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin2.Name = "CustomSkin1";
|
||||
spreadSkin2.RowHeaderDefaultStyle = namedStyle7;
|
||||
spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5;
|
||||
spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread2.Skin = spreadSkin2;
|
||||
this.FpSpread2.TabIndex = 614;
|
||||
this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread2.VerticalScrollBar.Name = "";
|
||||
this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer6;
|
||||
this.FpSpread2.VerticalScrollBar.TabIndex = 364;
|
||||
this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread2.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellClick);
|
||||
//
|
||||
// FpSpread2_Sheet1
|
||||
//
|
||||
this.FpSpread2_Sheet1.Reset();
|
||||
this.FpSpread2_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread2_Sheet1.ColumnCount = 9;
|
||||
this.FpSpread2_Sheet1.RowCount = 0;
|
||||
this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread2_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목명";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Border = emptyBorder2;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "Set List";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목명";
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Width = 455F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Label = "Set List";
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Width = 278F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(7).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(8).Visible = false;
|
||||
this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread2.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread2_Sheet2
|
||||
//
|
||||
this.FpSpread2_Sheet2.Reset();
|
||||
this.FpSpread2_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// dataGridView1
|
||||
//
|
||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView1.Location = new System.Drawing.Point(53, 349);
|
||||
this.dataGridView1.Name = "dataGridView1";
|
||||
this.dataGridView1.RowTemplate.Height = 23;
|
||||
this.dataGridView1.Size = new System.Drawing.Size(342, 114);
|
||||
this.dataGridView1.TabIndex = 615;
|
||||
this.dataGridView1.Visible = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel1.Location = new System.Drawing.Point(3, 59);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(413, 1);
|
||||
this.panel1.TabIndex = 616;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel2.Location = new System.Drawing.Point(4, 578);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(412, 1);
|
||||
this.panel2.TabIndex = 617;
|
||||
//
|
||||
// timer1
|
||||
//
|
||||
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
|
||||
//
|
||||
// btnnow_6
|
||||
//
|
||||
this.btnnow_6.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnnow_6.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnnow_6.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnnow_6.Location = new System.Drawing.Point(4, 519);
|
||||
this.btnnow_6.Name = "btnnow_6";
|
||||
this.btnnow_6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnnow_6.Size = new System.Drawing.Size(103, 31);
|
||||
this.btnnow_6.TabIndex = 618;
|
||||
this.btnnow_6.Text = "6종목 현재가";
|
||||
this.btnnow_6.UseVisualStyleBackColor = true;
|
||||
this.btnnow_6.Click += new System.EventHandler(this.btnnow_6_Click);
|
||||
//
|
||||
// btnnow_12
|
||||
//
|
||||
this.btnnow_12.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnnow_12.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnnow_12.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnnow_12.Location = new System.Drawing.Point(113, 519);
|
||||
this.btnnow_12.Name = "btnnow_12";
|
||||
this.btnnow_12.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnnow_12.Size = new System.Drawing.Size(103, 31);
|
||||
this.btnnow_12.TabIndex = 619;
|
||||
this.btnnow_12.Text = "12종목 현재가";
|
||||
this.btnnow_12.UseVisualStyleBackColor = true;
|
||||
this.btnnow_12.Click += new System.EventHandler(this.btnnow_12_Click);
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.Controls.Add(this.rb_down_rate);
|
||||
this.panel3.Controls.Add(this.rb_up_rate);
|
||||
this.panel3.Controls.Add(this.rb_input);
|
||||
this.panel3.Location = new System.Drawing.Point(197, 498);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(222, 22);
|
||||
this.panel3.TabIndex = 622;
|
||||
//
|
||||
// rb_up_rate
|
||||
//
|
||||
this.rb_up_rate.AutoSize = true;
|
||||
this.rb_up_rate.Location = new System.Drawing.Point(71, 2);
|
||||
this.rb_up_rate.Name = "rb_up_rate";
|
||||
this.rb_up_rate.Size = new System.Drawing.Size(71, 16);
|
||||
this.rb_up_rate.TabIndex = 623;
|
||||
this.rb_up_rate.Text = "상승률순";
|
||||
this.rb_up_rate.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rb_input
|
||||
//
|
||||
this.rb_input.AutoSize = true;
|
||||
this.rb_input.Checked = true;
|
||||
this.rb_input.Location = new System.Drawing.Point(5, 2);
|
||||
this.rb_input.Name = "rb_input";
|
||||
this.rb_input.Size = new System.Drawing.Size(59, 16);
|
||||
this.rb_input.TabIndex = 622;
|
||||
this.rb_input.TabStop = true;
|
||||
this.rb_input.Text = "입력순";
|
||||
this.rb_input.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// rb_down_rate
|
||||
//
|
||||
this.rb_down_rate.AutoSize = true;
|
||||
this.rb_down_rate.Location = new System.Drawing.Point(148, 3);
|
||||
this.rb_down_rate.Name = "rb_down_rate";
|
||||
this.rb_down_rate.Size = new System.Drawing.Size(71, 16);
|
||||
this.rb_down_rate.TabIndex = 624;
|
||||
this.rb_down_rate.Text = "하락률순";
|
||||
this.rb_down_rate.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// UC4
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.panel3);
|
||||
this.Controls.Add(this.btnnow_12);
|
||||
this.Controls.Add(this.btnnow_6);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.dataGridView1);
|
||||
this.Controls.Add(this.FpSpread2);
|
||||
this.Controls.Add(this.btnpre);
|
||||
this.Controls.Add(this.btnnow);
|
||||
this.Controls.Add(this.FpSpread1);
|
||||
this.Controls.Add(this.btn4);
|
||||
this.Controls.Add(this.btn3);
|
||||
this.Controls.Add(this.btn2);
|
||||
this.Controls.Add(this.btn1);
|
||||
this.Controls.Add(this.txts);
|
||||
this.Name = "UC4";
|
||||
this.Size = new System.Drawing.Size(469, 864);
|
||||
this.Load += new System.EventHandler(this.UC4_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||
this.panel3.ResumeLayout(false);
|
||||
this.panel3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btn1;
|
||||
private System.Windows.Forms.TextBox txts;
|
||||
private System.Windows.Forms.Button btn2;
|
||||
private System.Windows.Forms.Button btn3;
|
||||
private System.Windows.Forms.Button btn4;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2;
|
||||
private System.Windows.Forms.Button btnpre;
|
||||
private System.Windows.Forms.Button btnnow;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread2;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2;
|
||||
private System.Windows.Forms.DataGridView dataGridView1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Timer timer1;
|
||||
private System.Windows.Forms.Button btnnow_6;
|
||||
private System.Windows.Forms.Button btnnow_12;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.RadioButton rb_up_rate;
|
||||
private System.Windows.Forms.RadioButton rb_input;
|
||||
private System.Windows.Forms.RadioButton rb_down_rate;
|
||||
}
|
||||
}
|
||||
440
MBN_STOCK_N/Control/UC4.cs
Normal file
440
MBN_STOCK_N/Control/UC4.cs
Normal file
@@ -0,0 +1,440 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics.Eventing.Reader;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public partial class UC4 : UserControl
|
||||
{
|
||||
MainForm mf = null;
|
||||
int m_idx = 0;
|
||||
//DBCon m_db = new DBCon();
|
||||
string m_code = string.Empty;
|
||||
string m_tname = string.Empty;
|
||||
|
||||
public UC4()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
public UC4(Form frm, int idx)
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
m_idx = idx;
|
||||
|
||||
InitializeComponent();
|
||||
FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
|
||||
//FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true);
|
||||
|
||||
//if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
// FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount);
|
||||
|
||||
//mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST");
|
||||
|
||||
//for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
//{
|
||||
// mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
// FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
// FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void UC4_Load(object sender, EventArgs e)
|
||||
{
|
||||
timer1.Start();
|
||||
}
|
||||
|
||||
private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
m_code = FpSpread1.ActiveSheet.GetText(e.Row, 0);
|
||||
m_tname = FpSpread1.ActiveSheet.GetText(e.Row, 1);
|
||||
string query = string.Empty;
|
||||
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount);
|
||||
|
||||
if (m_tname.Contains("(NXT)"))
|
||||
{
|
||||
query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "
|
||||
+ " FROM SB_ITEM a, v_all_stock b "
|
||||
+ " WHERE a.SB_M_CODE = '" + m_code + "' "
|
||||
+ " and substr(a.sb_i_code, 2, 12) = b.f_stock_code "
|
||||
+ " and b.f_stop_gubun = 'N' "
|
||||
+ " ORDER BY a.SB_I_INDEX";
|
||||
|
||||
mf.m_db.Nxt_ViewQuery(dataGridView1, query);
|
||||
}
|
||||
else
|
||||
{
|
||||
query = "SELECT a.SB_I_NAME, a.SB_I_CODE, a.sb_m_code, a.sb_i_index "
|
||||
+ " FROM SB_ITEM a, v_all_stock b "
|
||||
+ " WHERE a.SB_M_CODE = '" + m_code + "' "
|
||||
+ " and substr(a.sb_i_code, 2, 12) = b.f_stock_code "
|
||||
+ " and b.f_mkt_halt = 'N' ORDER BY a.SB_I_INDEX";
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
}
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnKeyDown(KeyEventArgs e)
|
||||
{
|
||||
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
GetThemeByKeyword();
|
||||
}
|
||||
base.OnKeyDown(e);
|
||||
}
|
||||
|
||||
private void btn1_Click(object sender, EventArgs e)
|
||||
{
|
||||
GetThemeByKeyword();
|
||||
}
|
||||
|
||||
private void GetThemeByKeyword()
|
||||
{
|
||||
List<string> addItem_name = new List<string>();
|
||||
string name, code;
|
||||
FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true);
|
||||
|
||||
if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount);
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'");
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
addItem_name.Add(dataGridView1.Rows[i].Cells[0].Value.ToString()+";"+
|
||||
dataGridView1.Rows[i].Cells[1].Value.ToString() );
|
||||
}
|
||||
|
||||
// NXT추가
|
||||
mf.m_db.Nxt_ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE, SB_MARKET FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'");
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
addItem_name.Add(dataGridView1.Rows[i].Cells[0].Value.ToString() + "(NXT);" +
|
||||
dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
}
|
||||
|
||||
for (int i = 0; i < addItem_name.Count ; i++)
|
||||
{
|
||||
name = addItem_name[i].Substring(0, addItem_name[i].IndexOf(";"));
|
||||
code = addItem_name[i].Substring(addItem_name[i].IndexOf(";")+1, addItem_name[i].Length-name.Length-1);
|
||||
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
|
||||
FpSpread1.ActiveSheet.SetText(i, 1, name ); // title
|
||||
FpSpread1.ActiveSheet.SetText(i, 0, code); // code
|
||||
}
|
||||
|
||||
|
||||
//FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true);
|
||||
|
||||
//if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
// FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount);
|
||||
|
||||
//mf.m_db.ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE, SB_MARKET FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'");
|
||||
|
||||
//for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
//{
|
||||
// mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
|
||||
// FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString()); // title
|
||||
// FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); // code
|
||||
// tot_cnt = i;
|
||||
//}
|
||||
////NXT용
|
||||
//mf.m_db.Nxt_ViewQuery(dataGridView1, "SELECT SB_TITLE, SB_CODE, SB_MARKET FROM SB_LIST WHERE UPPER(SB_TITLE) LIKE '%%%" + txts.Text.ToUpper() + "%%'");
|
||||
//nxt_cnt = dataGridView1.RowCount;
|
||||
|
||||
//// for (int i = 0; i < dataGridView1.RowCount - 1 + trx_cnt; i++)
|
||||
//for (int i = krx_cnt; i < krx_cnt + nxt_cnt - 1; i++)
|
||||
//{
|
||||
// mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
|
||||
// FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString() + "(NXT)"); // title
|
||||
// FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString()); // code
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
private void btn2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Theme fm = new Theme(mf, "", "");
|
||||
|
||||
fm.ShowDialog();
|
||||
|
||||
}
|
||||
|
||||
private void btn3_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (m_code != "")
|
||||
{
|
||||
Theme fm = new Theme(mf, m_code, m_tname);
|
||||
|
||||
fm.ShowDialog();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void btn4_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (MessageBox.Show("선택한 테마를 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||
{
|
||||
if (FpSpread1.ActiveSheet.ActiveRowIndex + 1 > 0)
|
||||
{
|
||||
FpSpread1.ActiveSheet.RemoveRows(FpSpread1.ActiveSheet.ActiveRowIndex, 1);
|
||||
|
||||
if (m_tname.Contains("(NXT)"))
|
||||
{
|
||||
mf.m_db.Nxt_ExecuteQuery("DELETE FROM SB_ITEM WHERE SB_M_CODE = '" + m_code + "'");
|
||||
mf.m_db.Nxt_ExecuteQuery("DELETE FROM SB_LIST WHERE SB_CODE = '" + m_code + "'");
|
||||
|
||||
m_code = ""; m_tname = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
mf.m_db.ExecuteQuery("DELETE FROM SB_ITEM WHERE SB_M_CODE = '" + m_code + "'");
|
||||
mf.m_db.ExecuteQuery("DELETE FROM SB_LIST WHERE SB_CODE = '" + m_code + "'");
|
||||
|
||||
m_code = ""; m_tname = "";
|
||||
}
|
||||
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//현재가
|
||||
private void btnnow_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetNowPrice(FpSpread1.ActiveSheet.ActiveRowIndex, "현재가");
|
||||
}
|
||||
|
||||
//예상체결가
|
||||
private void btnpre_Click(object sender, EventArgs e)
|
||||
{
|
||||
SetNowPrice(FpSpread1.ActiveSheet.ActiveRowIndex, "예상체결가");
|
||||
}
|
||||
|
||||
private void txts_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
this.OnKeyDown(e);
|
||||
}
|
||||
|
||||
private void FpSpread1_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void FpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
SetNowPrice(e.Row, "현재가");
|
||||
}
|
||||
|
||||
private void SetNowPrice(int nrow, string now)
|
||||
{
|
||||
|
||||
string tname = FpSpread1.ActiveSheet.GetText(nrow, 1);
|
||||
|
||||
if (now == "예상체결가")
|
||||
{
|
||||
if (tname.Contains("(NXT"))
|
||||
{
|
||||
MessageBox.Show("NXT는 데이터가 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
|
||||
if (tname.Contains("(NXT"))
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마_NXT");
|
||||
else
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마");
|
||||
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "5단 표그래프");
|
||||
// mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-"+ now);
|
||||
if (rb_up_rate.Checked == true) // 상승률순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(상승률순)");
|
||||
}
|
||||
else if (rb_down_rate.Checked == true) // 하락률순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(하락률순)");
|
||||
}
|
||||
else if (rb_input.Checked == true) // 입력순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(입력순)");
|
||||
}
|
||||
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가
|
||||
|
||||
int cnt = FpSpread2.ActiveSheet.RowCount;
|
||||
int lcnt = 0;
|
||||
|
||||
if ((cnt % 5) != 0)
|
||||
lcnt = 1;
|
||||
|
||||
lcnt = (cnt / 5) + lcnt;
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString());
|
||||
|
||||
}
|
||||
private void SetNowPrice_6(int nrow, string now)
|
||||
{
|
||||
string tname = FpSpread1.ActiveSheet.GetText(nrow, 1);
|
||||
|
||||
if (now == "예상체결가")
|
||||
{
|
||||
if (tname.Contains("(NXT"))
|
||||
{
|
||||
MessageBox.Show("NXT는 데이터가 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
|
||||
if (tname.Contains("(NXT"))
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마_NXT");
|
||||
else
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마");
|
||||
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "6종목 현재가");
|
||||
// mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now);
|
||||
if (rb_up_rate.Checked == true) // 상승률순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(상승률순)");
|
||||
}
|
||||
else if (rb_down_rate.Checked == true) // 하락률순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(하락률순)");
|
||||
}
|
||||
else if (rb_input.Checked == true) // 입력순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(입력순)");
|
||||
}
|
||||
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가
|
||||
|
||||
int cnt = FpSpread2.ActiveSheet.RowCount;
|
||||
int lcnt = 0;
|
||||
|
||||
if ((cnt % 6) != 0)
|
||||
lcnt = 1;
|
||||
|
||||
lcnt = (cnt / 6) + lcnt;
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString());
|
||||
|
||||
}
|
||||
|
||||
private void SetNowPrice_12(int nrow, string now)
|
||||
{
|
||||
string tname = FpSpread1.ActiveSheet.GetText(nrow, 1);
|
||||
|
||||
if (now == "예상체결가")
|
||||
{
|
||||
if (tname.Contains("(NXT"))
|
||||
{
|
||||
MessageBox.Show("NXT는 데이터가 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
|
||||
if (tname.Contains("(NXT"))
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마_NXT");
|
||||
else
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마");
|
||||
|
||||
// mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "테마");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(nrow, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "12종목 현재가");
|
||||
// mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now);
|
||||
if (rb_up_rate.Checked == true) // 상승률순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(상승률순)");
|
||||
}
|
||||
else if (rb_down_rate.Checked == true) // 하락률순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(하락률순)");
|
||||
}
|
||||
else if (rb_input.Checked == true) // 입력순
|
||||
{
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "테마-" + now + "(입력순)");
|
||||
}
|
||||
|
||||
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가
|
||||
|
||||
int cnt = FpSpread2.ActiveSheet.RowCount;
|
||||
int lcnt = 0;
|
||||
|
||||
if ((cnt % 12) != 0)
|
||||
lcnt = 1;
|
||||
|
||||
lcnt = (cnt / 12) + lcnt;
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void timer1_Tick(object sender, EventArgs e)
|
||||
{
|
||||
GetThemeByKeyword();
|
||||
timer1.Stop();
|
||||
}
|
||||
|
||||
private void FpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnnow_6_Click(object sender, EventArgs e) // 6종목 현재가
|
||||
{
|
||||
SetNowPrice_6(FpSpread1.ActiveSheet.ActiveRowIndex, "현재가");
|
||||
}
|
||||
|
||||
private void btnnow_12_Click(object sender, EventArgs e) // 12종목 현재가
|
||||
{
|
||||
SetNowPrice_12(FpSpread1.ActiveSheet.ActiveRowIndex, "현재가");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
135
MBN_STOCK_N/Control/UC4.resx
Normal file
135
MBN_STOCK_N/Control/UC4.resx
Normal file
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>811, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>958, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1073, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1188, 118</value>
|
||||
</metadata>
|
||||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1342, 118</value>
|
||||
</metadata>
|
||||
</root>
|
||||
1064
MBN_STOCK_N/Control/UC5.Designer.cs
generated
Normal file
1064
MBN_STOCK_N/Control/UC5.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
260
MBN_STOCK_N/Control/UC5.cs
Normal file
260
MBN_STOCK_N/Control/UC5.cs
Normal file
@@ -0,0 +1,260 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public partial class UC5 : UserControl
|
||||
{
|
||||
MainForm mf = null;
|
||||
//DBCon m_db = new DBCon();
|
||||
|
||||
public UC5()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public UC5(Form frm)
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
InitializeComponent();
|
||||
|
||||
}
|
||||
|
||||
//string[] worldstock = { "다우존스", "나스닥", "S&P500", "독일 DAX 30", "영국 FTSE 100", "프랑스 CAC 40",
|
||||
//"일본 니케이", "중국 상해종합", "홍콩 항셍", "대만 가권", "싱가포르 지수", "태국 SET", "필리핀", "말레이시아 KLSE", "인도네시아 JKSE"};
|
||||
|
||||
string[] worldstock = { "다우존스", "나스닥", "S&P500", "독일 DAX 30", "영국 FTSE 100", "프랑스 CAC 40",
|
||||
"일본 니케이", "중국 상해종합", "홍콩 항셍", "대만 가권"};
|
||||
|
||||
private void UC5_Load(object sender, EventArgs e)
|
||||
{
|
||||
FpSpread.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
|
||||
for (int i=0; i< worldstock.Length; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread, FpSpread.ActiveSheet, FpSpread.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread.ActiveSheet.SetText(i, 1, worldstock[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//업종검색
|
||||
private void btnsearch1_Click(object sender, EventArgs e)
|
||||
{
|
||||
upjong_search();
|
||||
}
|
||||
|
||||
|
||||
//종목검색
|
||||
private void btnsearch2_Click(object sender, EventArgs e)
|
||||
{
|
||||
jongmok_search();
|
||||
}
|
||||
|
||||
private void txts_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == (char)Keys.Enter)
|
||||
{
|
||||
e.Handled = true;
|
||||
upjong_search();
|
||||
}
|
||||
}
|
||||
|
||||
private void txtj_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == (char)Keys.Enter)
|
||||
{
|
||||
e.Handled = true;
|
||||
jongmok_search();
|
||||
}
|
||||
}
|
||||
|
||||
private void upjong_search()
|
||||
{
|
||||
string query = string.Empty;
|
||||
|
||||
FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true);
|
||||
if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount);
|
||||
|
||||
if (txts.Text == "")
|
||||
{
|
||||
query = "select F_INPUT_NAME, f_knam, f_symb from t_world_ix_eq_master WHERE f_fdtc = '0' and f_natc = 'US' ORDER BY F_KNAM";
|
||||
}
|
||||
else
|
||||
{
|
||||
query = "select F_INPUT_NAME, f_knam, f_symb from t_world_ix_eq_master WHERE f_fdtc = '0' and f_natc = 'US' and F_KNAM like '%" + txts.Text.ToUpper() + "%' ORDER BY F_KNAM";
|
||||
}
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[2].Value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private void jongmok_search()
|
||||
{
|
||||
string query = string.Empty;
|
||||
|
||||
FpSpread2.ActiveSheet.ClearRange(0, 0, FpSpread2.ActiveSheet.RowCount, FpSpread2.ActiveSheet.ColumnCount, true);
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount);
|
||||
|
||||
if (txtj.Text == "")
|
||||
{
|
||||
// query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME";
|
||||
query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME";
|
||||
}
|
||||
else
|
||||
{
|
||||
// query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') and UPPER(F_INPUT_NAME) like '%"+ txtj.Text.ToUpper() + "%' ORDER BY F_INPUT_NAME";
|
||||
query = "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and UPPER(F_INPUT_NAME) like '%" + txtj.Text.ToUpper() + "%' ORDER BY F_INPUT_NAME";
|
||||
}
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
//FpSpread2.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[2].Value.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void btn1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
Button btn = (Button)sender;
|
||||
string date = string.Empty;
|
||||
|
||||
if ((string)btn.Tag == "1")
|
||||
date = "5일";
|
||||
else if ((string)btn.Tag == "2")
|
||||
date = "20일";
|
||||
else if ((string)btn.Tag == "3")
|
||||
date = "60일";
|
||||
else if ((string)btn.Tag == "4")
|
||||
date = "120일";
|
||||
else if ((string)btn.Tag == "5")
|
||||
date = "240일";
|
||||
else if ((string)btn.Tag == "6") //업종 1열판
|
||||
{
|
||||
if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
{
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외업종");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "1열판기본");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1");
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if ((string)btn.Tag == "7") //해외종목 1열판
|
||||
{
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
{
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외종목");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread2.ActiveSheet.GetText(FpSpread2.ActiveSheet.ActiveRowIndex, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "1열판기본");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1");
|
||||
}
|
||||
return;
|
||||
|
||||
}
|
||||
else if ((string)btn.Tag == "8") //해외종목 5일
|
||||
{
|
||||
Account_Graph("5일");
|
||||
return;
|
||||
}
|
||||
else if ((string)btn.Tag == "9") //해외종목 20일
|
||||
{
|
||||
Account_Graph("20일");
|
||||
return;
|
||||
}
|
||||
else if ((string)btn.Tag == "10") //해외종목 60일
|
||||
{
|
||||
Account_Graph("60일");
|
||||
return;
|
||||
}
|
||||
else if ((string)btn.Tag == "11") //해외종목 120일
|
||||
{
|
||||
Account_Graph("120일");
|
||||
return;
|
||||
}
|
||||
else if ((string)btn.Tag == "12") //해외종목 240일
|
||||
{
|
||||
Account_Graph("240일");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (FpSpread.ActiveSheet.GetText(FpSpread.ActiveSheet.ActiveRowIndex, 1) != "")
|
||||
{
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외지수");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread.ActiveSheet.GetText(FpSpread.ActiveSheet.ActiveRowIndex, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "캔들그래프");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, date);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1");
|
||||
}
|
||||
}
|
||||
|
||||
public void Account_Graph(string date)
|
||||
{
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
{
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 1, "해외종목");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread2.ActiveSheet.GetText(FpSpread2.ActiveSheet.ActiveRowIndex, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "캔들그래프");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, date);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1");
|
||||
}
|
||||
}
|
||||
|
||||
private void FpSpread_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void txts_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
//txts.CharacterCasing = CharacterCasing.Upper; ;
|
||||
}
|
||||
|
||||
private void txtj_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
// txtj.CharacterCasing = CharacterCasing.Upper; ;
|
||||
}
|
||||
}
|
||||
}
|
||||
138
MBN_STOCK_N/Control/UC5.resx
Normal file
138
MBN_STOCK_N/Control/UC5.resx
Normal file
@@ -0,0 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="FpSpread2_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>401, 157</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>516, 157</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>171, 157</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>286, 157</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>811, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>958, 118</value>
|
||||
</metadata>
|
||||
</root>
|
||||
709
MBN_STOCK_N/Control/UC6.Designer.cs
generated
Normal file
709
MBN_STOCK_N/Control/UC6.Designer.cs
generated
Normal file
@@ -0,0 +1,709 @@
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
partial class UC6
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer12 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer12 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer11 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer11 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer10 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer10 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer13 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer13 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer17 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer17 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer18 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer18 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer14 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer14 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UC6));
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced");
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault");
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer4 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle5 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType2 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle6 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer2 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin2 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer5 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer6 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder2 = new FarPoint.Win.EmptyBorder();
|
||||
this.btlistadd = new System.Windows.Forms.Button();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.txtSearch = new System.Windows.Forms.TextBox();
|
||||
this.listBox = new System.Windows.Forms.ListBox();
|
||||
this.btnsearch = new System.Windows.Forms.Button();
|
||||
this.tabp6_1 = new System.Windows.Forms.Panel();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btnsave = new System.Windows.Forms.Button();
|
||||
this.btndel = new System.Windows.Forms.Button();
|
||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||
this.FpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread2 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread2_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread2_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.btnDelete = new System.Windows.Forms.Button();
|
||||
this.btnAdd = new System.Windows.Forms.Button();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.tabp6_1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
enhancedColumnHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2";
|
||||
enhancedColumnHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer2.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer2.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer2.Name = "rowHeaderRenderer2";
|
||||
rowHeaderRenderer2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer2.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3";
|
||||
enhancedColumnHeaderRenderer3.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer3.Name = "rowHeaderRenderer3";
|
||||
rowHeaderRenderer3.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer1.Name = "rowHeaderRenderer1";
|
||||
rowHeaderRenderer1.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1";
|
||||
enhancedColumnHeaderRenderer1.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4";
|
||||
enhancedColumnHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer4.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer4.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer4.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer4.Name = "rowHeaderRenderer4";
|
||||
rowHeaderRenderer4.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer4.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5";
|
||||
enhancedColumnHeaderRenderer5.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer5.Name = "rowHeaderRenderer5";
|
||||
rowHeaderRenderer5.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8";
|
||||
enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer8.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer8.Name = "rowHeaderRenderer8";
|
||||
rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer8.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer12.Name = "enhancedColumnHeaderRenderer12";
|
||||
enhancedColumnHeaderRenderer12.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer12.Name = "rowHeaderRenderer12";
|
||||
rowHeaderRenderer12.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer11.Name = "enhancedColumnHeaderRenderer11";
|
||||
enhancedColumnHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer11.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer11.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer11.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer11.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer11.Name = "rowHeaderRenderer11";
|
||||
rowHeaderRenderer11.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer11.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6";
|
||||
enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer6.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer6.Name = "rowHeaderRenderer6";
|
||||
rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer6.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7";
|
||||
enhancedColumnHeaderRenderer7.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer7.Name = "rowHeaderRenderer7";
|
||||
rowHeaderRenderer7.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer9.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer9.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9";
|
||||
enhancedColumnHeaderRenderer9.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer9.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer9.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer9.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer9.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer9.Name = "rowHeaderRenderer9";
|
||||
rowHeaderRenderer9.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer9.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer10.Name = "enhancedColumnHeaderRenderer10";
|
||||
enhancedColumnHeaderRenderer10.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer10.Name = "rowHeaderRenderer10";
|
||||
rowHeaderRenderer10.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer13.Name = "enhancedColumnHeaderRenderer13";
|
||||
enhancedColumnHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer13.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer13.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer13.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer13.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer13.Name = "rowHeaderRenderer13";
|
||||
rowHeaderRenderer13.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer13.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer17.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer17.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer17.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer17.Name = "enhancedColumnHeaderRenderer17";
|
||||
enhancedColumnHeaderRenderer17.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer17.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer17.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer17.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer17.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer17.Name = "rowHeaderRenderer17";
|
||||
rowHeaderRenderer17.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer17.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer18.Name = "enhancedColumnHeaderRenderer18";
|
||||
enhancedColumnHeaderRenderer18.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer18.Name = "rowHeaderRenderer18";
|
||||
rowHeaderRenderer18.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer14.Name = "enhancedColumnHeaderRenderer14";
|
||||
enhancedColumnHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer14.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer14.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer14.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer14.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer14.Name = "rowHeaderRenderer14";
|
||||
rowHeaderRenderer14.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer14.TextRotationAngle = 0D;
|
||||
//
|
||||
// btlistadd
|
||||
//
|
||||
this.btlistadd.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btlistadd.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btlistadd.ForeColor = System.Drawing.Color.Black;
|
||||
this.btlistadd.Location = new System.Drawing.Point(9, 309);
|
||||
this.btlistadd.Name = "btlistadd";
|
||||
this.btlistadd.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btlistadd.Size = new System.Drawing.Size(187, 35);
|
||||
this.btlistadd.TabIndex = 595;
|
||||
this.btlistadd.Text = "송출 리스트에 추가";
|
||||
this.btlistadd.UseVisualStyleBackColor = true;
|
||||
this.btlistadd.Click += new System.EventHandler(this.btlistadd_Click);
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.txtSearch);
|
||||
this.groupBox1.Controls.Add(this.listBox);
|
||||
this.groupBox1.Controls.Add(this.btnsearch);
|
||||
this.groupBox1.Location = new System.Drawing.Point(202, 51);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(209, 294);
|
||||
this.groupBox1.TabIndex = 600;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "종목";
|
||||
//
|
||||
// txtSearch
|
||||
//
|
||||
this.txtSearch.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txtSearch.Location = new System.Drawing.Point(6, 21);
|
||||
this.txtSearch.Name = "txtSearch";
|
||||
this.txtSearch.Size = new System.Drawing.Size(128, 25);
|
||||
this.txtSearch.TabIndex = 591;
|
||||
this.txtSearch.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtSearch_KeyPress);
|
||||
//
|
||||
// listBox
|
||||
//
|
||||
this.listBox.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.listBox.FormattingEnabled = true;
|
||||
this.listBox.ItemHeight = 17;
|
||||
this.listBox.Location = new System.Drawing.Point(6, 60);
|
||||
this.listBox.Name = "listBox";
|
||||
this.listBox.Size = new System.Drawing.Size(192, 225);
|
||||
this.listBox.TabIndex = 594;
|
||||
this.listBox.DoubleClick += new System.EventHandler(this.listBox_DoubleClick);
|
||||
//
|
||||
// btnsearch
|
||||
//
|
||||
this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnsearch.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnsearch.Image = ((System.Drawing.Image)(resources.GetObject("btnsearch.Image")));
|
||||
this.btnsearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnsearch.Location = new System.Drawing.Point(140, 17);
|
||||
this.btnsearch.Name = "btnsearch";
|
||||
this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnsearch.Size = new System.Drawing.Size(63, 26);
|
||||
this.btnsearch.TabIndex = 592;
|
||||
this.btnsearch.Text = " 검색";
|
||||
this.btnsearch.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.btnsearch.UseVisualStyleBackColor = true;
|
||||
this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click);
|
||||
//
|
||||
// tabp6_1
|
||||
//
|
||||
this.tabp6_1.Controls.Add(this.panel1);
|
||||
this.tabp6_1.Controls.Add(this.panel2);
|
||||
this.tabp6_1.Controls.Add(this.btnsave);
|
||||
this.tabp6_1.Controls.Add(this.btndel);
|
||||
this.tabp6_1.Controls.Add(this.dataGridView1);
|
||||
this.tabp6_1.Controls.Add(this.btlistadd);
|
||||
this.tabp6_1.Controls.Add(this.FpSpread1);
|
||||
this.tabp6_1.Controls.Add(this.FpSpread2);
|
||||
this.tabp6_1.Controls.Add(this.btnDelete);
|
||||
this.tabp6_1.Controls.Add(this.btnAdd);
|
||||
this.tabp6_1.Controls.Add(this.groupBox1);
|
||||
this.tabp6_1.Location = new System.Drawing.Point(4, 2);
|
||||
this.tabp6_1.Name = "tabp6_1";
|
||||
this.tabp6_1.Size = new System.Drawing.Size(460, 812);
|
||||
this.tabp6_1.TabIndex = 602;
|
||||
this.tabp6_1.Paint += new System.Windows.Forms.PaintEventHandler(this.tabp6_1_Paint);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel1.Location = new System.Drawing.Point(10, 390);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(398, 1);
|
||||
this.panel1.TabIndex = 621;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel2.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel2.Location = new System.Drawing.Point(10, 38);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(184, 1);
|
||||
this.panel2.TabIndex = 620;
|
||||
//
|
||||
// btnsave
|
||||
//
|
||||
this.btnsave.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnsave.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnsave.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnsave.Location = new System.Drawing.Point(305, 753);
|
||||
this.btnsave.Name = "btnsave";
|
||||
this.btnsave.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnsave.Size = new System.Drawing.Size(105, 29);
|
||||
this.btnsave.TabIndex = 619;
|
||||
this.btnsave.Text = "저장";
|
||||
this.btnsave.UseVisualStyleBackColor = true;
|
||||
this.btnsave.Click += new System.EventHandler(this.btnsave_Click);
|
||||
//
|
||||
// btndel
|
||||
//
|
||||
this.btndel.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btndel.Font = new System.Drawing.Font("나눔고딕", 8.999999F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btndel.ForeColor = System.Drawing.Color.Black;
|
||||
this.btndel.Location = new System.Drawing.Point(189, 753);
|
||||
this.btndel.Name = "btndel";
|
||||
this.btndel.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btndel.Size = new System.Drawing.Size(105, 29);
|
||||
this.btndel.TabIndex = 618;
|
||||
this.btndel.Text = "종목삭제";
|
||||
this.btndel.UseVisualStyleBackColor = true;
|
||||
this.btndel.Click += new System.EventHandler(this.btndel_Click);
|
||||
//
|
||||
// dataGridView1
|
||||
//
|
||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView1.Location = new System.Drawing.Point(37, 455);
|
||||
this.dataGridView1.Name = "dataGridView1";
|
||||
this.dataGridView1.RowTemplate.Height = 23;
|
||||
this.dataGridView1.Size = new System.Drawing.Size(179, 63);
|
||||
this.dataGridView1.TabIndex = 617;
|
||||
this.dataGridView1.Visible = false;
|
||||
//
|
||||
// FpSpread1
|
||||
//
|
||||
this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread1.AutoClipboard = false;
|
||||
this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders;
|
||||
this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread1.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1;
|
||||
this.FpSpread1.HorizontalScrollBar.TabIndex = 361;
|
||||
this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread1.Location = new System.Drawing.Point(9, 12);
|
||||
this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread1.Name = "FpSpread1";
|
||||
namedStyle1.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle1.CellType = generalCellType1;
|
||||
namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle1.Renderer = generalCellType1;
|
||||
namedStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle2.Renderer = cornerRenderer1;
|
||||
namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233)))));
|
||||
namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle3.Renderer = enhancedColumnHeaderRenderer18;
|
||||
namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle4.Renderer = rowHeaderRenderer18;
|
||||
namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle1,
|
||||
namedStyle2,
|
||||
namedStyle3,
|
||||
namedStyle4});
|
||||
this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread1_Sheet1,
|
||||
this.FpSpread1_Sheet2});
|
||||
this.FpSpread1.Size = new System.Drawing.Size(187, 291);
|
||||
spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.DefaultStyle = namedStyle4;
|
||||
spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin1.Name = "CustomSkin1";
|
||||
spreadSkin1.RowHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2;
|
||||
spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread1.Skin = spreadSkin1;
|
||||
this.FpSpread1.TabIndex = 605;
|
||||
this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread1.VerticalScrollBar.Name = "";
|
||||
this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3;
|
||||
this.FpSpread1.VerticalScrollBar.TabIndex = 362;
|
||||
this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick);
|
||||
//
|
||||
// FpSpread1_Sheet1
|
||||
//
|
||||
this.FpSpread1_Sheet1.Reset();
|
||||
this.FpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread1_Sheet1.ColumnCount = 7;
|
||||
this.FpSpread1_Sheet1.RowCount = 0;
|
||||
this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread1_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "전문가";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Label = "Index";
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Width = 79F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(1).Label = "전문가";
|
||||
this.FpSpread1_Sheet1.Columns.Get(1).Width = 193F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(2).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread1.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread1_Sheet2
|
||||
//
|
||||
this.FpSpread1_Sheet2.Reset();
|
||||
this.FpSpread1_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// FpSpread2
|
||||
//
|
||||
this.FpSpread2.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread2.AllowDragDrop = true;
|
||||
this.FpSpread2.AllowDragFill = true;
|
||||
this.FpSpread2.AllowUserFormulas = true;
|
||||
this.FpSpread2.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread2.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread2.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread2.HorizontalScrollBar.Renderer = defaultScrollBarRenderer4;
|
||||
this.FpSpread2.HorizontalScrollBar.TabIndex = 363;
|
||||
this.FpSpread2.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread2.Location = new System.Drawing.Point(8, 364);
|
||||
this.FpSpread2.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread2.Name = "FpSpread2";
|
||||
namedStyle5.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle5.CellType = generalCellType2;
|
||||
namedStyle5.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle5.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle5.Renderer = generalCellType2;
|
||||
namedStyle6.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle6.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle6.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle6.Renderer = cornerRenderer2;
|
||||
namedStyle6.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread2.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle5,
|
||||
namedStyle6,
|
||||
namedStyle3,
|
||||
namedStyle4});
|
||||
this.FpSpread2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread2.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread2_Sheet1,
|
||||
this.FpSpread2_Sheet2});
|
||||
this.FpSpread2.Size = new System.Drawing.Size(402, 382);
|
||||
spreadSkin2.ColumnHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin2.DefaultStyle = namedStyle4;
|
||||
spreadSkin2.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin2.Name = "CustomSkin1";
|
||||
spreadSkin2.RowHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin2.ScrollBarRenderer = defaultScrollBarRenderer5;
|
||||
spreadSkin2.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread2.Skin = spreadSkin2;
|
||||
this.FpSpread2.TabIndex = 1;
|
||||
this.FpSpread2.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread2.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread2.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread2.VerticalScrollBar.Name = "";
|
||||
this.FpSpread2.VerticalScrollBar.Renderer = defaultScrollBarRenderer6;
|
||||
this.FpSpread2.VerticalScrollBar.TabIndex = 364;
|
||||
this.FpSpread2.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread2.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread2_CellClick);
|
||||
this.FpSpread2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.FpSpread2_KeyDown);
|
||||
//
|
||||
// FpSpread2_Sheet1
|
||||
//
|
||||
this.FpSpread2_Sheet1.Reset();
|
||||
this.FpSpread2_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread2_Sheet1.ColumnCount = 8;
|
||||
this.FpSpread2_Sheet1.RowCount = 0;
|
||||
this.FpSpread2_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread2_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread2_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder2;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "매수가";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Label = "Index";
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(0).Width = 79F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Label = "종목";
|
||||
this.FpSpread2_Sheet1.Columns.Get(1).Width = 273F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Label = "매수가";
|
||||
this.FpSpread2_Sheet1.Columns.Get(2).Width = 163F;
|
||||
this.FpSpread2_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread2_Sheet1.Columns.Get(7).Visible = false;
|
||||
this.FpSpread2_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread2_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread2_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread2_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread2_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread2_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread2.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread2_Sheet2
|
||||
//
|
||||
this.FpSpread2_Sheet2.Reset();
|
||||
this.FpSpread2_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread2_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread2_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread2_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread2_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread2_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// btnDelete
|
||||
//
|
||||
this.btnDelete.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnDelete.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnDelete.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnDelete.Location = new System.Drawing.Point(312, 12);
|
||||
this.btnDelete.Name = "btnDelete";
|
||||
this.btnDelete.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnDelete.Size = new System.Drawing.Size(93, 29);
|
||||
this.btnDelete.TabIndex = 604;
|
||||
this.btnDelete.Text = "삭제";
|
||||
this.btnDelete.UseVisualStyleBackColor = true;
|
||||
this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
|
||||
//
|
||||
// btnAdd
|
||||
//
|
||||
this.btnAdd.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnAdd.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnAdd.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnAdd.Location = new System.Drawing.Point(208, 12);
|
||||
this.btnAdd.Name = "btnAdd";
|
||||
this.btnAdd.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnAdd.Size = new System.Drawing.Size(100, 29);
|
||||
this.btnAdd.TabIndex = 603;
|
||||
this.btnAdd.Text = "추가";
|
||||
this.btnAdd.UseVisualStyleBackColor = true;
|
||||
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
|
||||
//
|
||||
// UC6
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tabp6_1);
|
||||
this.Controls.Add(rowHeaderRenderer1);
|
||||
this.Controls.Add(enhancedColumnHeaderRenderer1);
|
||||
this.Name = "UC6";
|
||||
this.Size = new System.Drawing.Size(470, 817);
|
||||
this.Load += new System.EventHandler(this.UC6_Load);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.tabp6_1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread2_Sheet2)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.Button btlistadd;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox txtSearch;
|
||||
private System.Windows.Forms.ListBox listBox;
|
||||
private System.Windows.Forms.Button btnsearch;
|
||||
private System.Windows.Forms.Panel tabp6_1;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread2;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread2_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread2_Sheet2;
|
||||
private System.Windows.Forms.Button btnDelete;
|
||||
private System.Windows.Forms.Button btnAdd;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2;
|
||||
private System.Windows.Forms.DataGridView dataGridView1;
|
||||
private System.Windows.Forms.Button btnsave;
|
||||
private System.Windows.Forms.Button btndel;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
}
|
||||
}
|
||||
238
MBN_STOCK_N/Control/UC6.cs
Normal file
238
MBN_STOCK_N/Control/UC6.cs
Normal file
@@ -0,0 +1,238 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public partial class UC6 : UserControl
|
||||
{
|
||||
MainForm mf = null;
|
||||
//DBCon m_db = new DBCon();
|
||||
string m_code = string.Empty;
|
||||
string m_name = string.Empty;
|
||||
string m_scode = string.Empty;
|
||||
public UC6()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
public UC6(Form frm)
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
InitializeComponent();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void btnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
EList fm = new EList(mf);
|
||||
fm.ShowDialog();
|
||||
|
||||
Data_Load();
|
||||
}
|
||||
|
||||
private void UC6_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
Data_Load();
|
||||
FpSpread2.Focus();
|
||||
|
||||
}
|
||||
|
||||
private void Data_Load()
|
||||
{
|
||||
FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true);
|
||||
|
||||
if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount);
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, "SELECT EP_NAME, EP_CODE FROM EXPERT_LIST");
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
FpSpread2.ActiveSheet.ClearRange(0, 0, FpSpread2.ActiveSheet.RowCount, FpSpread2.ActiveSheet.ColumnCount, true);
|
||||
|
||||
if (FpSpread2.ActiveSheet.RowCount != 0)
|
||||
FpSpread2.ActiveSheet.RemoveRows(0, FpSpread2.ActiveSheet.RowCount);
|
||||
|
||||
m_code = FpSpread1.ActiveSheet.GetText(e.Row, 0);
|
||||
m_name = FpSpread1.ActiveSheet.GetText(e.Row, 1);
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, "SELECT * FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "' order by PLAYINDEX");
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, FpSpread2.ActiveSheet.RowCount + 1, 1, 0);
|
||||
FpSpread2.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread2.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[2].Value.ToString());
|
||||
FpSpread2.ActiveSheet.SetText(i, 2, dataGridView1.Rows[i].Cells[3].Value.ToString());
|
||||
FpSpread2.ActiveSheet.SetText(i, 3, dataGridView1.Rows[i].Cells[0].Value.ToString());
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void btnDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (m_code != "")
|
||||
{
|
||||
if (MessageBox.Show("선택한 전문가를 삭제하겠습니까?", "MmoneyCoder", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||
{
|
||||
if (FpSpread1.ActiveSheet.ActiveRowIndex + 1 > 0)
|
||||
{
|
||||
FpSpread1.ActiveSheet.RemoveRows(FpSpread1.ActiveSheet.ActiveRowIndex, 1);
|
||||
}
|
||||
|
||||
mf.m_db.ExecuteQuery("DELETE FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "'");
|
||||
mf.m_db.ExecuteQuery("DELETE FROM EXPERT_LIST WHERE EP_CODE = '" + m_code + "'");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//종목삭제
|
||||
private void btndel_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FpSpread2.ActiveSheet.ActiveRowIndex + 1 > 0)
|
||||
{
|
||||
//mf.m_db.ExecuteQuery("DELETE FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "' AND RC_STOCK_CODE = '" + m_scode + "'");
|
||||
FpSpread2.ActiveSheet.RemoveRows(FpSpread2.ActiveSheet.ActiveRowIndex, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//저장
|
||||
private void btnsave_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (m_code != "" && FpSpread2.ActiveSheet.RowCount != 0)
|
||||
{
|
||||
mf.m_db.ExecuteQuery("DELETE FROM RECOMMEND_LIST WHERE RC_CODE = '" + m_code + "'");
|
||||
mf.m_db.ExecuteQuery("DELETE FROM EXPERT_LIST WHERE EP_CODE = '" + m_code + "'");
|
||||
|
||||
|
||||
mf.m_db.ExecuteQuery("INSERT INTO EXPERT_LIST(EP_CODE, EP_NAME) VALUES('" + m_code + "', '" + m_name + "')");
|
||||
|
||||
for (int i = 0; i < FpSpread2.ActiveSheet.RowCount; i++)
|
||||
{
|
||||
//상세종목 입력
|
||||
mf.m_db.ExecuteQuery("INSERT INTO RECOMMEND_LIST (RC_CODE, RC_STOCK_CODE, RC_STOCK_NAME, RC_BUY_AMOUNT, PLAYINDEX) VALUES('" + m_code + "', '" + FpSpread2.ActiveSheet.GetText(i, 0) + "', '" + FpSpread2.ActiveSheet.GetText(i, 1) + "', '" + FpSpread2.ActiveSheet.GetText(i, 2) + "','" + i.ToString() + "')");
|
||||
}
|
||||
|
||||
MessageBox.Show("저장되었습니다");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == (char)Keys.Enter)
|
||||
{
|
||||
e.Handled = true;
|
||||
mf.searchStock(listBox, txtSearch);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnsearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
mf.searchStock(listBox, txtSearch);
|
||||
}
|
||||
|
||||
private void FpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
|
||||
if (e.Column == 2)
|
||||
{
|
||||
FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.Normal;
|
||||
// MessageBox.Show("A");
|
||||
}
|
||||
else
|
||||
{
|
||||
FpSpread2.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
}
|
||||
m_scode = FpSpread2.ActiveSheet.GetText(e.Row, 0);
|
||||
}
|
||||
|
||||
private void listBox_DoubleClick(object sender, EventArgs e)
|
||||
{
|
||||
string str = mf.jongmokCode((string)listBox.SelectedItem);
|
||||
|
||||
string data3 = str.Substring(0, str.IndexOf('/')); //종목코드
|
||||
string data4 = str.Substring(str.IndexOf('/') + 1, str.Length - str.IndexOf('/') - 1); //코스피, 코스닥체크
|
||||
string jcode = string.Empty;
|
||||
|
||||
|
||||
|
||||
|
||||
//열추가
|
||||
int row = FpSpread2.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(FpSpread2, FpSpread2.ActiveSheet, row, 1, 0);
|
||||
|
||||
FpSpread2.ActiveSheet.SetText(row - 1, 1, (string)listBox.SelectedItem);
|
||||
FpSpread2.ActiveSheet.SetText(row - 1, 0, data3);
|
||||
FpSpread2.ActiveSheet.SetText(row - 1, 3, m_code);
|
||||
}
|
||||
|
||||
private void btlistadd_Click(object sender, EventArgs e)
|
||||
{
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 1, "전문가 추천");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, "5단 표그래프");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, "현재가");
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 6, m_code); //테마 코드 추가
|
||||
|
||||
int cnt = FpSpread2.ActiveSheet.RowCount;
|
||||
int lcnt = 0;
|
||||
|
||||
if ((cnt % 5) != 0)
|
||||
lcnt = 1;
|
||||
|
||||
lcnt = (cnt / 5) + lcnt;
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 5, "1/" + lcnt.ToString());
|
||||
}
|
||||
|
||||
private void tabp6_1_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void FpSpread2_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Delete)
|
||||
{
|
||||
btndel_Click(null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
143
MBN_STOCK_N/Control/UC6.resx
Normal file
143
MBN_STOCK_N/Control/UC6.resx
Normal file
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="btnsearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAmdEVYdFRpdGxlAEZpbmQ7QmFycztSaWJib247U3Rh
|
||||
bmRhcmQ7U2VhcmNou2WcCAAAALlJREFUOE+lktsRgjAQRaEdakgpFGEFoj3QBaM1+SNtxHuY3QyziegM
|
||||
Hydk9j4gQJdzPsW2pJSgF6NYxGqwZ4ZWhWFbzHAT+QtofQyDF3AXjG8xicFgzwxtjGHwAh4V0xQNzExb
|
||||
ogZu4ryYhmhgZtoaNXDT6YLTRzh6iczhIfAW9gW/PqNzFc0CL2n9SE/RLCkFR5j5LqoS9CoQwWjEkhm9
|
||||
GdojY7mKfcmLeRVoYWFnJiwuaM3A/+TuA3z+LAyTGFNzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1073, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1188, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>811, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread2_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>958, 118</value>
|
||||
</metadata>
|
||||
</root>
|
||||
393
MBN_STOCK_N/Control/UC7.Designer.cs
generated
Normal file
393
MBN_STOCK_N/Control/UC7.Designer.cs
generated
Normal file
@@ -0,0 +1,393 @@
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
partial class UC7
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer1 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer1 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer2 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer2 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer5 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer5 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer6 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer6 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer7 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer7 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer8 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer8 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer9 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer9 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer3 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer3 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer enhancedColumnHeaderRenderer4 = new FarPoint.Win.Spread.CellType.EnhancedColumnHeaderRenderer();
|
||||
FarPoint.Win.Spread.CellType.RowHeaderRenderer rowHeaderRenderer4 = new FarPoint.Win.Spread.CellType.RowHeaderRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer1 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle1 = new FarPoint.Win.Spread.NamedStyle("DataAreaDefault");
|
||||
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType1 = new FarPoint.Win.Spread.CellType.GeneralCellType();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle2 = new FarPoint.Win.Spread.NamedStyle("CornerDefault");
|
||||
FarPoint.Win.Spread.CellType.CornerRenderer cornerRenderer1 = new FarPoint.Win.Spread.CellType.CornerRenderer();
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle3 = new FarPoint.Win.Spread.NamedStyle("ColumnHeaderEnhanced");
|
||||
FarPoint.Win.Spread.NamedStyle namedStyle4 = new FarPoint.Win.Spread.NamedStyle("RowHeaderDefault");
|
||||
FarPoint.Win.Spread.SpreadSkin spreadSkin1 = new FarPoint.Win.Spread.SpreadSkin();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer2 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.Spread.DefaultScrollBarRenderer defaultScrollBarRenderer3 = new FarPoint.Win.Spread.DefaultScrollBarRenderer();
|
||||
FarPoint.Win.EmptyBorder emptyBorder1 = new FarPoint.Win.EmptyBorder();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.btnsearch = new System.Windows.Forms.Button();
|
||||
this.txts = new System.Windows.Forms.TextBox();
|
||||
this.dataGridView1 = new System.Windows.Forms.DataGridView();
|
||||
this.btn2 = new System.Windows.Forms.Button();
|
||||
this.btn1 = new System.Windows.Forms.Button();
|
||||
this.FpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.FpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.FpSpread1_Sheet2 = new FarPoint.Win.Spread.SheetView();
|
||||
this.groupBox3.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
enhancedColumnHeaderRenderer1.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer1.Name = "enhancedColumnHeaderRenderer1";
|
||||
enhancedColumnHeaderRenderer1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer1.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer1.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer1.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer1.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer1.Name = "rowHeaderRenderer1";
|
||||
rowHeaderRenderer1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer1.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer2.Name = "enhancedColumnHeaderRenderer2";
|
||||
enhancedColumnHeaderRenderer2.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer2.Name = "rowHeaderRenderer2";
|
||||
rowHeaderRenderer2.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer5.Name = "enhancedColumnHeaderRenderer5";
|
||||
enhancedColumnHeaderRenderer5.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer5.Name = "rowHeaderRenderer5";
|
||||
rowHeaderRenderer5.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer6.Name = "enhancedColumnHeaderRenderer6";
|
||||
enhancedColumnHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer6.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer6.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer6.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer6.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer6.Name = "rowHeaderRenderer6";
|
||||
rowHeaderRenderer6.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer6.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer7.Name = "enhancedColumnHeaderRenderer7";
|
||||
enhancedColumnHeaderRenderer7.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer7.Name = "rowHeaderRenderer7";
|
||||
rowHeaderRenderer7.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer8.Name = "enhancedColumnHeaderRenderer8";
|
||||
enhancedColumnHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer8.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer8.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer8.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer8.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer8.Name = "rowHeaderRenderer8";
|
||||
rowHeaderRenderer8.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer8.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer9.Name = "enhancedColumnHeaderRenderer9";
|
||||
enhancedColumnHeaderRenderer9.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer9.Name = "rowHeaderRenderer9";
|
||||
rowHeaderRenderer9.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control;
|
||||
enhancedColumnHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
enhancedColumnHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
enhancedColumnHeaderRenderer3.Name = "enhancedColumnHeaderRenderer3";
|
||||
enhancedColumnHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
enhancedColumnHeaderRenderer3.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer3.BackColor = System.Drawing.SystemColors.Control;
|
||||
rowHeaderRenderer3.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
rowHeaderRenderer3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
rowHeaderRenderer3.Name = "rowHeaderRenderer3";
|
||||
rowHeaderRenderer3.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
rowHeaderRenderer3.TextRotationAngle = 0D;
|
||||
enhancedColumnHeaderRenderer4.Name = "enhancedColumnHeaderRenderer4";
|
||||
enhancedColumnHeaderRenderer4.TextRotationAngle = 0D;
|
||||
rowHeaderRenderer4.Name = "rowHeaderRenderer4";
|
||||
rowHeaderRenderer4.TextRotationAngle = 0D;
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.panel1);
|
||||
this.groupBox3.Controls.Add(this.btnsearch);
|
||||
this.groupBox3.Controls.Add(this.txts);
|
||||
this.groupBox3.Controls.Add(this.dataGridView1);
|
||||
this.groupBox3.Controls.Add(this.btn2);
|
||||
this.groupBox3.Controls.Add(this.btn1);
|
||||
this.groupBox3.Controls.Add(this.FpSpread1);
|
||||
this.groupBox3.Location = new System.Drawing.Point(2, 12);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(451, 602);
|
||||
this.groupBox3.TabIndex = 603;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "거래정지 종목";
|
||||
this.groupBox3.Enter += new System.EventHandler(this.groupBox3_Enter);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel1.ForeColor = System.Drawing.SystemColors.ButtonShadow;
|
||||
this.panel1.Location = new System.Drawing.Point(6, 80);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(301, 1);
|
||||
this.panel1.TabIndex = 622;
|
||||
//
|
||||
// btnsearch
|
||||
//
|
||||
this.btnsearch.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btnsearch.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btnsearch.ForeColor = System.Drawing.Color.Black;
|
||||
this.btnsearch.Location = new System.Drawing.Point(226, 19);
|
||||
this.btnsearch.Name = "btnsearch";
|
||||
this.btnsearch.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btnsearch.Size = new System.Drawing.Size(88, 31);
|
||||
this.btnsearch.TabIndex = 618;
|
||||
this.btnsearch.Text = "검 색";
|
||||
this.btnsearch.UseVisualStyleBackColor = true;
|
||||
this.btnsearch.Click += new System.EventHandler(this.btnsearch_Click);
|
||||
//
|
||||
// txts
|
||||
//
|
||||
this.txts.Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.txts.Location = new System.Drawing.Point(6, 24);
|
||||
this.txts.Name = "txts";
|
||||
this.txts.Size = new System.Drawing.Size(195, 25);
|
||||
this.txts.TabIndex = 0;
|
||||
this.txts.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txts_KeyPress);
|
||||
//
|
||||
// dataGridView1
|
||||
//
|
||||
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dataGridView1.Location = new System.Drawing.Point(32, 450);
|
||||
this.dataGridView1.Name = "dataGridView1";
|
||||
this.dataGridView1.RowTemplate.Height = 23;
|
||||
this.dataGridView1.Size = new System.Drawing.Size(243, 130);
|
||||
this.dataGridView1.TabIndex = 616;
|
||||
this.dataGridView1.Visible = false;
|
||||
//
|
||||
// btn2
|
||||
//
|
||||
this.btn2.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn2.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn2.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn2.Location = new System.Drawing.Point(321, 340);
|
||||
this.btn2.Name = "btn2";
|
||||
this.btn2.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn2.Size = new System.Drawing.Size(90, 34);
|
||||
this.btn2.TabIndex = 593;
|
||||
this.btn2.Tag = "2";
|
||||
this.btn2.Text = "120일 캔들";
|
||||
this.btn2.UseVisualStyleBackColor = true;
|
||||
this.btn2.Click += new System.EventHandler(this.btn4_Click);
|
||||
//
|
||||
// btn1
|
||||
//
|
||||
this.btn1.FlatAppearance.BorderColor = System.Drawing.Color.Gray;
|
||||
this.btn1.Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.btn1.ForeColor = System.Drawing.Color.Black;
|
||||
this.btn1.Location = new System.Drawing.Point(321, 288);
|
||||
this.btn1.Name = "btn1";
|
||||
this.btn1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.btn1.Size = new System.Drawing.Size(90, 34);
|
||||
this.btn1.TabIndex = 592;
|
||||
this.btn1.Tag = "1";
|
||||
this.btn1.Text = "현재가";
|
||||
this.btn1.UseVisualStyleBackColor = true;
|
||||
this.btn1.Click += new System.EventHandler(this.btn4_Click);
|
||||
//
|
||||
// FpSpread1
|
||||
//
|
||||
this.FpSpread1.AccessibleDescription = "FpSpread2, Sheet1, Row 0, Column 0, ";
|
||||
this.FpSpread1.AutoClipboard = false;
|
||||
this.FpSpread1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
this.FpSpread1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.FpSpread1.ClipboardOptions = FarPoint.Win.Spread.ClipboardOptions.NoHeaders;
|
||||
this.FpSpread1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
this.FpSpread1.HorizontalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread1.HorizontalScrollBar.Name = "";
|
||||
this.FpSpread1.HorizontalScrollBar.Renderer = defaultScrollBarRenderer1;
|
||||
this.FpSpread1.HorizontalScrollBar.TabIndex = 349;
|
||||
this.FpSpread1.HorizontalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.Never;
|
||||
this.FpSpread1.Location = new System.Drawing.Point(6, 56);
|
||||
this.FpSpread1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
|
||||
this.FpSpread1.Name = "FpSpread1";
|
||||
namedStyle1.BackColor = System.Drawing.SystemColors.Window;
|
||||
namedStyle1.CellType = generalCellType1;
|
||||
namedStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
namedStyle1.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle1.Renderer = generalCellType1;
|
||||
namedStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle2.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle2.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle2.Renderer = cornerRenderer1;
|
||||
namedStyle2.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(211)))), ((int)(((byte)(220)))), ((int)(((byte)(233)))));
|
||||
namedStyle3.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle3.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle3.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle3.Renderer = enhancedColumnHeaderRenderer4;
|
||||
namedStyle3.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
namedStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
namedStyle4.ForeColor = System.Drawing.SystemColors.ControlText;
|
||||
namedStyle4.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
namedStyle4.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
namedStyle4.Renderer = rowHeaderRenderer4;
|
||||
namedStyle4.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.FpSpread1.NamedStyles.AddRange(new FarPoint.Win.Spread.NamedStyle[] {
|
||||
namedStyle1,
|
||||
namedStyle2,
|
||||
namedStyle3,
|
||||
namedStyle4});
|
||||
this.FpSpread1.RightToLeft = System.Windows.Forms.RightToLeft.No;
|
||||
this.FpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.FpSpread1_Sheet1,
|
||||
this.FpSpread1_Sheet2});
|
||||
this.FpSpread1.Size = new System.Drawing.Size(303, 533);
|
||||
spreadSkin1.ColumnHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.DefaultStyle = namedStyle4;
|
||||
spreadSkin1.FocusRenderer = new FarPoint.Win.Spread.ImageFocusIndicatorRenderer(null, System.Drawing.Color.Empty);
|
||||
spreadSkin1.Name = "CustomSkin1";
|
||||
spreadSkin1.RowHeaderDefaultStyle = namedStyle3;
|
||||
spreadSkin1.ScrollBarRenderer = defaultScrollBarRenderer2;
|
||||
spreadSkin1.SelectionRenderer = new FarPoint.Win.Spread.GradientSelectionRenderer(System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(60)))), ((int)(((byte)(97))))), System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(110)))), ((int)(((byte)(170))))), System.Drawing.Drawing2D.LinearGradientMode.Vertical, 30);
|
||||
this.FpSpread1.Skin = spreadSkin1;
|
||||
this.FpSpread1.TabIndex = 588;
|
||||
this.FpSpread1.TabStrip.ButtonPolicy = FarPoint.Win.Spread.TabStripButtonPolicy.Never;
|
||||
this.FpSpread1.TabStripPolicy = FarPoint.Win.Spread.TabStripPolicy.Never;
|
||||
this.FpSpread1.VerticalScrollBar.Buttons = new FarPoint.Win.Spread.FpScrollBarButtonCollection("BackwardLineButton,ThumbTrack,ForwardLineButton");
|
||||
this.FpSpread1.VerticalScrollBar.Name = "";
|
||||
this.FpSpread1.VerticalScrollBar.Renderer = defaultScrollBarRenderer3;
|
||||
this.FpSpread1.VerticalScrollBar.TabIndex = 350;
|
||||
this.FpSpread1.VerticalScrollBarPolicy = FarPoint.Win.Spread.ScrollBarPolicy.AsNeeded;
|
||||
this.FpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(this.FpSpread1_CellClick);
|
||||
//
|
||||
// FpSpread1_Sheet1
|
||||
//
|
||||
this.FpSpread1_Sheet1.Reset();
|
||||
this.FpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread1_Sheet1.ColumnCount = 8;
|
||||
this.FpSpread1_Sheet1.RowCount = 0;
|
||||
this.FpSpread1_Sheet1.RowHeader.ColumnCount = 0;
|
||||
this.FpSpread1_Sheet1.ActiveRowIndex = -1;
|
||||
this.FpSpread1_Sheet1.ActiveSkin = FarPoint.Win.Spread.DefaultSkins.Classic;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Numbers;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Font = new System.Drawing.Font("나눔고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "Index";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).BackColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Border = emptyBorder1;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Font = new System.Drawing.Font("나눔고딕", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "종목명";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 25F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Label = "Index";
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(0).Width = 79F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(1).Label = "종목명";
|
||||
this.FpSpread1_Sheet1.Columns.Get(1).Width = 327F;
|
||||
this.FpSpread1_Sheet1.Columns.Get(2).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(3).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(4).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(6).Visible = false;
|
||||
this.FpSpread1_Sheet1.Columns.Get(7).Visible = false;
|
||||
this.FpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
|
||||
this.FpSpread1_Sheet1.RowHeader.AutoText = FarPoint.Win.Spread.HeaderAutoText.Blank;
|
||||
this.FpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread1_Sheet1.RowHeader.Columns.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.RowHeader.DefaultStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.RowHeader.Rows.Default.VisualStyles = FarPoint.Win.VisualStyles.Auto;
|
||||
this.FpSpread1_Sheet1.SheetCornerStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet1.SheetCornerStyle.Parent = "HeaderDefault";
|
||||
this.FpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
this.FpSpread1.SetActiveViewport(0, -1, 0);
|
||||
//
|
||||
// FpSpread1_Sheet2
|
||||
//
|
||||
this.FpSpread1_Sheet2.Reset();
|
||||
this.FpSpread1_Sheet2.SheetName = "Sheet2";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.FpSpread1_Sheet2.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet2.DefaultStyle.Parent = "RowHeaderDefault";
|
||||
this.FpSpread1_Sheet2.RowHeader.Columns.Default.Resizable = false;
|
||||
this.FpSpread1_Sheet2.RowHeader.DefaultStyle.NoteIndicatorColor = System.Drawing.Color.Red;
|
||||
this.FpSpread1_Sheet2.RowHeader.DefaultStyle.Parent = "ColumnHeaderEnhanced";
|
||||
this.FpSpread1_Sheet2.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// UC7
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Name = "UC7";
|
||||
this.Size = new System.Drawing.Size(458, 715);
|
||||
this.Load += new System.EventHandler(this.UC7_Load);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.FpSpread1_Sheet2)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.DataGridView dataGridView1;
|
||||
private System.Windows.Forms.Button btn2;
|
||||
private System.Windows.Forms.Button btn1;
|
||||
public FarPoint.Win.Spread.FpSpread FpSpread1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread1_Sheet1;
|
||||
public FarPoint.Win.Spread.SheetView FpSpread1_Sheet2;
|
||||
private System.Windows.Forms.Button btnsearch;
|
||||
private System.Windows.Forms.TextBox txts;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
}
|
||||
}
|
||||
243
MBN_STOCK_N/Control/UC7.cs
Normal file
243
MBN_STOCK_N/Control/UC7.cs
Normal file
@@ -0,0 +1,243 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MBN_STOCK_N
|
||||
{
|
||||
public partial class UC7 : UserControl
|
||||
{
|
||||
MainForm mf = null;
|
||||
//DBCon m_db = new DBCon();
|
||||
|
||||
|
||||
|
||||
public UC7()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
public UC7(Form frm)
|
||||
{
|
||||
mf = (MainForm)frm;
|
||||
InitializeComponent();
|
||||
|
||||
}
|
||||
|
||||
private void UC7_Load(object sender, EventArgs e)
|
||||
{
|
||||
FpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;
|
||||
}
|
||||
|
||||
//검색
|
||||
private void btnsearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
search();
|
||||
}
|
||||
|
||||
private void txts_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (e.KeyChar == (char)Keys.Enter)
|
||||
{
|
||||
e.Handled = true;
|
||||
search();
|
||||
}
|
||||
}
|
||||
|
||||
private void search()
|
||||
{
|
||||
string query = string.Empty;
|
||||
|
||||
FpSpread1.ActiveSheet.ClearRange(0, 0, FpSpread1.ActiveSheet.RowCount, FpSpread1.ActiveSheet.ColumnCount, true);
|
||||
|
||||
if (FpSpread1.ActiveSheet.RowCount != 0)
|
||||
FpSpread1.ActiveSheet.RemoveRows(0, FpSpread1.ActiveSheet.RowCount);
|
||||
|
||||
if (txts.Text == "")
|
||||
{
|
||||
//query = "SELECT DISTINCT b.F_STOCK_WANNAME stock_name, b.f_stock_code stock_code ";
|
||||
//query = query + "FROM t_stop_online1 a, t_stock b ";
|
||||
//query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
//query = query + "AND a.f_curr_price < > 0 ";
|
||||
//query = query + "AND a.f_stock_code = b.f_stock_code";
|
||||
|
||||
|
||||
query = "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name ";
|
||||
query = query + "FROM t_stop_online1 a, t_stock b ";
|
||||
query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
query = query + "and a.f_stock_code = b.f_stock_code order by 2";
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
//FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 0, "코스피");
|
||||
}
|
||||
|
||||
int cnt = dataGridView1.RowCount-1;
|
||||
query = "";
|
||||
//query = "SELECT DISTINCT b.F_STOCK_WANNAME stock_name, b.f_stock_code stock_code ";
|
||||
//query = query + "FROM T_STOP_KOSDAQ_ONLINE1 a, T_KOSDAQ_STOCK b ";
|
||||
//query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
//query = query + "AND a.f_curr_price < > 0 ";
|
||||
//query = query + "AND a.f_stock_code = b.f_stock_code";
|
||||
|
||||
query = "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name ";
|
||||
query = query + "FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b ";
|
||||
query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
query = query + "and a.f_stock_code = b.f_stock_code order by 2";
|
||||
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
//FpSpread1.ActiveSheet.SetText(i + cnt, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i + cnt, 1, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i + cnt, 0, "코스닥");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
string s = string.Empty;
|
||||
|
||||
s = txts.Text.ToUpper();
|
||||
//query = "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_STOCK WHERE F_MKT_HALT = 'Y' AND UPPER(F_STOCK_WANNAME) LIKE '%" + s + "%'";
|
||||
|
||||
//query = "select stock_name, stock_code ";
|
||||
//query = query + "from( ";
|
||||
//query = query + "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name ";
|
||||
//query = query + "FROM t_stop_online1 a, t_stock b ";
|
||||
//query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
//query = query + "and a.f_stock_code = b.f_stock_code ";
|
||||
//query = query + "union ";
|
||||
//query = query + "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name ";
|
||||
//query = query + "FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b ";
|
||||
//query = query + " WHERE b.f_mkt_halt = 'Y' ";
|
||||
//query = query + "and a.f_stock_code = b.f_stock_code) ";
|
||||
//query = query + "where stock_name like '%" + s + "%' ";
|
||||
|
||||
|
||||
|
||||
query = "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name ";
|
||||
query = query + "FROM t_stop_online1 a, t_stock b ";
|
||||
query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
query = query + "and a.f_stock_code = b.f_stock_code ";
|
||||
query = query + "and b.F_STOCK_WANNAME like '%" + s + "%' ";
|
||||
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
//FpSpread1.ActiveSheet.SetText(i, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 1, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i, 0, "코스피");
|
||||
|
||||
}
|
||||
|
||||
int cnt = dataGridView1.RowCount - 1;
|
||||
query = "";
|
||||
query = query + "SELECT b.f_stock_code stock_code, b.F_STOCK_WANNAME stock_name ";
|
||||
query = query + "FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b ";
|
||||
query = query + "WHERE b.f_mkt_halt = 'Y' ";
|
||||
query = query + "and a.f_stock_code = b.f_stock_code ";
|
||||
query = query + "and b.F_STOCK_WANNAME like '%" + s + "%' ";
|
||||
|
||||
|
||||
mf.m_db.ViewQuery(dataGridView1, query);
|
||||
|
||||
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
|
||||
{
|
||||
mf.InsertRow(FpSpread1, FpSpread1.ActiveSheet, FpSpread1.ActiveSheet.RowCount + 1, 1, 0);
|
||||
//FpSpread1.ActiveSheet.SetText(i + cnt, 0, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i + cnt, 1, dataGridView1.Rows[i].Cells[1].Value.ToString());
|
||||
FpSpread1.ActiveSheet.SetText(i + cnt, 0, "코스닥");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool[] sortAscending = new bool[6];
|
||||
private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
if (e.ColumnHeader)
|
||||
{
|
||||
if (e.Column == 1)
|
||||
{
|
||||
FarPoint.Win.Spread.SortInfo[] si = new FarPoint.Win.Spread.SortInfo[2];
|
||||
|
||||
//int sindex = (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : (e.Column == 1 ? 0 : 0)));
|
||||
int sindex = (e.Column == 1 ? 0 : (e.Column == 3 ? 1 : (e.Column == 5 ? 2 : 3)));
|
||||
si[0] = new FarPoint.Win.Spread.SortInfo(e.Column, sortAscending[sindex], System.Collections.Comparer.Default);
|
||||
|
||||
sortAscending[sindex] = (sortAscending[sindex] == false ? true : false);
|
||||
FpSpread1.Sheets[0].SortRange(0, 0, FpSpread1.Sheets[0].GetLastNonEmptyRow(FarPoint.Win.Spread.NonEmptyItemFlag.Data), FpSpread1.Sheets[0].ColumnCount, true, si);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//현재가
|
||||
private void btn4_Click(object sender, EventArgs e)
|
||||
{
|
||||
Button btn = (Button)sender;
|
||||
string data1 = string.Empty;
|
||||
string data2 = string.Empty;
|
||||
|
||||
if ((string)btn.Tag == "1")
|
||||
{
|
||||
data1 = "1열판기본";
|
||||
data2 = "거래정지-현재가";
|
||||
}
|
||||
else if ((string)btn.Tag == "2")
|
||||
{
|
||||
data1 = "캔들그래프-거래정지";
|
||||
data2 = "120일";
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1) != "")
|
||||
{
|
||||
int row = mf.PlayList.ActiveSheet.RowCount + 1;
|
||||
mf.InsertRow(mf.PlayList, mf.PlayList.ActiveSheet, row, 1, 1);
|
||||
|
||||
mf.PlayList.ActiveSheet.SetValue(row - 1, 0, true);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 1, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 0));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 2, FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1));
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 3, data1);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 4, data2);
|
||||
mf.PlayList.ActiveSheet.SetText(row - 1, 5, "1/1");
|
||||
|
||||
|
||||
//string s = mf.jongmokCode(FpSpread1.ActiveSheet.GetText(FpSpread1.ActiveSheet.ActiveRowIndex, 1));
|
||||
|
||||
//if (s != "")
|
||||
//{
|
||||
// string data3 = s.Substring(s.IndexOf('/') + 1, s.Length - s.IndexOf('/') - 1);
|
||||
// mf.PlayList.ActiveSheet.SetText(row - 1, 1, data3);
|
||||
//}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void groupBox3_Enter(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
126
MBN_STOCK_N/Control/UC7.resx
Normal file
126
MBN_STOCK_N/Control/UC7.resx
Normal file
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="FpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1104, 118</value>
|
||||
</metadata>
|
||||
<metadata name="FpSpread1_Sheet2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1251, 118</value>
|
||||
</metadata>
|
||||
</root>
|
||||
243
MBN_STOCK_N/Data/Classification/CutList.cs
Normal file
243
MBN_STOCK_N/Data/Classification/CutList.cs
Normal file
@@ -0,0 +1,243 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Classification
|
||||
{
|
||||
public class CutList
|
||||
{
|
||||
public string cutPath = @"D:\매경TVCuts\";
|
||||
public string videoPath = @"D:\매경TVCuts\Video\";
|
||||
|
||||
|
||||
public string[] getCutInfo(string info)
|
||||
{
|
||||
string[] rtn = new string[] { "", "" };
|
||||
try
|
||||
{
|
||||
string path = cutPath;
|
||||
|
||||
if (info.Contains("해외증시 - "))
|
||||
{
|
||||
rtn[0] = "6001";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("영업이익수동^"))
|
||||
{
|
||||
rtn[0] = "5081";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("매출액수동^"))
|
||||
{
|
||||
rtn[0] = "5080";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("성장성수동^"))
|
||||
{
|
||||
rtn[0] = "5079";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("원그래프수동^"))
|
||||
{
|
||||
rtn[0] = "5076";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("순매도수동^"))
|
||||
{
|
||||
rtn[0] = "5025";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("5단수동^"))
|
||||
{
|
||||
rtn[0] = "50740";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("5단표 - "))
|
||||
{
|
||||
rtn[0] = "5074";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("호가창 - "))
|
||||
{
|
||||
rtn[0] = "8003";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("거래원 - "))
|
||||
{
|
||||
rtn[0] = "5037";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("수급 - "))
|
||||
{
|
||||
//디자인 미완성
|
||||
}
|
||||
else if (info.Contains("선그래프 - 주체별 - "))
|
||||
{
|
||||
rtn[0] = "5083";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("선그래프 - 종류별 - "))
|
||||
{
|
||||
rtn[0] = "5084";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("막대그래프 - "))
|
||||
{
|
||||
rtn[0] = "5024";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("유가금값 - "))
|
||||
{
|
||||
rtn[0] = "8086";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("업종별 등락 - 코스피"))
|
||||
{
|
||||
rtn[0] = "8001";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("업종별 등락 - 코스닥"))
|
||||
{
|
||||
rtn[0] = "8002";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("업종별 섹터지수 - "))
|
||||
{
|
||||
rtn[0] = "5078";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("3열판 - "))
|
||||
{
|
||||
rtn[0] = "5016";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("매매동향 - 주체별"))
|
||||
{
|
||||
rtn[0] = "5082";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("매매동향 - 지수별"))
|
||||
{
|
||||
rtn[0] = "5023";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("프로그램 매매"))
|
||||
{
|
||||
rtn[0] = "5085";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("기관 순매수"))
|
||||
{
|
||||
rtn[0] = "6067";
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (CutList_WorldMap.ContainsValue(info))
|
||||
{
|
||||
rtn[0] = CutList_WorldMap.FirstOrDefault(x => x.Value == info).Key;
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
|
||||
|
||||
|
||||
string[] infos = info.Split('-');
|
||||
string infoPlate1 = info.Replace(infos[infos.Length - 1], " ");
|
||||
string infoGraph = info.Remove(info.IndexOf('-')-1);
|
||||
|
||||
if (info.Contains("캔들 그래프"))
|
||||
{
|
||||
string term = infos[1];
|
||||
|
||||
if (term.Equals(" 일봉 (5분) "))
|
||||
rtn[0] = "8035";
|
||||
else if (term.Equals(" 5일 "))
|
||||
rtn[0] = "8061";
|
||||
else if (term.Equals(" 1개월 "))
|
||||
rtn[0] = "8040";
|
||||
else if (term.Equals(" 3개월 "))
|
||||
rtn[0] = "8046";
|
||||
else if (term.Equals(" 6개월 "))
|
||||
rtn[0] = "8051";
|
||||
else if (term.Equals(" 1년 "))
|
||||
rtn[0] = "8056";
|
||||
|
||||
|
||||
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (info.Contains("2열판"))
|
||||
{
|
||||
if (info.Contains("비교분석 캔들형"))
|
||||
{
|
||||
rtn[0] = "5026";
|
||||
}
|
||||
else if (info.Contains("비교분석 라인형"))
|
||||
{
|
||||
rtn[0] = "5087";
|
||||
}
|
||||
else if (info.Contains("수익률 비교"))
|
||||
{
|
||||
rtn[0] = "5029";
|
||||
}
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (CutList_Plate1.ContainsValue(infoPlate1))
|
||||
{
|
||||
rtn[0] = CutList_Plate1.FirstOrDefault(x => x.Value == infoPlate1).Key;
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
else if (CutList_Graph.ContainsValue(infoGraph))
|
||||
{
|
||||
rtn[0] = CutList_Graph.FirstOrDefault(x => x.Value == infoGraph).Key;
|
||||
rtn[1] = path + rtn[0] + ".t2s";
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
|
||||
public Dictionary<string, string> CutList_Plate1 = new Dictionary<string, string>
|
||||
{
|
||||
{ "5001", "1열판 - 기본 - " },
|
||||
{ "5006", "1열판 - 시가 - " },
|
||||
{ "5012", "1열판 - 액면가 - " },
|
||||
{ "5012_NE", "1열판 - PBR - " }, //디자인 변경해야함
|
||||
{ "5011", "1열판 - 거래량 - " }
|
||||
};
|
||||
|
||||
|
||||
public Dictionary<string, string> CutList_Graph = new Dictionary<string, string>
|
||||
{
|
||||
{ "5086", "수익률 그래프" }
|
||||
};
|
||||
|
||||
public Dictionary<string, string> CutList_Candle = new Dictionary<string, string>
|
||||
{
|
||||
{"8035", "5분봉" },
|
||||
{"8040", "1개월" },
|
||||
{"8046", "3개월" },
|
||||
{"8051", "6개월" },
|
||||
{"8056", "12개월" },
|
||||
{"8061", "1주일" }
|
||||
};
|
||||
|
||||
//세계지도 관련 컷
|
||||
public Dictionary<string, string> CutList_WorldMap = new Dictionary<string, string>
|
||||
{
|
||||
{ "8067", "세계지도 1장" },
|
||||
{ "5068", "미국지도" },
|
||||
{ "5070", "유럽지도" },
|
||||
{ "5072", "아시아지도" }
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
353
MBN_STOCK_N/Data/DBDefine.cs
Normal file
353
MBN_STOCK_N/Data/DBDefine.cs
Normal file
@@ -0,0 +1,353 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp
|
||||
{
|
||||
public static class DBDefine
|
||||
{
|
||||
|
||||
[Flags]
|
||||
public enum 요구데이터분류
|
||||
{
|
||||
지수,
|
||||
종목,
|
||||
환율,
|
||||
업종과동향
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cut_5,10참조
|
||||
/// </summary>
|
||||
public enum 선그래프데이터분류
|
||||
{
|
||||
원달러,
|
||||
원엔,
|
||||
원위엔,
|
||||
원유로,
|
||||
코스피수익률,
|
||||
코스닥수익률,
|
||||
코스피200수익률,
|
||||
KRX100수익률,
|
||||
코스피업종지수수익률,
|
||||
코스닥업종지수수익률,
|
||||
코스피종목수익률,
|
||||
코스닥종목수익률,
|
||||
개인매매동향,
|
||||
외국인매매동향,
|
||||
기관매매동향,
|
||||
코스피매매동향,
|
||||
코스닥매매동향
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cut_7참조
|
||||
/// </summary>
|
||||
public enum 봉차트데이터분류
|
||||
{
|
||||
KOSPI,
|
||||
KOSDAQ,
|
||||
KOSPI200,
|
||||
KRX100,
|
||||
선물,
|
||||
코스피종목,
|
||||
코스닥종목,
|
||||
코스피업종지수,
|
||||
코스닥업종지수,
|
||||
해외지수,
|
||||
해외종목,
|
||||
거래정지,
|
||||
거래정지k
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cut_7 세부종목
|
||||
/// KRX100, 업종지수는 예상지수가 없음.
|
||||
/// </summary>
|
||||
public enum 봉차트세부종목
|
||||
{
|
||||
예상지수,
|
||||
일반지수,
|
||||
거래량
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cut_8, Cut_9 참조
|
||||
/// </summary>
|
||||
public enum 봉차트매매동향
|
||||
{
|
||||
주체별매매동향,
|
||||
코스피매매동향5단,
|
||||
코스닥매매동향5단
|
||||
}
|
||||
|
||||
|
||||
public enum 그리드표그래프종류
|
||||
{
|
||||
투자자순매수매도상위14번컷,
|
||||
프로그램매매13번컷,
|
||||
기관순매수현황11번컷,
|
||||
지수별매매동향9번컷,
|
||||
주체별매매동향8번컷
|
||||
}
|
||||
|
||||
|
||||
public enum 데이터기간
|
||||
{
|
||||
[StringValue("1")]
|
||||
일,
|
||||
[StringValue("5")]
|
||||
주,
|
||||
[StringValue("20")]
|
||||
월,
|
||||
[StringValue("60")]
|
||||
분기,
|
||||
[StringValue("120")]
|
||||
반기,
|
||||
[StringValue("240")]
|
||||
연
|
||||
}
|
||||
|
||||
public enum 환율
|
||||
{
|
||||
[StringValue("A09")]
|
||||
달러,
|
||||
|
||||
[StringValue("A10")]
|
||||
엔,
|
||||
|
||||
[StringValue("A90")]
|
||||
위엔,
|
||||
|
||||
[StringValue("A91")]
|
||||
유로
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 국내지수종류
|
||||
{
|
||||
KOSPI, KOSDAQ, NXT_KOSPI, NXT_KOSDAQ, KOSPI200, KRX100, 선물
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 국제지수종류
|
||||
{
|
||||
다우, 나스닥, SP, 독일, 영국, 프랑스, 니케이, 중국상해, 홍콩항셍, 대만가권,
|
||||
싱가포르지수, 태국지수, 필리핀지수, 말레이시아지수, 인도네시아지수, 일본,
|
||||
유가두바이지수, 유가WTI지수, 유가브랜드유지수, 금지수
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 국내시장종류
|
||||
{
|
||||
KOSPI, KOSDAQ, NXT_KOSPI, NXT_KOSDAQ, 거래정지, 거래정지K
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 종목데이터분류
|
||||
{
|
||||
거래량, PBR, 현재가, 시가, 액면가, 시가총액,
|
||||
등락비율, 주52고저, 시간외등락, 예상시가총액최고최저
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 원환율
|
||||
{
|
||||
원위엔, 원달러, 원엔, 원유로
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 달러환율
|
||||
{
|
||||
달러엔, 달러유로, 달러위안
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 업종데이터
|
||||
{
|
||||
KOSPI, KOSDAQ, 해외
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum 매매동향
|
||||
{
|
||||
개인, 외국인, 기관, 코스피, 코스닥, 해외종목
|
||||
}
|
||||
|
||||
public enum 섹터지수막대그래프분류
|
||||
{
|
||||
코스피, 코스닥, 다우, 나스닥, SNP
|
||||
}
|
||||
|
||||
public enum 판1그래프데이터지수류
|
||||
{
|
||||
예상지수,
|
||||
현재지수,
|
||||
}
|
||||
|
||||
public enum 판1그래프데이터산업및종목류
|
||||
{
|
||||
종목현재가,
|
||||
종목예상체결가,
|
||||
종목시간외단일가,
|
||||
지수업종
|
||||
}
|
||||
|
||||
|
||||
public enum 판1그래프데이터해외류
|
||||
{
|
||||
해외업종,
|
||||
해외종목
|
||||
}
|
||||
|
||||
public enum 판3데이터분류
|
||||
{
|
||||
주요지수_코스피_코스닥_코스피200,
|
||||
주요지수_코스피_코스닥_선물,
|
||||
예상체결지수_코스피_코스닥_코스피200,
|
||||
예상체결지수_코스피_코스닥_선물,
|
||||
미국지수,
|
||||
중화권지수,
|
||||
유럽지수,
|
||||
아시아지수_상해_대만_일본,
|
||||
달러환율_엔_위안_유로,
|
||||
원환율_달러_엔_유로,
|
||||
미국국채,
|
||||
채권금리,
|
||||
유가_두바이_WTI_브랜트,
|
||||
광물,
|
||||
식자재,
|
||||
소맥_옥수수_밀,
|
||||
대두_콩_현미,
|
||||
커피_코코아_설탕,
|
||||
생우_비육우_돈육,
|
||||
구리_철광석_니켈,
|
||||
천연가스_백금_팔라듐,
|
||||
납_아연_주석,
|
||||
원면_목화,
|
||||
국제금,
|
||||
국내금
|
||||
}
|
||||
|
||||
|
||||
public enum 해외지수종류
|
||||
{
|
||||
[StringValue("DJI@DJI")]
|
||||
다우,
|
||||
[StringValue("NAS@IXIC")]
|
||||
나스닥,
|
||||
[StringValue("SPI@SPX")]
|
||||
SNP,
|
||||
[StringValue("XTR@DAX30")]
|
||||
독일,
|
||||
[StringValue("LNS@FTSE100")]
|
||||
영국,
|
||||
[StringValue("PAS@CAC40")]
|
||||
프랑스,
|
||||
[StringValue("NII@NI225")]
|
||||
니케이,
|
||||
[StringValue("SHS@000001")]
|
||||
중국상해,
|
||||
[StringValue("HSI@HSI")]
|
||||
홍콩항셍,
|
||||
[StringValue("TWS@TI01")]
|
||||
대만가권,
|
||||
[StringValue("SGI@STI")]
|
||||
싱가포르지수,
|
||||
[StringValue("THI@SET")]
|
||||
태국지수,
|
||||
[StringValue("PHI@COMP")]
|
||||
필리핀,
|
||||
[StringValue("IDI@JKSE")]
|
||||
인도네시아,
|
||||
[StringValue("MYI@KLSE")]
|
||||
말레이시아
|
||||
}
|
||||
|
||||
public enum 상세판데이터분류
|
||||
{
|
||||
시가,
|
||||
액면가,
|
||||
PBR,
|
||||
거래량
|
||||
}
|
||||
|
||||
public enum 지도데이터분류
|
||||
{
|
||||
글로벌,
|
||||
아시아,
|
||||
미국,
|
||||
유럽
|
||||
}
|
||||
|
||||
public enum 데이터5단판지수별
|
||||
{
|
||||
시가총액,
|
||||
상승률,
|
||||
하락률,
|
||||
신고가52주,
|
||||
신저가52주,
|
||||
시간외상승률,
|
||||
시간외하락률,
|
||||
예상가시가총액상위,
|
||||
업종,
|
||||
코스피200,
|
||||
거래량,
|
||||
ETF
|
||||
}
|
||||
|
||||
public enum 데이터5단판기타
|
||||
{
|
||||
전문가추천,
|
||||
테마주,
|
||||
테마예상
|
||||
}
|
||||
|
||||
public static string GetStringValue(this Enum value)
|
||||
{
|
||||
// Get the type
|
||||
Type type = value.GetType();
|
||||
|
||||
// Get fieldinfo for this type
|
||||
FieldInfo fieldInfo = type.GetField(value.ToString());
|
||||
|
||||
// Get the stringvalue attributes
|
||||
StringValueAttribute[] attribs = fieldInfo.GetCustomAttributes(
|
||||
typeof(StringValueAttribute), false) as StringValueAttribute[];
|
||||
|
||||
// Return the first if there was a match.
|
||||
return attribs.Length > 0 ? attribs[0].StringValue : null;
|
||||
}
|
||||
|
||||
public class StringValueAttribute : Attribute
|
||||
{
|
||||
|
||||
#region Properties
|
||||
|
||||
/// <summary>
|
||||
/// Holds the stringvalue for a value in an enum.
|
||||
/// </summary>
|
||||
public string StringValue { get; protected set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructor
|
||||
|
||||
/// <summary>
|
||||
/// Constructor used to init a StringValue Attribute
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
public StringValueAttribute(string value)
|
||||
{
|
||||
this.StringValue = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
266
MBN_STOCK_N/Data/DBManager.cs
Normal file
266
MBN_STOCK_N/Data/DBManager.cs
Normal file
@@ -0,0 +1,266 @@
|
||||
using Oracle.ManagedDataAccess.Client;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using MySql.Data.MySqlClient;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
public class DBManager
|
||||
{
|
||||
|
||||
#region "싱글턴"
|
||||
private static volatile DBManager mInstance = null;
|
||||
|
||||
private static object mSingletonLocker = new object();
|
||||
|
||||
private static System.Threading.Timer timerForCheck;
|
||||
private DBManager()
|
||||
{
|
||||
timerForCheck = new System.Threading.Timer(callBackOfChecker);
|
||||
timerForCheck.Change(0, 10000);
|
||||
}
|
||||
|
||||
delegate void TimerEventDelegate();
|
||||
private void callBackOfChecker(object state)
|
||||
{
|
||||
DBAliveChecker();
|
||||
//invoke(new TimerEventDelegate(DBAliveChecker));
|
||||
}
|
||||
|
||||
private void DBAliveChecker()
|
||||
{
|
||||
if (strConn == "")
|
||||
{
|
||||
Console.WriteLine("DBManager DB 미연결");
|
||||
}
|
||||
|
||||
bool alived = false;
|
||||
OracleConnection conn = new OracleConnection(strConn);
|
||||
try
|
||||
{
|
||||
if (conn.State == ConnectionState.Closed)
|
||||
{
|
||||
conn.Open();
|
||||
}
|
||||
|
||||
if (conn.State == ConnectionState.Open)
|
||||
{
|
||||
alived = true;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
if (alived)
|
||||
{
|
||||
Console.WriteLine("DBManager DB 생존");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("DBManager DB 사망");
|
||||
}
|
||||
|
||||
MySqlConnection nxt_conn = new MySqlConnection(strConn);
|
||||
try
|
||||
{
|
||||
if (conn.State == ConnectionState.Closed)
|
||||
{
|
||||
conn.Open();
|
||||
}
|
||||
|
||||
if (conn.State == ConnectionState.Open)
|
||||
{
|
||||
alived = true;
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
if (alived)
|
||||
{
|
||||
Console.WriteLine("DBManager DB 생존");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("DBManager DB 사망");
|
||||
}
|
||||
}
|
||||
|
||||
public static DBManager getInstance()
|
||||
{
|
||||
lock (mSingletonLocker)
|
||||
{
|
||||
if (mInstance == null)
|
||||
{
|
||||
mInstance = new DBManager();
|
||||
}
|
||||
}
|
||||
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
string DBHOST = "";
|
||||
string DBPORT = "";
|
||||
string ID = "";
|
||||
string PASS = "";
|
||||
string CONNECT_DATA = "";
|
||||
|
||||
string nxt_DBHOST = "";
|
||||
string nxt_DBPORT = "";
|
||||
string nxt_ID = "";
|
||||
string nxt_PASS = "";
|
||||
string nxt_CONNECT_DATA = "";
|
||||
|
||||
public void setDB_HOST(string value, string nxt_value)
|
||||
{
|
||||
DBHOST = value;
|
||||
nxt_DBHOST = nxt_value;
|
||||
|
||||
setStrConn();
|
||||
}
|
||||
|
||||
public void setDB_PORT(string value, string nxt_value)
|
||||
{
|
||||
DBPORT = value;
|
||||
nxt_DBPORT = nxt_value;
|
||||
|
||||
setStrConn();
|
||||
}
|
||||
public void setDB_ID(string value, string nxt_value)
|
||||
{
|
||||
ID = value;
|
||||
nxt_ID = nxt_value;
|
||||
|
||||
setStrConn();
|
||||
}
|
||||
public string getDB_ID() { return ID; }
|
||||
public void setDB_PASS(string value, string nxt_value)
|
||||
{
|
||||
PASS = value;
|
||||
nxt_PASS = nxt_value;
|
||||
setStrConn();
|
||||
}
|
||||
public string getDB_PASS() { return PASS; }
|
||||
public void setDB_CONNECT_DATA(string value, string nxt_value)
|
||||
{
|
||||
CONNECT_DATA = value;
|
||||
nxt_CONNECT_DATA = nxt_value;
|
||||
setStrConn();
|
||||
}
|
||||
public string getDB_CONNECT_DATA() { return CONNECT_DATA; }
|
||||
|
||||
|
||||
private void setStrConn()
|
||||
{
|
||||
//strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + DBHOST + ")" +
|
||||
// "(PORT=" + DBPORT + ")))(CONNECT_DATA=" + CONNECT_DATA + "));User Id=" + ID + ";Password=" + PASS + ";";
|
||||
|
||||
strConn = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + DBHOST + ")(PORT=" + DBPORT + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SID=" + CONNECT_DATA + ")));User Id=" + ID + ";Password=" + PASS + ";";
|
||||
// nxt_strConn = "SERVER=" + nxt_DBHOST + " PORT=" + nxt_DBPORT + " DATABASE= "+nxt_CONNECT_DATA+" User Id=" + nxt_ID + " Password=" + nxt_PASS ;
|
||||
nxt_strConn = "SERVER=" + nxt_DBHOST + "; DATABASE=" + nxt_CONNECT_DATA + "; UId=" + nxt_ID + "; Pwd=" + nxt_PASS;
|
||||
|
||||
}
|
||||
|
||||
string strConn = "";
|
||||
string nxt_strConn = "";
|
||||
|
||||
//private IDBDataHandle mCallback = null;
|
||||
|
||||
|
||||
public DataTable requestData(string tableName, string recvQuery)
|
||||
{
|
||||
|
||||
DataTable dt = new DataTable();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
OracleConnection conn = new OracleConnection(strConn);
|
||||
|
||||
conn.Open();
|
||||
|
||||
OracleDataAdapter adapter = new OracleDataAdapter();
|
||||
|
||||
adapter.SelectCommand = new OracleCommand(recvQuery, conn);
|
||||
|
||||
adapter.Fill(dt);
|
||||
|
||||
conn.Close();
|
||||
|
||||
dt.TableName = tableName;
|
||||
|
||||
return dt;
|
||||
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
MessageBox.Show("데이터베이스가 연결되지 않았습니다." + Environment.NewLine + "연결정보를 확인하세요.");
|
||||
Application.Exit();
|
||||
throw;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public DataTable Nxt_requestData(string tableName, string recvQuery)
|
||||
{
|
||||
DataTable nxt_dt = new DataTable();
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
MySqlConnection nxt_conn = new MySqlConnection(nxt_strConn);
|
||||
|
||||
nxt_conn.Open();
|
||||
|
||||
MySqlDataAdapter nxt_adapter = new MySqlDataAdapter();
|
||||
|
||||
nxt_adapter.SelectCommand = new MySqlCommand(recvQuery, nxt_conn);
|
||||
|
||||
nxt_adapter.Fill(nxt_dt);
|
||||
|
||||
nxt_conn.Close();
|
||||
|
||||
nxt_dt.TableName = tableName;
|
||||
|
||||
return nxt_dt;
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.ToString());
|
||||
MessageBox.Show("NXT 데이터베이스가 연결되지 않았습니다." + Environment.NewLine + "연결정보를 확인하세요.");
|
||||
Application.Exit();
|
||||
throw;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
131
MBN_STOCK_N/Data/DataDefineBuilder.cs
Normal file
131
MBN_STOCK_N/Data/DataDefineBuilder.cs
Normal file
@@ -0,0 +1,131 @@
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.Data
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 데이터의 입/출력에 관한 정의를 위해 만든 추상화 빌더객체.
|
||||
/// 필요한 데이터를 순서대로 빌드 할 수 있도록 리턴값으로 유도하고,
|
||||
/// 모든 데이터가 있다면 최종적인 객체를 Struct형태로 리턴이 가능하도록 유도한다.
|
||||
///
|
||||
/// 내부의 데이터에 관련된 내용은 enum으로 정의하고 Int로 최종적으로 리턴받아 멤버변수로 보유한다.
|
||||
///
|
||||
/// 20210207 규합할수 없는 부분(지수와 종목의 쿼리합)에 대한 정의가 불가능하여 버린다.
|
||||
/// 데이터를 기반으로 씬에 접근하려는 계획은 포기해야겠다. 이미 쿼리 자체가 그래픽에 파편화되어있어서 데이터를 기반으로 추상화 하기 불가능하다.
|
||||
/// </summary>
|
||||
public class DataDefineBuilder
|
||||
{
|
||||
|
||||
// protected int mBuildedIntValue = 0;
|
||||
|
||||
// public static DataDefineBuilder setDefine(요구데이터분류 requestDataType)
|
||||
// {
|
||||
|
||||
// switch (requestDataType)
|
||||
// {
|
||||
// case 요구데이터분류.환율 :
|
||||
// return new 환율분류();
|
||||
|
||||
// case 요구데이터분류.종목:
|
||||
// return new 종목();
|
||||
|
||||
// case 요구데이터분류.지수:
|
||||
// return new 지수();
|
||||
|
||||
// default:
|
||||
// return null;
|
||||
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
//#region "환율"
|
||||
|
||||
// public class 환율분류 : DataDefineBuilder, IBuilderDefined
|
||||
// {
|
||||
|
||||
// private Exchange mRequestInstance = null;
|
||||
|
||||
// private 원환율? mExchangeValueWON;
|
||||
|
||||
// private 달러환율? mExchangeValueDOLLOR;
|
||||
|
||||
// private bool mIsLastDataRequest = false;
|
||||
|
||||
// public void build()
|
||||
// {
|
||||
|
||||
// if (mExchangeValueWON.HasValue)
|
||||
// {
|
||||
// //this.mBuildedIntValue = (int)mRecvEnum;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// throw new Exception("환율분류 잘못된 빌드시도");
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// public static DataDefineBuilder setDefine(원환율 requestDataType)
|
||||
// {
|
||||
// switch(requestDataType)
|
||||
// {
|
||||
// case 원환율.원달러:
|
||||
// return new Exchange();
|
||||
// case 환율기준통화.달러:
|
||||
// return new 달러기준환율();
|
||||
// default:
|
||||
// return null;
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// public static DataDefineBuilder setDefine(달러환율 requestDataType)
|
||||
// {
|
||||
|
||||
|
||||
// }
|
||||
|
||||
// public DataDefineBuilder IsNeedLastDataList(bool recvNeedLastData)
|
||||
// {
|
||||
// this.mIsLastDataRequest = recvNeedLastData;
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
|
||||
//#endregion
|
||||
|
||||
// public class 지수빌더 : DataDefineBuilder
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public class 종목빌더 : DataDefineBuilder
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
// public class 업종과동향빌더 : DataDefineBuilder
|
||||
// {
|
||||
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
|
||||
// public interface IBuilderDefined
|
||||
// {
|
||||
// void build();
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
666
MBN_STOCK_N/Data/DataManager.cs
Normal file
666
MBN_STOCK_N/Data/DataManager.cs
Normal file
@@ -0,0 +1,666 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using MMoneyCoderSharp.Data.Request.봉차트;
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Diagnostics.Eventing.Reader;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
//using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.Data
|
||||
{
|
||||
/// <summary>
|
||||
/// 씬단위로 요청사항을 매핑해서 DB에서 받은 데이터를 리턴해줄 매니저 객체.
|
||||
/// </summary>
|
||||
public class DataManager
|
||||
{
|
||||
|
||||
|
||||
#region "싱글턴"
|
||||
private static volatile DataManager mInstance = null;
|
||||
|
||||
private static object mSingletonLocker = new object();
|
||||
|
||||
private DataManager()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public static DataManager getInstance()
|
||||
{
|
||||
lock (mSingletonLocker)
|
||||
{
|
||||
if (mInstance == null)
|
||||
{
|
||||
mInstance = new DataManager();
|
||||
}
|
||||
}
|
||||
|
||||
return mInstance;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 스탁포멧정리기준.hwp로 컷 대 기준을 작성함.
|
||||
/// 1. 1열판 기본 -> 판그래프데이터참조
|
||||
/// 2. 2열판 상세 -> 판그래프데이터참조
|
||||
/// 3. 2열판 기본 -> 판그래프데이터참조
|
||||
/// 4. 3열판 그래프 -> 판3데이터분류
|
||||
/// 5. 라인그래프 -> 선그래프데이터분류
|
||||
/// 6. 캔들차트 -> 봉차트데이터분류
|
||||
/// 7. 캔들차트 -> 봉차트데이터분류
|
||||
/// 8. 주체별매매동향 -> 그리드표
|
||||
/// 9. 지수별매매동향 -> 그리드표
|
||||
/// 10. 매매동향선그래프 -> 선그래프데이터분류
|
||||
/// 11. 기관순매수현황 -> 그리드표
|
||||
/// 12. 매매동향막대그래프 -> 막대그래프데이터분류
|
||||
/// 13. 프로그램매매 표그래프 -> 그리드표
|
||||
/// 14. 외국인투자자 순매도 상위 -> 쿼리가 없음
|
||||
/// 15~18 -> 지도그래프
|
||||
/// 19. 이미지 그래프 -> 아직안함
|
||||
/// 20. 네모그래프 -> 네모그래프
|
||||
/// 21. 섹터지수 막대그래프 -> 막대그래프데이터분류
|
||||
/// 22. 캔들차트 두개 -> 이거 고민되네..
|
||||
/// 23. 선그래프 두개 -> 이거도 고민되네..
|
||||
/// 24. 종목별 수익률 -> 선그래프데이터분류(아직안함)
|
||||
/// 25. 5단그래프 ->
|
||||
/// 26. 호가창
|
||||
/// 27. 거래원
|
||||
/// 28. 수급동향
|
||||
/// 29. 매출구성 원그래프
|
||||
/// 30. 성장지표 선그래프
|
||||
/// 31. 종목매출액 막대그래프 -> 쿼리가 없음
|
||||
/// 32. 영업이익 막대그래프 -> 쿼리가 없음
|
||||
/// </summary>
|
||||
|
||||
|
||||
private DataSet mStockInfoDataSet = null;
|
||||
|
||||
public DataSet getStocksInfoTable()
|
||||
{
|
||||
|
||||
if (mStockInfoDataSet == null)
|
||||
{
|
||||
updateStocksInfoSet();
|
||||
}
|
||||
|
||||
return mStockInfoDataSet;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void updateStocksInfoSet()
|
||||
{
|
||||
|
||||
string sql = string.Empty;
|
||||
|
||||
mStockInfoDataSet = new DataSet();
|
||||
|
||||
DataTable bufTableKospi = DBManager.getInstance().requestData("코스피", "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_STOCK WHERE F_MKT_HALT = 'N'");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKospi);
|
||||
|
||||
DataTable bufTableKosdaq = DBManager.getInstance().requestData("코스닥", "SELECT F_STOCK_WANNAME, F_STOCK_CODE FROM T_KOSDAQ_STOCK WHERE F_MKT_HALT = 'N'");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKosdaq);
|
||||
|
||||
DataTable bufTableNXTKospi = DBManager.getInstance().Nxt_requestData("NXT코스피", "SELECT CONCAT(F_STOCK_NAME, '(NXT)') F_STOCK_NAME, F_STOCK_CODE FROM N_STOCK WHERE F_STOP_GUBUN = 'N'");
|
||||
mStockInfoDataSet.Tables.Add(bufTableNXTKospi);
|
||||
|
||||
DataTable bufTableNXTKosdaq = DBManager.getInstance().Nxt_requestData("NXT코스닥", "SELECT CONCAT(F_STOCK_NAME, '(NXT)') F_STOCK_NAME, F_STOCK_CODE FROM N_KOSDAQ_STOCK WHERE F_STOP_GUBUN = 'N'");
|
||||
mStockInfoDataSet.Tables.Add(bufTableNXTKosdaq);
|
||||
|
||||
DataTable bufTableForgien = DBManager.getInstance().requestData("해외", "SELECT F_KNAM, F_SYMB FROM T_WORLD_IX_EQ_MASTER");
|
||||
mStockInfoDataSet.Tables.Add(bufTableForgien);
|
||||
|
||||
DataTable bufTableKOSPI_INDUSTRY = DBManager.getInstance().requestData("코스피업종", "select a.f_part_code, b.f_part_name from t_index a, t_part b where a.f_part_code = b.f_part_code order by a.f_part_code");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKOSPI_INDUSTRY);
|
||||
|
||||
DataTable bufTableKOSDAQ_INDUSTRY = DBManager.getInstance().requestData("코스닥업종", "select a.f_part_code, b.f_part_name from t_kosdaq_index a, t_kosdaq_part b where a.f_part_code = b.f_part_code order by a.f_part_code");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKOSDAQ_INDUSTRY);
|
||||
|
||||
DataTable bufTableKFORGIEN_INDUSTRY = DBManager.getInstance().requestData("해외업종", "select F_INPUT_NAME, f_knam, f_symb from t_world_ix_eq_master WHERE f_fdtc = '0' and f_natc = 'US' ORDER BY F_KNAM");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKFORGIEN_INDUSTRY);
|
||||
|
||||
DataTable bufTableKFORGIEN_INDEX = DBManager.getInstance().requestData("해외지수", "select F_SYMB, F_KNAM, F_ENAM, F_INPUT_NAME from t_world_ix_eq_master WHERE F_FDTC = '0'");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKFORGIEN_INDEX);
|
||||
|
||||
DataTable bufTableKFORGIEN_STOCK = DBManager.getInstance().requestData("해외종목", "select F_INPUT_NAME, f_symb from t_world_ix_eq_master WHERE f_fdtc = '1' and (f_natc = 'US' or f_natc = 'TW') ORDER BY F_INPUT_NAME");
|
||||
mStockInfoDataSet.Tables.Add(bufTableKFORGIEN_STOCK);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 선그래프 데이터 요청 메서드
|
||||
/// 마지막 매개변수는 종목일때는 한글종목명, 지수일때는 분류코드.
|
||||
///
|
||||
/// 여기가 기존 코드 중 cut_5,10으로 검색해서 나오는 데이터 모두.
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="recvDataType">선그래프씬 데이터 분류</param>
|
||||
/// <param name="recvDataLength">선그래프씬 데이터 길이</param>
|
||||
/// <param name="recvArgData">종목은 해당 종목의 한글명으로, 지수는 코드값으로....</param>
|
||||
/// <returns></returns>
|
||||
public DataSet createLineGraphData(선그래프데이터분류 recvDataType, 데이터기간 recvDataLength, string recvArgData = null)
|
||||
{
|
||||
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataType)
|
||||
{
|
||||
case 선그래프데이터분류.원달러:
|
||||
bufInstance = new Exchange(환율.달러, recvDataLength);
|
||||
break;
|
||||
case 선그래프데이터분류.원엔:
|
||||
bufInstance = new Exchange(환율.엔, recvDataLength);
|
||||
break;
|
||||
case 선그래프데이터분류.원위엔:
|
||||
bufInstance = new Exchange(환율.위엔, recvDataLength);
|
||||
break;
|
||||
case 선그래프데이터분류.원유로:
|
||||
bufInstance = new Exchange(환율.유로, recvDataLength);
|
||||
break;
|
||||
case 선그래프데이터분류.코스피수익률:
|
||||
bufInstance = new IndexYield(recvDataLength, 국내지수종류.KOSPI);
|
||||
break;
|
||||
case 선그래프데이터분류.코스닥수익률:
|
||||
bufInstance = new IndexYield(recvDataLength, 국내지수종류.KOSDAQ);
|
||||
break;
|
||||
case 선그래프데이터분류.코스피200수익률:
|
||||
bufInstance = new IndexYield(recvDataLength, 국내지수종류.KOSPI200);
|
||||
break;
|
||||
case 선그래프데이터분류.KRX100수익률:
|
||||
bufInstance = new IndexYield(recvDataLength, 국내지수종류.KRX100);
|
||||
break;
|
||||
case 선그래프데이터분류.코스피업종지수수익률:
|
||||
bufInstance = new IndexIndustryYield(recvArgData, recvDataLength, 국내시장종류.KOSPI);
|
||||
break;
|
||||
case 선그래프데이터분류.코스닥업종지수수익률:
|
||||
bufInstance = new IndexIndustryYield(recvArgData, recvDataLength, 국내시장종류.KOSDAQ);
|
||||
break;
|
||||
case 선그래프데이터분류.코스피종목수익률:
|
||||
bufInstance = new StockYield(recvArgData, recvDataLength, 국내시장종류.KOSPI);
|
||||
break;
|
||||
case 선그래프데이터분류.코스닥종목수익률:
|
||||
bufInstance = new StockYield(recvArgData, recvDataLength, 국내시장종류.KOSDAQ);
|
||||
break;
|
||||
case 선그래프데이터분류.개인매매동향:
|
||||
case 선그래프데이터분류.기관매매동향:
|
||||
case 선그래프데이터분류.외국인매매동향:
|
||||
case 선그래프데이터분류.코스피매매동향:
|
||||
case 선그래프데이터분류.코스닥매매동향:
|
||||
bufInstance = new Trading(recvDataType);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 봉차트를 위한데이터
|
||||
/// 종목과 업종지수 모두 추가 데이터로는 Code를 받는다.
|
||||
///
|
||||
/// 기존 코드에서 6,7컷부분
|
||||
/// </summary>
|
||||
/// <param name="recvDataTypeMain"></param>
|
||||
/// <param name="recvDataTypeSub"></param>
|
||||
/// <param name="recvDataLength"></param>
|
||||
/// <param name="recvArgData">종목은 코드값 지수는 한글명..</param>
|
||||
/// <returns></returns>
|
||||
public DataSet createCandleChartData(봉차트데이터분류 recvDataTypeMain, 봉차트세부종목 recvDataTypeSub, 데이터기간 recvDataLength, string recvArgData = null)
|
||||
{
|
||||
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataTypeMain)
|
||||
{
|
||||
case 봉차트데이터분류.KOSPI:
|
||||
bufInstance = new CandleKOSPI(recvDataTypeSub, recvDataLength);
|
||||
break;
|
||||
case 봉차트데이터분류.KOSDAQ:
|
||||
bufInstance = new CandleKOSDAQ(recvDataTypeSub, recvDataLength);
|
||||
break;
|
||||
case 봉차트데이터분류.KOSPI200:
|
||||
bufInstance = new CandleKOSPI200(recvDataTypeSub, recvDataLength);
|
||||
break;
|
||||
case 봉차트데이터분류.KRX100:
|
||||
bufInstance = new CandleKRX100(recvDataTypeSub, recvDataLength);
|
||||
break;
|
||||
case 봉차트데이터분류.선물:
|
||||
bufInstance = new CandleFutures(recvDataTypeSub, recvDataLength);
|
||||
break;
|
||||
case 봉차트데이터분류.코스피종목:
|
||||
bufInstance = new CandleStockKOSPI(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
break;
|
||||
case 봉차트데이터분류.코스닥종목:
|
||||
bufInstance = new CandleStockKOSDAQ(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
break;
|
||||
case 봉차트데이터분류.코스피업종지수:
|
||||
bufInstance = new CandleIndustryKOSPI(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
break;
|
||||
case 봉차트데이터분류.코스닥업종지수:
|
||||
bufInstance = new CandleIndustryKOSDAQ(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
break;
|
||||
|
||||
case 봉차트데이터분류.해외지수:
|
||||
bufInstance = new Candleforeign(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
break;
|
||||
|
||||
case 봉차트데이터분류.해외종목:
|
||||
bufInstance = new CandleforeignStock(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
break;
|
||||
|
||||
case 봉차트데이터분류.거래정지:
|
||||
bufInstance = new CandleStockDIS(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
|
||||
break;
|
||||
|
||||
case 봉차트데이터분류.거래정지k:
|
||||
bufInstance = new CandleStockDISK(recvDataTypeSub, recvDataLength, recvArgData);
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 그리드표 그래프 데이터
|
||||
/// 컷14번은 쿼리가 없음
|
||||
/// </summary>
|
||||
/// <param name=""></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createGridChartData(그리드표그래프종류 recvDataType, 국내시장종류? recvMarketType = null)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataType)
|
||||
{
|
||||
case 그리드표그래프종류.투자자순매수매도상위14번컷:
|
||||
throw new Exception("쿼리가 없음");
|
||||
//break;
|
||||
case 그리드표그래프종류.프로그램매매13번컷:
|
||||
bufInstance = new Grid13();
|
||||
break;
|
||||
case 그리드표그래프종류.기관순매수현황11번컷:
|
||||
bufInstance = new Grid11();
|
||||
break;
|
||||
case 그리드표그래프종류.지수별매매동향9번컷:
|
||||
bufInstance = new Grid9(recvMarketType.Value);
|
||||
break;
|
||||
case 그리드표그래프종류.주체별매매동향8번컷:
|
||||
bufInstance = new Grid8();
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 20번컷 사각그래프용 데이터.
|
||||
/// 국내시장 업종별 네모그래프
|
||||
/// 15개종목이 이미 정해져있음.(선택불가)
|
||||
/// </summary>
|
||||
/// <param name="recvDataType">시장종류</param>
|
||||
/// <returns></returns>
|
||||
public DataSet createSquareChartData_Cut20(국내시장종류 recvDataType)
|
||||
{
|
||||
|
||||
IDataRequest bufInstance = new Square20(recvDataType);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 12번컷 데이터.
|
||||
/// HWP 표와는 다르게 선물은 없음.
|
||||
/// </summary>
|
||||
/// <param name=""></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createCut12StickData(국내시장종류 recvDataType)
|
||||
{
|
||||
IDataRequest bufInstance = new Stick12(recvDataType);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 21번컷 데이터.
|
||||
/// 12번과 헷갈리지 말 것
|
||||
/// </summary>
|
||||
/// <param name=""></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createCut21StickData(섹터지수막대그래프분류 recvDataType)
|
||||
{
|
||||
IDataRequest bufInstance = new Stick21(recvDataType);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public DataSet createWorldMapData(지도데이터분류 recvDataType)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataType)
|
||||
{
|
||||
case 지도데이터분류.글로벌:
|
||||
bufInstance = new MapWorld();
|
||||
break;
|
||||
case 지도데이터분류.아시아:
|
||||
bufInstance = new MapAsia();
|
||||
break;
|
||||
case 지도데이터분류.미국:
|
||||
bufInstance = new MapUSA();
|
||||
break;
|
||||
case 지도데이터분류.유럽:
|
||||
bufInstance = new MapEurope();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
#region "판데이터"
|
||||
|
||||
/// <summary>
|
||||
/// 1열판 국내지수류 데이터
|
||||
/// </summary>
|
||||
/// <param name="recvDataList"></param>
|
||||
/// <param name="recvDataType"></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createPlateData(판1그래프데이터지수류 recvDataList, 국내지수종류 recvDataType)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataList)
|
||||
{
|
||||
case 판1그래프데이터지수류.현재지수:
|
||||
bufInstance = new INDEX_PAN(recvDataType);
|
||||
break;
|
||||
case 판1그래프데이터지수류.예상지수:
|
||||
bufInstance = new INDEX_FORECAST_PAN(recvDataType);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 1열판 산업종목류 데이터
|
||||
/// </summary>
|
||||
/// <param name="recvDataList"></param>
|
||||
/// <param name="recvDataType"></param>
|
||||
/// <param name="recvDataCode"></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createPlateData(판1그래프데이터산업및종목류 recvDataList, 국내시장종류 recvDataType, string recvDataCode)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
Nxt_IDataRequest Nxt_bufInstance = null;
|
||||
|
||||
switch (recvDataList)
|
||||
{
|
||||
case 판1그래프데이터산업및종목류.종목현재가:
|
||||
if ((recvDataType == 국내시장종류.NXT_KOSPI) || (recvDataType == 국내시장종류.NXT_KOSDAQ))
|
||||
Nxt_bufInstance = new Nxt_STOCK_PAN(recvDataType, recvDataCode);
|
||||
else
|
||||
bufInstance = new STOCK_PAN(recvDataType, recvDataCode);
|
||||
break;
|
||||
case 판1그래프데이터산업및종목류.종목예상체결가:
|
||||
bufInstance = new STOCK_FORECAST_PAN(recvDataType, recvDataCode);
|
||||
break;
|
||||
case 판1그래프데이터산업및종목류.종목시간외단일가:
|
||||
bufInstance = new STOCK_OVERTIME_PAN(recvDataType, recvDataCode);
|
||||
break;
|
||||
case 판1그래프데이터산업및종목류.지수업종:
|
||||
bufInstance = new INDUSTRY_PAN(recvDataType, recvDataCode);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((recvDataType == 국내시장종류.NXT_KOSPI) || (recvDataType == 국내시장종류.NXT_KOSDAQ))
|
||||
{
|
||||
Nxt_bufInstance.Nxt_buildData();
|
||||
return Nxt_bufInstance.Nxt_getResult();
|
||||
}
|
||||
else
|
||||
{
|
||||
bufInstance.buildData();
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 1열판 해외산업종목 데이터
|
||||
/// </summary>
|
||||
/// <param name="recvDataList"></param>
|
||||
/// <param name="recvDataCode"></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createPlateData(판1그래프데이터해외류 recvDataList, string recvDataCode)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataList)
|
||||
{
|
||||
case 판1그래프데이터해외류.해외업종:
|
||||
bufInstance = new INDUSTRY_FORGIEN_PAN(recvDataCode);
|
||||
break;
|
||||
case 판1그래프데이터해외류.해외종목:
|
||||
bufInstance = new STOCK_FORGIEN_PAN(recvDataCode);
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 1열판해외지수류 데이터
|
||||
/// </summary>
|
||||
/// <param name="recvDataList"></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createPlateData(해외지수종류 recvDataList, string recvDataCode)
|
||||
{
|
||||
IDataRequest bufInstance = new INDEX_FORGIEN_PAN(recvDataList, recvDataCode);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 1열판원환율
|
||||
/// </summary>
|
||||
/// <param name="recvDataList"></param>
|
||||
/// <returns></returns>
|
||||
public DataSet createPlateData(원환율 recvDataList)
|
||||
{
|
||||
IDataRequest bufInstance = new EXCHANGE_PAN(recvDataList);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
public DataSet createPlate3Data_Cut4(판3데이터분류 recvDataList)
|
||||
{
|
||||
IDataRequest bufInstance = new DataObject_3PAN(recvDataList);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
public DataSet createPlateData(국내시장종류 recvDataType1, 상세판데이터분류 recvDataType2, string recvStockCode)
|
||||
{
|
||||
IDataRequest bufInstance = new SANGSE_PAN(recvDataType1, recvDataType2, recvStockCode);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
public DataSet createPlateNxtData(국내시장종류 recvDataType1, 상세판데이터분류 recvDataType2, string recvStockCode)
|
||||
{
|
||||
Nxt_IDataRequest bufInstance = new Nxt_SANGSE_PAN(recvDataType1, recvDataType2, recvStockCode);
|
||||
|
||||
bufInstance.Nxt_buildData();
|
||||
|
||||
return bufInstance.Nxt_getResult();
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
public DataSet createCut26Data(국내시장종류 recvDataType1, string recvStockCode)
|
||||
{
|
||||
IDataRequest bufInstance = new Quote_Stocks(recvDataType1, recvStockCode);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
public DataSet createCut27Data(국내시장종류 recvDataType1, string recvStockCode)
|
||||
{
|
||||
IDataRequest bufInstance = new Trader_Stocks(recvDataType1, recvStockCode);
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
public DataSet create5DanDataIndex(국내시장종류 recvDataType1, 데이터5단판지수별 recvDataType2)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataType2)
|
||||
{
|
||||
|
||||
case 데이터5단판지수별.하락률:
|
||||
bufInstance = new lower_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.신고가52주:
|
||||
bufInstance = new high52_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.신저가52주:
|
||||
bufInstance = new low52_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.시간외상승률:
|
||||
bufInstance = new high_overtime_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.시간외하락률:
|
||||
bufInstance = new low_overtime_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.예상가시가총액상위:
|
||||
bufInstance = new capital_forecast_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.업종:
|
||||
bufInstance = new upjong_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.시가총액:
|
||||
bufInstance = new capital_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.상승률:
|
||||
bufInstance = new upper_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.코스피200:
|
||||
bufInstance = new kospi200(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.ETF:
|
||||
bufInstance = new ETF(recvDataType1);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
public DataSet Nxt_create5DanDataIndex(국내시장종류 recvDataType1, 데이터5단판지수별 recvDataType2)
|
||||
{
|
||||
Nxt_IDataRequest Nxt_bufInstance = null;
|
||||
|
||||
switch (recvDataType2)
|
||||
{
|
||||
case 데이터5단판지수별.상승률:
|
||||
Nxt_bufInstance = new Nxt_upper_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.하락률:
|
||||
Nxt_bufInstance = new Nxt_lower_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.거래량:
|
||||
Nxt_bufInstance = new Nxt_vol_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.시간외상승률:
|
||||
Nxt_bufInstance = new Nxt_high_overtime_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.시간외하락률:
|
||||
Nxt_bufInstance = new Nxt_low_overtime_5dan(recvDataType1);
|
||||
break;
|
||||
case 데이터5단판지수별.시가총액:
|
||||
Nxt_bufInstance = new Nxt_capital_5dan(recvDataType1);
|
||||
break;
|
||||
}
|
||||
|
||||
Nxt_bufInstance.Nxt_buildData();
|
||||
|
||||
return Nxt_bufInstance.Nxt_getResult();
|
||||
}
|
||||
|
||||
public DataSet create5DanDataTheme(데이터5단판기타 recvDataType2, List<string> 테마주코드리스트)
|
||||
{
|
||||
IDataRequest bufInstance = null;
|
||||
|
||||
switch (recvDataType2)
|
||||
{
|
||||
case 데이터5단판기타.전문가추천:
|
||||
bufInstance = new suggest_5dan(테마주코드리스트);
|
||||
break;
|
||||
case 데이터5단판기타.테마주:
|
||||
bufInstance = new theme_5dan(테마주코드리스트);
|
||||
break;
|
||||
case 데이터5단판기타.테마예상:
|
||||
bufInstance = new theme_yesang_5dan(테마주코드리스트);
|
||||
break;
|
||||
}
|
||||
|
||||
bufInstance.buildData();
|
||||
|
||||
return bufInstance.getResult();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
20
MBN_STOCK_N/Data/IDBDataHandle.cs
Normal file
20
MBN_STOCK_N/Data/IDBDataHandle.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp
|
||||
{
|
||||
/// <summary>
|
||||
/// 콜백 인터페이스
|
||||
/// </summary>
|
||||
public interface IDBDataHandle
|
||||
{
|
||||
|
||||
void onDataReceived();
|
||||
|
||||
void onDBError();
|
||||
|
||||
}
|
||||
}
|
||||
50
MBN_STOCK_N/Data/Request/ADataObject.cs
Normal file
50
MBN_STOCK_N/Data/Request/ADataObject.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
/// <summary>
|
||||
/// Data Access Object
|
||||
/// </summary>
|
||||
public abstract class ADataObject : IDataRequest
|
||||
{
|
||||
|
||||
public ADataObject()
|
||||
{
|
||||
mRequestQuery = new Dictionary<string, string>();
|
||||
mReturnDataSet = new DataSet();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 완성되어 DB로 전송될 쿼리
|
||||
/// </summary>
|
||||
protected Dictionary<string, string> mRequestQuery = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// 완성되어 결과를 리턴할 데이터 셋
|
||||
/// </summary>
|
||||
protected DataSet mReturnDataSet = null;
|
||||
|
||||
public string getQuery(string tableName)
|
||||
{
|
||||
return mRequestQuery[tableName];
|
||||
}
|
||||
|
||||
public abstract IDataRequest buildData();
|
||||
|
||||
public DataSet getResult()
|
||||
{
|
||||
foreach (KeyValuePair<string, string> item in mRequestQuery)
|
||||
{
|
||||
mReturnDataSet.Tables.Add(DBManager.getInstance().requestData(item.Key, item.Value));
|
||||
}
|
||||
|
||||
return mReturnDataSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
20
MBN_STOCK_N/Data/Request/IDataRequest.cs
Normal file
20
MBN_STOCK_N/Data/Request/IDataRequest.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
public interface IDataRequest
|
||||
{
|
||||
|
||||
string getQuery(string recvTableName);
|
||||
|
||||
DataSet getResult();
|
||||
|
||||
IDataRequest buildData();
|
||||
|
||||
}
|
||||
}
|
||||
51
MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs
Normal file
51
MBN_STOCK_N/Data/Request/Nxt_ADataObject.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
/// <summary>
|
||||
/// Data Access Object
|
||||
/// </summary>
|
||||
public abstract class Nxt_ADataObject : Nxt_IDataRequest
|
||||
{
|
||||
|
||||
public Nxt_ADataObject()
|
||||
{
|
||||
Nxt_mRequestQuery = new Dictionary<string, string>();
|
||||
Nxt_mReturnDataSet = new DataSet();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 완성되어 DB로 전송될 쿼리
|
||||
/// </summary>
|
||||
protected Dictionary<string, string> Nxt_mRequestQuery = new Dictionary<string, string>();
|
||||
|
||||
/// <summary>
|
||||
/// 완성되어 결과를 리턴할 데이터 셋
|
||||
/// </summary>
|
||||
protected DataSet Nxt_mReturnDataSet = null;
|
||||
|
||||
public string Nxt_getQuery(string tableName)
|
||||
{
|
||||
return Nxt_mRequestQuery[tableName];
|
||||
}
|
||||
|
||||
public abstract Nxt_IDataRequest Nxt_buildData();
|
||||
|
||||
public DataSet Nxt_getResult()
|
||||
{
|
||||
foreach (KeyValuePair<string, string> item in Nxt_mRequestQuery)
|
||||
{
|
||||
Nxt_mReturnDataSet.Tables.Add(DBManager.getInstance().Nxt_requestData(item.Key, item.Value));
|
||||
}
|
||||
|
||||
return Nxt_mReturnDataSet;
|
||||
}
|
||||
}
|
||||
}
|
||||
20
MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs
Normal file
20
MBN_STOCK_N/Data/Request/Nxt_IDataRequest.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
public interface Nxt_IDataRequest
|
||||
{
|
||||
|
||||
string Nxt_getQuery(string recvTableName);
|
||||
|
||||
DataSet Nxt_getResult();
|
||||
|
||||
Nxt_IDataRequest Nxt_buildData();
|
||||
|
||||
}
|
||||
}
|
||||
263
MBN_STOCK_N/Data/Request/거래원/trader_stocks.cs
Normal file
263
MBN_STOCK_N/Data/Request/거래원/trader_stocks.cs
Normal file
@@ -0,0 +1,263 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Trader_Stocks : ADataObject
|
||||
{
|
||||
|
||||
internal Trader_Stocks(국내시장종류 recvDataType, string recvStockCode)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
string mStockCode = "";
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI상단 = @"SELECT DISTINCT b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_curr_price CURR_PRICE,
|
||||
a.f_net_chg NET_CHG,
|
||||
decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname in('{0}')";
|
||||
|
||||
|
||||
string queryKOSPI매도 = @"select f_sale_nick_kname sale_name, f_sell_vol sell_vol
|
||||
from(
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_1 f_sell_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_1 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_2 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_3 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_4 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_5 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
)
|
||||
order by f_sell_vol desc";
|
||||
|
||||
string queryKOSPI매수 = @"select f_sale_nick_kname sale_name, f_buy_vol buy_vol
|
||||
from(
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_buy_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_1 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_2 f_buy_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_2 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_3 f_buy_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_3 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_4 f_buy_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_4 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_5 f_buy_vol
|
||||
from t_dealer a, t_sale_member b, t_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_5 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
)
|
||||
order by f_buy_vol desc";
|
||||
|
||||
string queryKOSDAQ상단 = @"SELECT DISTINCT b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_curr_price CURR_PRICE,
|
||||
a.f_net_chg NET_CHG,
|
||||
decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') CHG_TYPE,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname in('{0}')";
|
||||
|
||||
string queryKOSDAQ매도 = @"select f_sale_nick_kname sale_name, f_sell_vol sell_vol
|
||||
from(
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_sell_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_1 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_2 f_sell_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_2 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_3 f_sell_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_3 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_4 f_sell_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_4 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_sell_dealer_vol_5 f_sell_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_sell_dealer_no_5 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
)
|
||||
order by f_sell_vol desc";
|
||||
|
||||
string queryKOSDAQ매수 = @"select f_sale_nick_kname sale_name, f_buy_vol buy_vol
|
||||
from(
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_1 f_buy_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_1 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_2 f_buy_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_2 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_3 f_buy_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_3 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_4 f_buy_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_4 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
union
|
||||
select a.f_stock_code,
|
||||
b.f_sale_nick_kname, a.f_buy_dealer_vol_5 f_buy_vol
|
||||
from t_kosdaq_dealer a, t_sale_member b, t_kosdaq_stock c
|
||||
where c.f_stock_wanname = '{0}'
|
||||
and c.f_mkt_halt = 'N'
|
||||
and a.f_buy_dealer_no_5 = b.f_sale_no
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
)
|
||||
order by f_buy_vol desc";
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("상단", String.Format(queryKOSPI상단, this.mStockCode));
|
||||
mRequestQuery.Add("매도", String.Format(queryKOSPI매도, this.mStockCode));
|
||||
mRequestQuery.Add("매수", String.Format(queryKOSPI매수, this.mStockCode));
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("상단", String.Format(queryKOSDAQ상단, this.mStockCode));
|
||||
mRequestQuery.Add("매도", String.Format(queryKOSDAQ매도, this.mStockCode));
|
||||
mRequestQuery.Add("매수", String.Format(queryKOSDAQ매수, this.mStockCode));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
67
MBN_STOCK_N/Data/Request/그리드/Grid11.cs
Normal file
67
MBN_STOCK_N/Data/Request/그리드/Grid11.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Grid11 : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"select '코스피' name,
|
||||
decode(f_invest_code, '1000', '증권', '2000', '보험',
|
||||
'3000', '투신',
|
||||
'4000', '은행', '6000', '기금') invest_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '4000', '6000')
|
||||
group by decode(f_invest_code, '1000', '증권', '2000', '보험',
|
||||
'3000', '투신',
|
||||
'4000', '은행', '6000', '기금')
|
||||
union
|
||||
select '코스닥' name,
|
||||
decode(f_invest_code, '1000', '증권', '2000', '보험',
|
||||
'3000', '투신',
|
||||
'4000', '은행', '6000', '기금') invest_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '4000', '6000')
|
||||
group by decode(f_invest_code, '1000', '증권', '2000', '보험',
|
||||
'3000', '투신',
|
||||
'4000', '은행', '6000', '기금')
|
||||
union
|
||||
select '코스피200' name,
|
||||
decode(f_invest_code, '1000', '증권', '2000', '보험',
|
||||
'3000', '투신',
|
||||
'4000', '은행', '6000', '기금') invest_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '4000', '6000')
|
||||
group by decode(f_invest_code, '1000', '증권', '2000', '보험',
|
||||
'3000', '투신',
|
||||
'4000', '은행', '6000', '기금')";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
76
MBN_STOCK_N/Data/Request/그리드/Grid13.cs
Normal file
76
MBN_STOCK_N/Data/Request/그리드/Grid13.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Grid13 : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"select '차익' name,
|
||||
round(((F_CCON_BUY_W_AMT + F_CCON_BUY_J_AMT) - (F_CCON_SELL_W_AMT + F_CCON_SELL_J_AMT)) / 100000000) part_idx
|
||||
from t_pgm_tot
|
||||
union
|
||||
select '비차익' name,
|
||||
round(((F_BCON_BUY_W_AMT + F_BCON_BUY_J_AMT) - (F_BCON_SELL_W_AMT + F_BCON_SELL_J_AMT)) / 100000000) part_idx
|
||||
from t_pgm_tot
|
||||
union
|
||||
select '순매수' name,
|
||||
round((((F_BCON_BUY_W_AMT + F_BCON_BUY_J_AMT) - (F_BCON_SELL_W_AMT + F_BCON_SELL_J_AMT)) +
|
||||
((F_CCON_BUY_W_AMT + F_CCON_BUY_J_AMT) - (F_CCON_SELL_W_AMT + F_CCON_SELL_J_AMT))) / 100000000) part_idx
|
||||
from t_pgm_tot
|
||||
union
|
||||
SELECT '코스피200' name, decode(f_chg_type, '-', (f_part_idx / 100) * -1, f_part_idx / 100) part_idx
|
||||
FROM T_200_INDEX
|
||||
WHERE f_part_code = '029'
|
||||
union
|
||||
SELECT '선물' name, decode(chg_type, '-', part_idx * -1, part_idx) part_idx
|
||||
FROM(SELECT f_curr_price / 100 part_idx,
|
||||
decode(sign(f_curr_price - f_base_price), 1, '+', -1, '-', 0, ' ') chg_type
|
||||
FROM t_sunmul_online
|
||||
WHERE f_stock_code = (select f_stock_code from t_sunmul_batch
|
||||
where f_market_date = (select max(f_market_date)
|
||||
from t_sunmul_batch)
|
||||
and substr(f_stock_code, 4, 1) = '1'
|
||||
and F_MONTH_GUBUN = '1')
|
||||
)
|
||||
union
|
||||
select '베이시스' name,
|
||||
b.part_idx - a.part_idx part_idx
|
||||
from
|
||||
(SELECT '코스피200' name, decode(f_chg_type, '-', (f_part_idx / 100) * -1, f_part_idx / 100) part_idx
|
||||
FROM T_200_INDEX
|
||||
WHERE f_part_code = '029') A,
|
||||
(SELECT '선물' name, decode(chg_type, '-', part_idx * -1, part_idx) part_idx
|
||||
FROM(SELECT f_curr_price / 100 part_idx,
|
||||
decode(sign(f_curr_price - f_base_price), 1, '+', -1, '-', 0, ' ') chg_type
|
||||
FROM t_sunmul_online
|
||||
WHERE f_stock_code = (select f_stock_code from t_sunmul_batch
|
||||
where f_market_date = (select max(f_market_date)
|
||||
from t_sunmul_batch)
|
||||
and substr(f_stock_code, 4, 1) = '1'
|
||||
and F_MONTH_GUBUN = '1')
|
||||
)) B";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
33
MBN_STOCK_N/Data/Request/그리드/Grid14.cs
Normal file
33
MBN_STOCK_N/Data/Request/그리드/Grid14.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Grid14 : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
70
MBN_STOCK_N/Data/Request/그리드/Grid8.cs
Normal file
70
MBN_STOCK_N/Data/Request/그리드/Grid8.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Grid8 : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"select
|
||||
name,
|
||||
sum(decode(invest, '개인', org_amt, 0)) ""개인"",
|
||||
sum(decode(invest, '외국인', org_amt, 0)) ""외국인"",
|
||||
sum(decode(invest, '기관', org_amt, 0)) ""기관""
|
||||
from(
|
||||
select
|
||||
1 s,
|
||||
'코스피' name,
|
||||
decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') invest,
|
||||
round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as org_amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')
|
||||
UNION
|
||||
select
|
||||
2 s,
|
||||
'코스닥' name,
|
||||
decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') invest,
|
||||
round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as org_amt
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')
|
||||
UNION
|
||||
select
|
||||
3 s,
|
||||
'코스피200' name,
|
||||
decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관') invest,
|
||||
round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as org_amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')
|
||||
)
|
||||
group by name, s
|
||||
order by s";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
232
MBN_STOCK_N/Data/Request/그리드/Grid9.cs
Normal file
232
MBN_STOCK_N/Data/Request/그리드/Grid9.cs
Normal file
@@ -0,0 +1,232 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Grid9 : ADataObject
|
||||
{
|
||||
|
||||
public Grid9(국내시장종류 recvMarketType)
|
||||
{
|
||||
this.mMarketType = recvMarketType;
|
||||
}
|
||||
|
||||
private 국내시장종류 mMarketType;
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryKOSPIList = @"select
|
||||
(select max(open_day) from v_open_day) f_data_time,
|
||||
P_1 ""개인"",
|
||||
P_2 ""외국인"",
|
||||
P_3 ""기관""
|
||||
FROM(
|
||||
select
|
||||
sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1,
|
||||
sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2,
|
||||
sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by f_invest_code
|
||||
)
|
||||
UNION
|
||||
select
|
||||
f_data_time,
|
||||
sum(p_1) ""개인"",
|
||||
sum(p_2) ""외국인"",
|
||||
sum(p_3) ""기관""
|
||||
from(
|
||||
select
|
||||
substr(f_data_time, 1, 8) f_data_time,
|
||||
decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1,
|
||||
decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2,
|
||||
decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
and f_data_time in (
|
||||
select data_time || '1535'
|
||||
from(select open_day data_time from v_open_day
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_time
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by data_time desc
|
||||
)
|
||||
where rownum< 5
|
||||
)
|
||||
group by f_data_time, f_invest_code
|
||||
)
|
||||
group by f_data_time
|
||||
order by f_data_time desc";
|
||||
|
||||
string queryKOSPISum = @"select
|
||||
sum(p_1) ""개인"",
|
||||
sum(p_2) ""외국인"",
|
||||
sum(p_3) ""기관""
|
||||
from(
|
||||
select
|
||||
sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1,
|
||||
sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2,
|
||||
sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by f_invest_code
|
||||
union
|
||||
select
|
||||
sum(p_1) p_1,
|
||||
sum(p_2) p_2,
|
||||
sum(p_3) p_3
|
||||
from(
|
||||
select
|
||||
f_data_time f_data_time,
|
||||
decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1,
|
||||
decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2,
|
||||
decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
and f_data_time in (
|
||||
select
|
||||
data_time
|
||||
from(
|
||||
select
|
||||
open_day || '1535' data_time
|
||||
from v_open_day
|
||||
minus
|
||||
select
|
||||
substr(f_data_time, 1, 8) data_time
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by data_time desc
|
||||
)
|
||||
where rownum< 20
|
||||
)
|
||||
group by f_data_time, f_invest_code
|
||||
)
|
||||
)";
|
||||
|
||||
string queryKOSDAQList = @"select
|
||||
(select max(open_day) from v_open_day) f_data_time,
|
||||
P_1 ""개인"",
|
||||
P_2 ""외국인"",
|
||||
P_3 ""기관""
|
||||
FROM(
|
||||
select
|
||||
sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1,
|
||||
sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2,
|
||||
sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by f_invest_code
|
||||
)
|
||||
UNION
|
||||
select
|
||||
f_data_time,
|
||||
sum(p_1) ""개인"",
|
||||
sum(p_2) ""외국인"",
|
||||
sum(p_3) ""기관""
|
||||
from(
|
||||
select
|
||||
substr(f_data_time, 1, 8) f_data_time,
|
||||
decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1,
|
||||
decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2,
|
||||
decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3
|
||||
from t_kosdaq_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
and f_data_time in (
|
||||
select data_time || '1535'
|
||||
from(
|
||||
select open_day data_time from v_open_day
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_time from t_index
|
||||
where f_part_code = '001'
|
||||
order by data_time desc
|
||||
)
|
||||
where rownum< 5
|
||||
)
|
||||
group by f_data_time, f_invest_code
|
||||
)
|
||||
group by f_data_time
|
||||
order by f_data_time desc";
|
||||
|
||||
string queryKOSDAQSum = @"select
|
||||
sum(p_1) ""개인"",
|
||||
sum(p_2) ""외국인"",
|
||||
sum(p_3) ""기관""
|
||||
from(
|
||||
select
|
||||
sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_1,
|
||||
sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) p_2,
|
||||
sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) p_3
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by f_invest_code
|
||||
union
|
||||
select
|
||||
sum(p_1) p_1,
|
||||
sum(p_2) p_2,
|
||||
sum(p_3) p_3
|
||||
from(
|
||||
select
|
||||
f_data_time f_data_time,
|
||||
decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1,
|
||||
decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2,
|
||||
decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3
|
||||
from t_kosdaq_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
and f_data_time in (
|
||||
select
|
||||
data_time
|
||||
from(
|
||||
select
|
||||
open_day || '1535' data_time
|
||||
from v_open_day
|
||||
minus
|
||||
select
|
||||
substr(f_data_time, 1, 8) data_time
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by data_time desc
|
||||
)
|
||||
where rownum< 20
|
||||
)
|
||||
group by f_data_time, f_invest_code
|
||||
)
|
||||
)";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
if (mMarketType == 국내시장종류.KOSPI)
|
||||
{
|
||||
mRequestQuery.Add("일별리스트", queryKOSPIList);
|
||||
mRequestQuery.Add("한달합계", queryKOSPISum);
|
||||
}
|
||||
else
|
||||
{
|
||||
mRequestQuery.Add("일별리스트", queryKOSDAQList);
|
||||
mRequestQuery.Add("한달합계", queryKOSDAQSum);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
64
MBN_STOCK_N/Data/Request/막대그래프/Stick12.cs
Normal file
64
MBN_STOCK_N/Data/Request/막대그래프/Stick12.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Stick12 : ADataObject
|
||||
{
|
||||
|
||||
|
||||
public Stick12(국내시장종류 recvMarketType)
|
||||
{
|
||||
this.mMarketType = recvMarketType;
|
||||
}
|
||||
|
||||
private 국내시장종류 mMarketType;
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryKOSPI = @"select
|
||||
decode(f_invest_code,'8000','개인','9000','외국인','9001','외국인','기관') invest_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')";
|
||||
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
decode(f_invest_code,'8000','개인','9000','외국인','9001','외국인','기관') invest_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by decode(f_invest_code, '8000', '개인', '9000', '외국인', '9001', '외국인', '기관')";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (this.mMarketType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
bufQuery = queryKOSPI;
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
bufQuery = queryKOSDAQ;
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
112
MBN_STOCK_N/Data/Request/막대그래프/Stick21.cs
Normal file
112
MBN_STOCK_N/Data/Request/막대그래프/Stick21.cs
Normal file
@@ -0,0 +1,112 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Stick21 : ADataObject
|
||||
{
|
||||
|
||||
|
||||
public Stick21(섹터지수막대그래프분류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
}
|
||||
|
||||
private 섹터지수막대그래프분류 mDataType;
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryKOSPI = @"select
|
||||
b.f_part_name,
|
||||
a.F_PART_IDX/100,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG/100,
|
||||
round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate
|
||||
from t_index a, t_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and a.f_part_code in('013', '009', '011', '016', '018', '021', '008', '007', '015', '005')
|
||||
order by a.f_part_code";
|
||||
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
b.f_part_name,
|
||||
a.F_PART_IDX/100,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG/100,
|
||||
round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate
|
||||
from t_kosdaq_index a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and a.f_part_code in('159', '160', '066', '154', '065', '031', '029', '070', '024', '153')
|
||||
order by a.f_part_code";
|
||||
|
||||
string queryDOW = @"select
|
||||
a.f_input_name name,
|
||||
round(b.f_last,2) part_idx,
|
||||
b.f_sign chg_type,
|
||||
ABS(round(b.f_diff, 2)) part_chg,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('DJI@DJINET', 'DJI@DJUSAU', 'DJI@DJUSCH', 'DJI@DJUSNF', 'DJI@DJUSCN', 'DJI@DJT', 'DJI@DJU', 'DJI@DJUSFB', 'DJI@DJUSCFT', 'DJI@DJUSEE')";
|
||||
|
||||
|
||||
string queryNASDAQ = @"select
|
||||
a.f_input_name name,
|
||||
round(b.f_last,2) part_idx,
|
||||
b.f_sign chg_type,
|
||||
ABS(round(b.f_diff, 2)) part_chg,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('NAS@CXBT', 'NAS@NDX', 'NAS@NQSSSE', 'NAS@IXBK', 'NAS@IXIS', 'NAS@IXUT', 'NAS@IXK', 'NAS@NBI', 'NAS@IXF', 'NAS@NDXT')";
|
||||
|
||||
|
||||
string querySNP = @"select
|
||||
a.f_input_name name,
|
||||
round(b.f_last,2) part_idx,
|
||||
b.f_sign chg_type,
|
||||
ABS(round(b.f_diff, 2)) part_chg,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('SPI@S5ENRS', 'SPI@S5RLST', 'SPI@S5AUCO', 'SPI@S5INFT', 'SPI@S5COND', 'SPI@S5INSU', 'SPI@S5ELUTX', 'SPI@S5HLTH', 'SPI@S5FINL', 'SPI@S5TELS')";
|
||||
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 섹터지수막대그래프분류.코스피:
|
||||
bufQuery = queryKOSPI;
|
||||
break;
|
||||
case 섹터지수막대그래프분류.코스닥:
|
||||
bufQuery = queryKOSDAQ;
|
||||
break;
|
||||
case 섹터지수막대그래프분류.다우:
|
||||
bufQuery = queryDOW;
|
||||
break;
|
||||
case 섹터지수막대그래프분류.나스닥:
|
||||
bufQuery = queryNASDAQ;
|
||||
break;
|
||||
case 섹터지수막대그래프분류.SNP:
|
||||
bufQuery = querySNP;
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
107
MBN_STOCK_N/Data/Request/봉차트/ACandleData.cs
Normal file
107
MBN_STOCK_N/Data/Request/봉차트/ACandleData.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
internal abstract class ACandleData : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="recvStockName"></param>
|
||||
/// <param name="recvDataLength"></param>
|
||||
public ACandleData(봉차트세부종목 recvDataType, 데이터기간 recvDataLength)
|
||||
{
|
||||
this.mDataLength = recvDataLength;
|
||||
this.mDataType = recvDataType;
|
||||
this.setQuery();
|
||||
}
|
||||
|
||||
protected 데이터기간 mDataLength;
|
||||
|
||||
protected 봉차트세부종목 mDataType;
|
||||
|
||||
protected string mStockCode = string.Empty;
|
||||
|
||||
protected string queryForecastToday = @"";
|
||||
|
||||
protected string queryForecastLast = @"";
|
||||
|
||||
protected string queryIndexNow = @"";
|
||||
|
||||
protected string queryIndexToday = @"";
|
||||
|
||||
protected string queryIndexLast = @"";
|
||||
|
||||
protected string queryQuantityToday = @"";
|
||||
|
||||
protected string queryQuantityLast = @"";
|
||||
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
switch (mDataType)
|
||||
{
|
||||
case 봉차트세부종목.예상지수:
|
||||
buildQueryMethod(queryForecastToday, queryForecastLast);
|
||||
break;
|
||||
case 봉차트세부종목.일반지수:
|
||||
buildQueryMethod(queryIndexNow, queryIndexLast, queryIndexToday);
|
||||
break;
|
||||
case 봉차트세부종목.거래량:
|
||||
buildQueryMethod(queryIndexNow, queryQuantityLast, queryQuantityToday);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
|
||||
}
|
||||
|
||||
private void buildQueryMethod(string query1, string query2, string query3 = null)
|
||||
{
|
||||
|
||||
if (this.mStockCode != string.Empty)
|
||||
{
|
||||
mRequestQuery.Add("현재", string.Format(query1, this.mStockCode));
|
||||
|
||||
if (mDataLength == 데이터기간.일 && query3 != null)
|
||||
{
|
||||
mRequestQuery.Add("누적", string.Format(query3, this.mStockCode));
|
||||
}
|
||||
else
|
||||
{
|
||||
mRequestQuery.Add("누적", String.Format(query2, this.mDataLength.GetStringValue(), this.mStockCode));
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
mRequestQuery.Add("현재", query1);
|
||||
|
||||
if (mDataLength == 데이터기간.일 && query3 != null)
|
||||
{
|
||||
mRequestQuery.Add("누적", query3);
|
||||
}
|
||||
else
|
||||
{
|
||||
mRequestQuery.Add("누적", String.Format(query2, this.mDataLength.GetStringValue()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected abstract void setQuery();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
135
MBN_STOCK_N/Data/Request/봉차트/CandleFutures.cs
Normal file
135
MBN_STOCK_N/Data/Request/봉차트/CandleFutures.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleFutures : ACandleData
|
||||
{
|
||||
public CandleFutures(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
if (recvDataType == DBDefine.봉차트세부종목.거래량)
|
||||
{
|
||||
throw new Exception("선물은 거래량 쿼리가 없음.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"SELECT
|
||||
'선물' name,
|
||||
part_idx part_idx,
|
||||
chg_type,
|
||||
ABS(part_chg) part_chg,
|
||||
round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), '-', (part_idx / 100) + (part_chg / 100), 1), 2) rate
|
||||
FROM (
|
||||
SELECT decode(a.f_fo_price,0, b.F_JUN_LAST_PRICE, a.f_fo_price) part_idx,
|
||||
decode(a.f_fo_price, 0, 0, (a.f_fo_price - b.F_JUN_LAST_PRICE)/100) part_chg,
|
||||
decode(a.f_fo_price, 0, ' ', decode(sign(a.f_fo_price -b.F_JUN_LAST_PRICE),1,'+',-1,'-',0,' ')) chg_type
|
||||
FROM t_sunmul_online a, t_sunmul_batch b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_seq = 1
|
||||
AND b.f_market_date = (select max(OPEN_DAY) from v_open_day)
|
||||
AND b.F_MONTH_GUBUN = '1'
|
||||
)";
|
||||
|
||||
this.queryForecastLast = @"select
|
||||
F_DATA_DAY,
|
||||
chg_type,
|
||||
part_chg,
|
||||
part_high_idx / 100 part_high_idx,
|
||||
part_low_idx / 100 part_low_idx,
|
||||
part_init_idx / 100 part_init_idx,
|
||||
part_idx / 100 part_idx,
|
||||
part_ma5_idx / 100 part_ma5_idx,
|
||||
part_ma20_idx / 100 part_ma20_idx
|
||||
FROM(
|
||||
select F_DATA_DAY, F_CHG_TYPE chg_type, F_PART_CHG part_chg,
|
||||
F_PART_HIGH_IDX part_high_idx, F_PART_LOW_IDX part_low_idx, F_PART_INIT_IDX part_init_idx,
|
||||
F_PART_IDX part_idx, F_PART_MA5_IDX part_ma5_idx, F_PART_MA20_IDX part_ma20_idx
|
||||
from T_SUNMUL_HIS_DAY
|
||||
order by f_data_day desc)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
'선물' name,
|
||||
part_idx part_idx,
|
||||
chg_type,
|
||||
ABS(part_chg) part_chg,
|
||||
ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100), '-', (part_idx / 100) + (part_chg / 100), 1), 2)) rate
|
||||
FROM (
|
||||
SELECT decode(a.f_curr_price,0, b.F_JUN_LAST_PRICE/100, a.f_curr_price/100) part_idx, a.F_NET_VOL, a.f_out_vol, a.F_NET_TURNOVER,
|
||||
decode(a.f_curr_price, 0, 0, (a.f_curr_price - b.F_JUN_LAST_PRICE*100)/100) part_chg,
|
||||
decode(a.f_curr_price, 0, ' ', decode(sign(a.f_curr_price -b.F_JUN_LAST_PRICE*100),1,'+',-1,'-',0,' ')) chg_type
|
||||
FROM t_sunmul_online a, t_sunmul_batch b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_seq = 1
|
||||
AND b.f_market_date = (select max(OPEN_DAY) from v_open_day)
|
||||
AND b.F_MONTH_GUBUN = '1'
|
||||
)";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_IDX/100,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG,
|
||||
a.F_PART_HIGH_IDX/100,
|
||||
a.F_PART_LOW_IDX/100,
|
||||
a.F_PART_INIT_IDX/100
|
||||
from t_sunmul_his_5M a
|
||||
where a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
chg_type,
|
||||
part_chg,
|
||||
part_high_idx/100,
|
||||
part_low_idx/100,
|
||||
part_init_idx/100,
|
||||
part_idx/100,
|
||||
part_ma5_idx/100,
|
||||
part_ma20_idx/100
|
||||
FROM (
|
||||
select
|
||||
F_DATA_DAY,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG part_chg,
|
||||
F_PART_HIGH_IDX part_high_idx,
|
||||
F_PART_LOW_IDX part_low_idx,
|
||||
F_PART_INIT_IDX part_init_idx,
|
||||
F_PART_IDX part_idx,
|
||||
F_PART_MA5_IDX part_ma5_idx,
|
||||
F_PART_MA20_IDX part_ma20_idx
|
||||
from T_SUNMUL_HIS_DAY
|
||||
order by f_data_day desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
142
MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSDAQ.cs
Normal file
142
MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSDAQ.cs
Normal file
@@ -0,0 +1,142 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleIndustryKOSDAQ : ACandleData
|
||||
{
|
||||
public CandleIndustryKOSDAQ(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
if (recvDataType == DBDefine.봉차트세부종목.예상지수)
|
||||
{
|
||||
throw new Exception("업종지수는 예상지수 쿼리가 없음.");
|
||||
}
|
||||
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"";
|
||||
|
||||
this.queryForecastLast = @"";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
b.f_part_name part_name,
|
||||
f_part_vol part_vol,
|
||||
round(f_part_idx/100,2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
round(f_part_chg/100,2) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM t_kosdaq_index a, t_kosdaq_part b
|
||||
WHERE a.f_part_code = b.f_part_code
|
||||
AND b.f_part_name = '{0}'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
b.f_part_name,
|
||||
a.F_CHG_TYPE chg_type,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx,
|
||||
a.f_part_vol
|
||||
from t_kosdaq_index_his_5M a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{0}'
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
f_part_name part_name,
|
||||
F_CHG_TYPE chg_type,
|
||||
f_part_vol part_vol,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_kosdaq_index_his_day a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{1}'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
b.f_part_name,
|
||||
a.F_CHG_TYPE chg_type,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx,
|
||||
a.f_part_vol part_vol
|
||||
from t_kosdaq_index_his_5M a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{0}'
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
f_part_name part_name,
|
||||
F_CHG_TYPE chg_type,
|
||||
f_part_vol part_vol,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_kosdaq_index_his_day a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{1}'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
144
MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSPI.cs
Normal file
144
MBN_STOCK_N/Data/Request/봉차트/CandleIndustryKOSPI.cs
Normal file
@@ -0,0 +1,144 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleIndustryKOSPI : ACandleData
|
||||
{
|
||||
public CandleIndustryKOSPI(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
if (recvDataType == DBDefine.봉차트세부종목.예상지수)
|
||||
{
|
||||
throw new Exception("업종지수는 예상지수 쿼리가 없음.");
|
||||
}
|
||||
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"";
|
||||
|
||||
this.queryForecastLast = @"";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
b.f_part_name part_name,
|
||||
a.f_part_vol part_vol,
|
||||
round(f_part_idx / 100, 2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
round(f_part_chg / 100, 2) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM t_index a, t_part b
|
||||
WHERE a.f_part_code = b.f_part_code
|
||||
AND b.f_part_name = '{0}'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
b.f_part_name,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx,
|
||||
F_PART_VOL
|
||||
from t_index_his_5M a, t_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{0}'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
f_part_name part_name,
|
||||
F_CHG_TYPE chg_type,
|
||||
f_part_vol part_vol,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.F_PART_VOL,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_index_his_day a, t_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{1}'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
b.f_part_name,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx,
|
||||
F_PART_VOL part_vol
|
||||
from t_index_his_5M a, t_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{0}'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
f_part_name part_name,
|
||||
F_CHG_TYPE chg_type,
|
||||
f_part_vol part_vol,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE, b.f_part_name,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.F_PART_VOL,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_index_his_day a, t_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{1}'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
151
MBN_STOCK_N/Data/Request/봉차트/CandleKOSDAQ.cs
Normal file
151
MBN_STOCK_N/Data/Request/봉차트/CandleKOSDAQ.cs
Normal file
@@ -0,0 +1,151 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleKOSDAQ : ACandleData
|
||||
{
|
||||
public CandleKOSDAQ(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"SELECT
|
||||
'코스닥 예상' NAME,
|
||||
round(f_part_idx / 100, 2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
ABS(round(f_part_chg / 100, 2)) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg),1) * 100, 2) rate
|
||||
FROM t_kosdaq_fo_index
|
||||
WHERE f_part_code = '001'";
|
||||
|
||||
this.queryForecastLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_kosdaq_index_his_day a
|
||||
where a.f_part_code = '001'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
round(f_part_idx/100,2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
round(f_part_chg/100,2) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM t_kosdaq_index
|
||||
WHERE f_part_code = '001'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx
|
||||
from t_kosdaq_index_his_5M a
|
||||
where a.f_part_code = '001'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_kosdaq_index_his_day a
|
||||
where a.f_part_code = '001'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_VOL part_vol
|
||||
from t_kosdaq_index_his_5M a
|
||||
where a.f_part_code = '001'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_VOL part_vol,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_kosdaq_index_his_day a
|
||||
where a.f_part_code = '001'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
147
MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI.cs
Normal file
147
MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI.cs
Normal file
@@ -0,0 +1,147 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleKOSPI : ACandleData
|
||||
{
|
||||
public CandleKOSPI(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"SELECT
|
||||
'코스피 예상' NAME,
|
||||
round(f_part_idx / 100, 2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
ABS(round(f_part_chg / 100, 2)) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM t_fo_index
|
||||
WHERE f_part_code = '001'";
|
||||
|
||||
this.queryForecastLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_index_his_day a
|
||||
where a.f_part_code = '001'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
round(f_part_idx/100,2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
round(f_part_chg/100,2) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM t_index
|
||||
WHERE f_part_code = '001'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
a.F_CHG_TYPE chg_type,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx
|
||||
from t_index_his_5M a
|
||||
where a.f_part_code = '001'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx, F_PART_LOW_IDX / 100 part_low_idx, F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx, F_PART_MA5_IDX / 100 part_ma5_idx, F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_index_his_day a
|
||||
where a.f_part_code = '001'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
a.F_CHG_TYPE chg_type,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx,
|
||||
a.F_PART_VOL part_vol
|
||||
from t_index_his_5M a
|
||||
where a.f_part_code = '001'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_VOL part_vol,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_index_his_day a
|
||||
where a.f_part_code = '001'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
149
MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI200.cs
Normal file
149
MBN_STOCK_N/Data/Request/봉차트/CandleKOSPI200.cs
Normal file
@@ -0,0 +1,149 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleKOSPI200 : ACandleData
|
||||
{
|
||||
public CandleKOSPI200(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"SELECT
|
||||
'KOSPI200' name,
|
||||
f_part_idx/100 part_idx,
|
||||
f_chg_type chg_type,
|
||||
ABS(round(f_part_chg/100,2)) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100), '-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate
|
||||
FROM T_200_FO_INDEX
|
||||
WHERE f_part_code = '029'";
|
||||
|
||||
this.queryForecastLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_200_index_his_day a
|
||||
where a.f_part_code = '029'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
round(f_part_idx/100,2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
round(f_part_chg/100,2) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM T_200_INDEX
|
||||
WHERE f_part_code = '029'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
a.F_CHG_TYPE chg_type,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx
|
||||
from t_200_index_his_5M a
|
||||
where a.f_part_code = '029'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_200_index_his_day a
|
||||
where a.f_part_code = '029'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
a.F_PART_CHG / 100 part_chg,
|
||||
a.F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
a.F_PART_LOW_IDX / 100 part_low_idx,
|
||||
a.F_PART_INIT_IDX / 100 part_init_idx,
|
||||
a.F_PART_IDX / 100 part_idx,
|
||||
F_PART_VOL part_vol
|
||||
from t_200_index_his_5M a
|
||||
where a.f_part_code = '029'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_VOL part_vol,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_200_index_his_day a
|
||||
where a.f_part_code = '029'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
145
MBN_STOCK_N/Data/Request/봉차트/CandleKRX100.cs
Normal file
145
MBN_STOCK_N/Data/Request/봉차트/CandleKRX100.cs
Normal file
@@ -0,0 +1,145 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleKRX100 : ACandleData
|
||||
{
|
||||
public CandleKRX100(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
if (recvDataType == DBDefine.봉차트세부종목.예상지수)
|
||||
{
|
||||
throw new Exception("KRX100은 예상지수 쿼리가 없음.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"";
|
||||
|
||||
this.queryForecastLast = @"";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT
|
||||
round(f_part_idx/100,2) part_idx,
|
||||
f_chg_type chg_type,
|
||||
round(f_part_chg/100,2) part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg, 1)) * 100, 2) rate
|
||||
FROM t_krx100_index
|
||||
WHERE f_part_code = '043'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx
|
||||
from t_krx100_index_his_5M a
|
||||
where a.f_part_code = '043'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_krx100_index_his_day a
|
||||
where a.f_part_code = '043'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
//this.queryQuantityToday = @"select
|
||||
// a.F_DATA_DAY,
|
||||
// a.F_DATA_TIME,
|
||||
// a.F_PART_CODE,
|
||||
// F_CHG_TYPE chg_type,
|
||||
// F_PART_CHG / 100 part_chg,
|
||||
// F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
// F_PART_LOW_IDX / 100 part_low_idx,
|
||||
// F_PART_INIT_IDX / 100 part_init_idx,
|
||||
// F_PART_IDX / 100 part_idx
|
||||
//from t_krx100_index_his_5M a
|
||||
//where a.f_part_code = '043'
|
||||
// and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
//order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_PART_CODE,
|
||||
a.F_CHG_TYPE,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_VOL part_vol,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
a.F_DATA_TIME
|
||||
from t_krx100_index_his_5M a
|
||||
where a.f_part_code = '043'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
order by a.F_DATA_DAY, a.F_DATA_TIME";
|
||||
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select
|
||||
F_DATA_DAY,
|
||||
F_PART_CODE,
|
||||
F_CHG_TYPE chg_type,
|
||||
F_PART_CHG / 100 part_chg,
|
||||
F_PART_VOL part_vol,
|
||||
F_PART_HIGH_IDX / 100 part_high_idx,
|
||||
F_PART_LOW_IDX / 100 part_low_idx,
|
||||
F_PART_INIT_IDX / 100 part_init_idx,
|
||||
F_PART_IDX / 100 part_idx,
|
||||
F_PART_MA5_IDX / 100 part_ma5_idx,
|
||||
F_PART_MA20_IDX / 100 part_ma20_idx
|
||||
from (
|
||||
select a.F_DATA_DAY, a.F_PART_CODE,
|
||||
a.F_CHG_TYPE, a.F_PART_CHG, a.f_part_vol,
|
||||
a.F_PART_HIGH_IDX, a.F_PART_LOW_IDX, a.F_PART_INIT_IDX,
|
||||
a.F_PART_IDX, a.F_PART_MA5_IDX, a.F_PART_MA20_IDX
|
||||
from t_krx100_index_his_day a
|
||||
where a.f_part_code = '043'
|
||||
order by a.F_DATA_DAY desc
|
||||
)
|
||||
where rownum <= {0} order by F_DATA_DAY asc";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
67
MBN_STOCK_N/Data/Request/봉차트/CandleStockDIS.cs
Normal file
67
MBN_STOCK_N/Data/Request/봉차트/CandleStockDIS.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleStockDIS : ACandleData
|
||||
{
|
||||
public CandleStockDIS(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME stock_name,
|
||||
a.f_curr_price curr_price,
|
||||
ABS(a.f_net_chg) net_chg,
|
||||
decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_stop_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'Y'
|
||||
|
||||
AND a.f_curr_price < > 0
|
||||
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'";
|
||||
|
||||
|
||||
|
||||
this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname,
|
||||
X.F_CHG_TYPE, X.F_NET_CHG,
|
||||
X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_candle_history a, t_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'Y'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0} ) O
|
||||
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
64
MBN_STOCK_N/Data/Request/봉차트/CandleStockDISK.cs
Normal file
64
MBN_STOCK_N/Data/Request/봉차트/CandleStockDISK.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleStockDISK : ACandleData
|
||||
{
|
||||
public CandleStockDISK(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME stock_name,
|
||||
a.f_curr_price curr_price,
|
||||
ABS(a.f_net_chg) net_chg,
|
||||
decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_stop_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'Y'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'";
|
||||
|
||||
|
||||
|
||||
this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname,
|
||||
X.F_CHG_TYPE, X.F_NET_CHG,
|
||||
X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_kosdaq_candle_history a, t_kosdaq_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'Y'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
219
MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSDAQ.cs
Normal file
219
MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSDAQ.cs
Normal file
@@ -0,0 +1,219 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleStockKOSDAQ : ACandleData
|
||||
{
|
||||
public CandleStockKOSDAQ(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.f_stock_nickname nickname,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_fore_price curr_price,
|
||||
a.f_fore_vol net_vol,
|
||||
c.f_final_price final_price,
|
||||
ABS(a.f_fore_price - c.f_final_price) net_chg,
|
||||
' ' f_net_chg,
|
||||
case when(a.f_fore_price - c.f_final_price) > 0 then '+'
|
||||
when(a.f_fore_price - c.f_final_price) = 0 then ''
|
||||
when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type,
|
||||
round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate
|
||||
FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND b.f_mkt_halt = 'N'
|
||||
AND c.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{0}'";
|
||||
|
||||
////////////this.queryForecastToday = @"SELECT DISTINCT
|
||||
//////////// b.f_stock_code stock_code,
|
||||
//////////// b.f_stock_nickname nickname,
|
||||
//////////// b.F_STOCK_WANNAME wanname,
|
||||
//////////// a.f_fore_price curr_price,
|
||||
//////////// a.f_fore_vol net_vol,
|
||||
//////////// c.f_final_price final_price,
|
||||
//////////// a.f_fore_price - c.f_final_price net_chg,
|
||||
//////////// a.f_net_chg,
|
||||
//////////// case when(a.f_fore_price - c.f_final_price) > 0 then '+'
|
||||
//////////// when(a.f_fore_price - c.f_final_price) = 0 then ''
|
||||
//////////// when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type,
|
||||
//////////// round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate
|
||||
////////////FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c
|
||||
////////////WHERE a.f_stock_code = b.f_stock_code
|
||||
//////////// AND b.f_mkt_halt = 'N'
|
||||
//////////// AND c.f_stock_code = b.f_stock_code
|
||||
//////////// and b.f_stock_wanname = '{0}'";
|
||||
// 테스트로 막아놓음
|
||||
//this.queryForecastLast = @"select
|
||||
// F_DATA_DATE,
|
||||
// F_STOCK_CODE,
|
||||
// f_stock_wanname,
|
||||
// F_CHG_TYPE,
|
||||
// F_NET_CHG,
|
||||
// F_HIGH_PRICE,
|
||||
// F_LOW_PRICE,
|
||||
// F_INIT_PRICE,
|
||||
// F_CURR_PRICE,
|
||||
// F_MA5_PRICE,
|
||||
// F_MA20_PRICE
|
||||
//from (
|
||||
// select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
// a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
// a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
// a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
// from t_kosdaq_candle_history a, t_kosdaq_stock b
|
||||
// where a.f_stock_code = b.f_stock_code
|
||||
// and b.f_stock_wanname = '{1}'
|
||||
// order by a.F_DATA_DATE desc
|
||||
//)
|
||||
//where rownum <= {0} order by F_DATA_DATE asc";
|
||||
|
||||
this.queryForecastLast = @"select
|
||||
O.OPEN_DAY F_DATA_DATE,
|
||||
X.F_STOCK_CODE,
|
||||
X.f_stock_wanname,
|
||||
X.F_CHG_TYPE,
|
||||
X.F_NET_CHG,
|
||||
X.F_HIGH_PRICE,
|
||||
X.F_LOW_PRICE,
|
||||
X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE,
|
||||
X.F_MA5_PRICE,
|
||||
X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_kosdaq_candle_history a, t_kosdaq_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME stock_name ,
|
||||
a.f_curr_price curr_price,
|
||||
ABS(a.f_net_chg) net_chg,
|
||||
decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), '2', (a.f_curr_price - a.f_net_chg), '3', (a.f_curr_price), '4', -1*(a.f_curr_price + a.f_net_chg), '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_STOCK_CODE,
|
||||
b.f_stock_wanname,
|
||||
a.F_CURR_PRICE,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_NET_CHG,
|
||||
a.F_NET_VOL,
|
||||
a.F_HIGH_PRICE,
|
||||
a.F_LOW_PRICE,
|
||||
a.F_INIT_PRICE
|
||||
from t_kosdaq_online_his_5M a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
and a.f_data_day = (
|
||||
select max(open_day) from v_open_day
|
||||
)
|
||||
ORDER BY a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname,
|
||||
X.F_CHG_TYPE, X.F_NET_CHG,
|
||||
X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_kosdaq_candle_history a, t_kosdaq_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_STOCK_CODE,
|
||||
b.f_stock_wanname,
|
||||
a.F_CURR_PRICE,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_NET_CHG,
|
||||
a.F_NET_VOL,
|
||||
a.F_HIGH_PRICE,
|
||||
a.F_LOW_PRICE,
|
||||
a.F_INIT_PRICE
|
||||
from t_kosdaq_online_his_5M a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
ORDER BY a.F_DATA_TIME";
|
||||
|
||||
this.queryQuantityLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname,
|
||||
X.F_CHG_TYPE, X.F_NET_CHG, X.F_NET_VOL,
|
||||
X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG, a.F_NET_VOL,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_kosdaq_candle_history a, t_kosdaq_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
221
MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSPI.cs
Normal file
221
MBN_STOCK_N/Data/Request/봉차트/CandleStockKOSPI.cs
Normal file
@@ -0,0 +1,221 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleStockKOSPI : ACandleData
|
||||
{
|
||||
public CandleStockKOSPI(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 예상지수
|
||||
|
||||
this.queryForecastToday = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.f_stock_nickname nickname,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_fore_price curr_price,
|
||||
a.f_fore_vol net_vol,
|
||||
c.f_final_price final_price,
|
||||
ABS(a.f_fore_price - c.f_final_price) net_chg,
|
||||
'' f_net_chg,
|
||||
case when(a.f_fore_price - c.f_final_price) > 0 then '+'
|
||||
when(a.f_fore_price - c.f_final_price) = 0 then ''
|
||||
when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type,
|
||||
round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate
|
||||
FROM t_online1_call a, t_stock b, t_batch_day c
|
||||
WHERE b.f_stock_code = a.f_stock_code
|
||||
AND c.f_stock_code = a.f_stock_code
|
||||
AND b.f_mkt_halt = 'N'
|
||||
and b.f_STOCK_wanname = '{0}'";
|
||||
|
||||
//////////this.queryForecastToday = @"SELECT DISTINCT
|
||||
////////// b.f_stock_code stock_code,
|
||||
////////// b.f_stock_nickname nickname,
|
||||
////////// b.F_STOCK_WANNAME wanname,
|
||||
////////// a.f_fore_price curr_price,
|
||||
////////// a.f_fore_vol net_vol,
|
||||
////////// c.f_final_price final_price,
|
||||
////////// a.f_fore_price - c.f_final_price net_chg,
|
||||
////////// a.f_net_chg,
|
||||
////////// case when(a.f_fore_price - c.f_final_price) > 0 then '+' when(a.f_fore_price - c.f_final_price) = 0 then '' when(a.f_fore_price - c.f_final_price) < 0 then '-' end chg_type,
|
||||
////////// round(((a.f_fore_price - c.f_final_price) / c.f_final_price) * 100, 2) rate
|
||||
//////////FROM t_online1 a, t_stock b, t_batch_day c
|
||||
//////////WHERE b.f_stock_code = a.f_stock_code
|
||||
////////// AND c.f_stock_code = a.f_stock_code
|
||||
////////// AND b.f_mkt_halt = 'N'
|
||||
////////// and b.f_STOCK_wanname = '{0}'";
|
||||
|
||||
//====================
|
||||
//this.queryForecastLast = @"select
|
||||
// F_DATA_DATE,
|
||||
// F_STOCK_CODE,
|
||||
// f_stock_wanname,
|
||||
// F_CHG_TYPE,
|
||||
// F_NET_CHG,
|
||||
// F_HIGH_PRICE,
|
||||
// F_LOW_PRICE,
|
||||
// F_INIT_PRICE,
|
||||
// F_CURR_PRICE,
|
||||
// F_MA5_PRICE,
|
||||
// F_MA20_PRICE
|
||||
//from (
|
||||
// select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
// a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
// a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
// a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
// from t_candle_history a, t_stock b
|
||||
// where a.f_stock_code = b.f_stock_code
|
||||
// and b.f_stock_wanname = '{1}'
|
||||
// and b.f_mkt_halt = 'N'
|
||||
// order by a.F_DATA_DATE desc
|
||||
//)
|
||||
//where rownum <= {0} order by F_DATA_DATE asc";
|
||||
this.queryForecastLast = @"select
|
||||
O.OPEN_DAY F_DATA_DATE,
|
||||
X.F_STOCK_CODE,
|
||||
X.f_stock_wanname,
|
||||
X.F_CHG_TYPE,
|
||||
X.F_NET_CHG,
|
||||
X.F_HIGH_PRICE,
|
||||
X.F_LOW_PRICE,
|
||||
X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE,
|
||||
X.F_MA5_PRICE,
|
||||
X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_candle_history a, t_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
//=================================
|
||||
|
||||
#endregion
|
||||
|
||||
#region 지수
|
||||
|
||||
this.queryIndexNow = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME stock_name ,
|
||||
a.f_curr_price curr_price,
|
||||
ABS(a.f_net_chg) net_chg,
|
||||
a.f_net_vol,
|
||||
decode(a.f_chg_type, '1', '상한', '2', '상승', '3', '보합', '4', '하한', '5', '하락') chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg), '2', (a.f_curr_price - a.f_net_chg), '3', (a.f_curr_price), '4', -1*(a.f_curr_price + a.f_net_chg), '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'";
|
||||
|
||||
this.queryIndexToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_STOCK_CODE,
|
||||
b.f_stock_wanname,
|
||||
a.F_CURR_PRICE,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_NET_CHG,
|
||||
a.F_NET_VOL,
|
||||
a.F_HIGH_PRICE,
|
||||
a.F_LOW_PRICE,
|
||||
a.F_INIT_PRICE
|
||||
from t_online_his_5M a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'
|
||||
and a.f_data_day = (
|
||||
select max(open_day) from v_open_day
|
||||
)
|
||||
ORDER BY a.F_DATA_TIME";
|
||||
|
||||
this.queryIndexLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname,
|
||||
X.F_CHG_TYPE, X.F_NET_CHG,
|
||||
X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_candle_history a, t_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
#endregion
|
||||
|
||||
#region 거래량
|
||||
|
||||
this.queryQuantityToday = @"select
|
||||
a.F_DATA_DAY,
|
||||
a.F_DATA_TIME,
|
||||
a.F_STOCK_CODE,
|
||||
b.f_stock_wanname,
|
||||
a.F_CURR_PRICE,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_NET_CHG,
|
||||
a.F_NET_VOL,
|
||||
a.F_HIGH_PRICE,
|
||||
a.F_LOW_PRICE,
|
||||
a.F_INIT_PRICE
|
||||
from t_online_his_5M a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_stock_wanname = '{0}'
|
||||
and a.f_data_day = (select max(open_day) from v_open_day)
|
||||
ORDER BY a.F_DATA_TIME";
|
||||
|
||||
|
||||
this.queryQuantityLast = @"select O.OPEN_DAY, X.F_STOCK_CODE, X.f_stock_wanname,
|
||||
X.F_CHG_TYPE, X.F_NET_CHG, X.F_NET_VOL,
|
||||
X.F_HIGH_PRICE, X.F_LOW_PRICE, X.F_INIT_PRICE,
|
||||
X.F_CURR_PRICE, X.F_MA5_PRICE, X.F_MA20_PRICE
|
||||
from(select a.F_DATA_DATE, a.F_STOCK_CODE, b.f_stock_wanname,
|
||||
a.F_CHG_TYPE, a.F_NET_CHG, a.F_NET_VOL,
|
||||
a.F_HIGH_PRICE, a.F_LOW_PRICE, a.F_INIT_PRICE,
|
||||
a.F_CURR_PRICE, a.F_MA5_PRICE, a.F_MA20_PRICE
|
||||
from t_candle_history a, t_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{1}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by a.F_DATA_DATE desc) X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
order by open_day desc)
|
||||
where rownum <= {0}) O
|
||||
where X.f_data_date(+) = o.open_day
|
||||
order by O.OPEN_DAY";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
58
MBN_STOCK_N/Data/Request/봉차트/Candleforeign.cs
Normal file
58
MBN_STOCK_N/Data/Request/봉차트/Candleforeign.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class Candleforeign : ACandleData
|
||||
{
|
||||
public Candleforeign(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 지수
|
||||
|
||||
//this.queryIndexNow = @"select distinct a.f_input_name name, b.F_xYMD, round(b.f_last,2) part_idx, b.f_sign chg_type,
|
||||
//ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
//from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
//where a.f_symb = b.f_symb
|
||||
// and a.f_input_name like '{0}'
|
||||
// and b.f_fdtc = '0'";
|
||||
|
||||
this.queryIndexNow = @"select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type,
|
||||
ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_input_name like '{0}'
|
||||
and b.f_fdtc in ('0', '1')";
|
||||
|
||||
this.queryIndexLast = @"select name, F_xYMD ymd, part_idx, chg_type, part_chg, rate, high, open, low
|
||||
from(select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type,
|
||||
b.f_high high, b.f_open open, b.f_low low,
|
||||
ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_his b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_input_name like '{1}'
|
||||
and b.f_fdtc in ( '0','1')
|
||||
order by b.F_xYMD desc)
|
||||
where rownum <= {0} order by ymd asc";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
54
MBN_STOCK_N/Data/Request/봉차트/CandleforeignStock.cs
Normal file
54
MBN_STOCK_N/Data/Request/봉차트/CandleforeignStock.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request.봉차트
|
||||
{
|
||||
internal class CandleforeignStock : ACandleData
|
||||
{
|
||||
public CandleforeignStock(DBDefine.봉차트세부종목 recvDataType, DBDefine.데이터기간 recvDataLength, string recvStockCode) : base(recvDataType, recvDataLength)
|
||||
{
|
||||
|
||||
this.mStockCode = recvStockCode;
|
||||
|
||||
}
|
||||
|
||||
protected override void setQuery()
|
||||
{
|
||||
|
||||
#region 종목
|
||||
|
||||
|
||||
|
||||
this.queryIndexNow = @"select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type,
|
||||
ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_input_name like '{0}'
|
||||
and b.f_fdtc = '1'";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
this.queryIndexLast = @"select name, F_xYMD ymd, part_idx, chg_type, part_chg, rate, high, open, low
|
||||
from(select distinct a.f_input_name name, b.F_xYMD, round(b.f_last, 2) part_idx, b.f_sign chg_type,
|
||||
b.f_high high, b.f_open open, b.f_low low,
|
||||
ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_his b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_input_name like '{1}'
|
||||
and b.f_fdtc = '1'
|
||||
order by b.F_xYMD desc)
|
||||
where rownum <= {0} order by ymd asc";
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
65
MBN_STOCK_N/Data/Request/사각형그래프/Square20.cs
Normal file
65
MBN_STOCK_N/Data/Request/사각형그래프/Square20.cs
Normal file
@@ -0,0 +1,65 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Square20 : ADataObject
|
||||
{
|
||||
|
||||
|
||||
public Square20(국내시장종류 recvMarketType)
|
||||
{
|
||||
this.mMarketType = recvMarketType;
|
||||
}
|
||||
|
||||
private 국내시장종류 mMarketType;
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryKOSPI = @"select b.f_part_name, a.F_PART_IDX/100 part_idx, a.F_CHG_TYPE, a.F_PART_CHG/100 part_chg,
|
||||
round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100),
|
||||
'-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate
|
||||
from t_index a, t_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and a.f_part_code in('013', '009', '011', '016', '018',
|
||||
'021', '008', '020', '007', '012','015', '005', '014', '006', '019') order by a.f_part_code";
|
||||
|
||||
|
||||
string queryKOSDAQ = @"select b.f_part_name, a.F_PART_IDX/100 part_idx, a.F_CHG_TYPE, a.F_PART_CHG/100 part_chg,
|
||||
round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100),
|
||||
'-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate
|
||||
from t_kosdaq_index a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code
|
||||
and a.f_part_code in('066', '159', '154', '160', '065',
|
||||
'031', '029', '070', '026', '024',
|
||||
'041', '056', '153', '027', '062') order by a.f_part_code";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (this.mMarketType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
bufQuery = queryKOSPI;
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
bufQuery = queryKOSDAQ;
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
105
MBN_STOCK_N/Data/Request/선그래프/Exchange.cs
Normal file
105
MBN_STOCK_N/Data/Request/선그래프/Exchange.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// 환율선그래프관련 DB데이터 쿼리매핑 오브젝트.
|
||||
///
|
||||
/// 오늘데이터를 가져오는 쿼리와 기존 데이터 목록을 가져오는 쿼리가 각각 정리되어있다.
|
||||
/// 선그래프등의 여러 데이터를 가져와야하는 쿼리의 경우 해당 쿼리를 union하여 더해서 리턴한다.
|
||||
/// </summary>
|
||||
internal class Exchange : ADataObject
|
||||
{
|
||||
|
||||
public Exchange(환율 recvDataType, 데이터기간 recvDataLength)
|
||||
{
|
||||
|
||||
this.dataType = recvDataType;
|
||||
this.dataLenght = recvDataLength;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 환율데이터 종류
|
||||
/// </summary>
|
||||
private 환율 dataType;
|
||||
|
||||
/// <summary>
|
||||
/// 가져올 데이터 기간
|
||||
/// </summary>
|
||||
private 데이터기간 dataLenght;
|
||||
|
||||
/// <summary>
|
||||
/// 누적데이터 쿼리
|
||||
/// </summary>
|
||||
const string queryLast = @"select
|
||||
a.f_data_day data_day,
|
||||
a.f_input_code input_code,
|
||||
b.f_input_name,
|
||||
a.f_curr_price curr_price,
|
||||
a.F_net_CHG net_chg,
|
||||
a.f_chg_type chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - a.f_net_chg), '', (a.f_curr_price), '-', (a.f_curr_price + a.f_net_chg), 1)) * 100, 2) rate
|
||||
from t_week_index a, t_input_code b
|
||||
where a.f_input_code = b.f_input_code
|
||||
and a.f_input_code = '{0}'
|
||||
and a.f_data_day in (
|
||||
select open_day
|
||||
from (
|
||||
select open_day
|
||||
from v_open_day
|
||||
minus
|
||||
select f_data_day data_day
|
||||
from t_input_index
|
||||
where f_input_code = '{0}'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {1}
|
||||
)
|
||||
";
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
const string queryToday = @"SELECT
|
||||
a.f_data_day data_day,
|
||||
a.f_input_code input_code,
|
||||
b.f_input_name input_name,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg,
|
||||
a.f_chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - a.f_net_chg), '', (a.f_curr_price), '-', (a.f_curr_price + a.f_net_chg), 1)) * 100, 2) rate
|
||||
FROM t_input_index a, t_input_code b
|
||||
WHERE a.f_input_code = b.f_input_code
|
||||
AND a.f_input_code = '{0}'
|
||||
order by data_day desc
|
||||
";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
if (dataLenght != 데이터기간.일)
|
||||
{
|
||||
|
||||
bufQuery += String.Format(queryLast, dataType.GetStringValue(), dataLenght.GetStringValue());
|
||||
|
||||
bufQuery += " union ";
|
||||
|
||||
}
|
||||
|
||||
bufQuery += String.Format(queryToday, dataType.GetStringValue());
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
117
MBN_STOCK_N/Data/Request/선그래프/IndexIndustryYield.cs
Normal file
117
MBN_STOCK_N/Data/Request/선그래프/IndexIndustryYield.cs
Normal file
@@ -0,0 +1,117 @@
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
internal class IndexIndustryYield : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="recvStockName"></param>
|
||||
/// <param name="recvDataLength"></param>
|
||||
public IndexIndustryYield(string recvIndustryCode, 데이터기간 recvDataLength, 국내시장종류 recvMarketType)
|
||||
{
|
||||
this.mIndustryCode = recvIndustryCode;
|
||||
this.mDataLength = recvDataLength;
|
||||
this.mMarketType = recvMarketType;
|
||||
}
|
||||
|
||||
private string mIndustryCode = "";
|
||||
|
||||
private 데이터기간 mDataLength;
|
||||
|
||||
private 국내시장종류 mMarketType;
|
||||
|
||||
const string queryKOSPI = @"select
|
||||
substr(f_data_time, 1,8) data_day,
|
||||
f_part_idx/100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG/100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate
|
||||
from t_index_his
|
||||
where f_part_code = '{0}'
|
||||
and Rtrim(f_data_time) in (
|
||||
select open_day || '1535'
|
||||
from (
|
||||
select open_day from v_open_day
|
||||
where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {1}
|
||||
)
|
||||
UNION
|
||||
select
|
||||
substr(f_data_time, 1, 8) data_day,
|
||||
f_part_idx / 100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG / 100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate
|
||||
from t_index
|
||||
where f_part_code = '{0}'
|
||||
order by data_day desc";
|
||||
|
||||
|
||||
|
||||
const string queryKOSDAQ = @"select
|
||||
substr(f_data_time, 1,8) data_day,
|
||||
f_part_idx/100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG/100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate
|
||||
from t_kosdaq_index_his
|
||||
where f_part_code = '{0}'
|
||||
and Rtrim(f_data_time) in (
|
||||
select open_day || '1535'
|
||||
from (
|
||||
select open_day from v_open_day
|
||||
where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_kosdaq_index
|
||||
where f_part_code = '001'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {1}
|
||||
)
|
||||
UNION
|
||||
select
|
||||
substr(f_data_time, 1, 8) data_day,
|
||||
f_part_idx / 100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG / 100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg))) * 100, 2) rate
|
||||
from t_kosdaq_index
|
||||
where f_part_code = '{0}'
|
||||
order by data_day desc";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
string bufQuery = string.Empty;
|
||||
|
||||
if (mMarketType == 국내시장종류.KOSPI)
|
||||
{
|
||||
bufQuery = String.Format(queryKOSPI, this.mIndustryCode, this.mDataLength.GetStringValue());
|
||||
}
|
||||
else
|
||||
{
|
||||
bufQuery = String.Format(queryKOSDAQ, this.mIndustryCode, this.mDataLength.GetStringValue());
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
312
MBN_STOCK_N/Data/Request/선그래프/IndexYield.cs
Normal file
312
MBN_STOCK_N/Data/Request/선그래프/IndexYield.cs
Normal file
@@ -0,0 +1,312 @@
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
internal class IndexYield : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="recvStockName"></param>
|
||||
/// <param name="recvDataLength"></param>
|
||||
public IndexYield(데이터기간 recvDataLength, 국내지수종류 recvIndexType)
|
||||
{
|
||||
this.mDataLength = recvDataLength;
|
||||
this.mIndexType = recvIndexType;
|
||||
}
|
||||
|
||||
private 데이터기간 mDataLength;
|
||||
|
||||
private 국내지수종류 mIndexType;
|
||||
|
||||
//const string queryKOSPI = @"select
|
||||
// substr(f_data_time, 1,8) data_day,
|
||||
// f_part_idx/100 curr_price,
|
||||
// f_chg_type chg_type,
|
||||
// F_PART_CHG/100 net_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// from t_index_his
|
||||
// where f_part_code = '001'
|
||||
// and Rtrim(f_data_time) in(
|
||||
// select open_day || '1535'
|
||||
// from (
|
||||
// select open_day
|
||||
// from v_open_day
|
||||
// where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
// minus
|
||||
// select substr(f_data_time, 1, 8) data_day
|
||||
// from t_index
|
||||
// where f_part_code = '001'
|
||||
// order by open_day desc
|
||||
// )
|
||||
// where rownum < {0}
|
||||
// )
|
||||
// UNION
|
||||
// select
|
||||
// substr(f_data_time, 1, 8) data_day,
|
||||
// f_part_idx / 100 curr_price,
|
||||
// f_chg_type chg_type,
|
||||
// F_PART_CHG / 100 net_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// from t_index
|
||||
// where f_part_code = '001'
|
||||
// order by data_day desc";
|
||||
|
||||
const string queryKOSPI = @"select
|
||||
f_data_day data_day,
|
||||
f_part_idx/100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG/100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
from t_index_his_day
|
||||
where f_part_code = '001'
|
||||
and Rtrim(f_data_day) in(
|
||||
select open_day
|
||||
from (
|
||||
select open_day
|
||||
from v_open_day
|
||||
where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {0}
|
||||
)
|
||||
UNION
|
||||
select
|
||||
substr(f_data_time, 1, 8) data_day,
|
||||
f_part_idx / 100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG / 100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by data_day desc";
|
||||
|
||||
//const string queryKOSDAQ = @"select
|
||||
// substr(f_data_time, 1,8) data_day,
|
||||
// f_part_idx/100 curr_price,
|
||||
// f_chg_type chg_type,
|
||||
// F_PART_CHG/100 net_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// from t_kosdaq_index_his
|
||||
// where f_part_code = '001'
|
||||
// and Rtrim(f_data_time) in (
|
||||
// select open_day || '1535'
|
||||
// from (
|
||||
// select open_day from v_open_day
|
||||
// where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
// minus
|
||||
// select substr(f_data_time, 1, 8) data_day
|
||||
// from t_kosdaq_index
|
||||
// where f_part_code = '001'
|
||||
// order by open_day desc
|
||||
// )
|
||||
// where rownum < {0}
|
||||
// )
|
||||
// UNION
|
||||
// select
|
||||
// substr(f_data_time, 1, 8) data_day,
|
||||
// f_part_idx / 100 curr_price,
|
||||
// f_chg_type chg_type,
|
||||
// F_PART_CHG / 100 net_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// from t_kosdaq_index
|
||||
// where f_part_code = '001'
|
||||
// order by data_day desc";
|
||||
const string queryKOSDAQ = @"select
|
||||
f_data_day data_day,
|
||||
f_part_idx/100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG/100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
from t_kosdaq_index_his_day
|
||||
where f_part_code = '001'
|
||||
and Rtrim(f_data_day) in (
|
||||
select open_day
|
||||
from (
|
||||
select open_day from v_open_day
|
||||
where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_kosdaq_index
|
||||
where f_part_code = '001'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {0}
|
||||
)
|
||||
UNION
|
||||
select
|
||||
substr(f_data_time, 1, 8) data_day,
|
||||
f_part_idx / 100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG / 100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
from t_kosdaq_index
|
||||
where f_part_code = '001'
|
||||
order by data_day desc";
|
||||
|
||||
//const string queryKOSPI200 = @"select
|
||||
// substr(f_data_time, 1,8) data_day,
|
||||
// f_part_idx/100 curr_price,
|
||||
// f_chg_type chg_type,
|
||||
// F_PART_CHG/100 net_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// from T_200_INDEX_his
|
||||
// where f_part_code = '029'
|
||||
// and Rtrim(f_data_time) in (
|
||||
// select open_day || '1535'
|
||||
// from (
|
||||
// select open_day from v_open_day
|
||||
// where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
// minus
|
||||
// select substr(f_data_time, 1, 8) data_day
|
||||
// from t_200_index
|
||||
// where f_part_code = '029'
|
||||
// order by open_day desc
|
||||
// )
|
||||
// where rownum < {0}
|
||||
// )
|
||||
// UNION
|
||||
// SELECT
|
||||
// substr(f_data_time, 1, 8) data_day,
|
||||
// f_part_idx / 100 part_idx,
|
||||
// f_chg_type chg_type,
|
||||
// f_part_chg / 100 part_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// FROM T_200_INDEX
|
||||
// WHERE f_part_code = '029'
|
||||
// order by data_day desc";
|
||||
const string queryKOSPI200 = @"select
|
||||
f_data_day data_day,
|
||||
f_part_idx/100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG/100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
from T_200_INDEX_his_day
|
||||
where f_part_code = '029'
|
||||
and Rtrim(f_data_day) in (
|
||||
select open_day
|
||||
from (
|
||||
select open_day from v_open_day
|
||||
where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_200_index
|
||||
where f_part_code = '029'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {0}
|
||||
)
|
||||
UNION
|
||||
SELECT
|
||||
substr(f_data_time, 1, 8) data_day,
|
||||
f_part_idx / 100 part_idx,
|
||||
f_chg_type chg_type,
|
||||
f_part_chg / 100 part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
FROM T_200_INDEX
|
||||
WHERE f_part_code = '029'
|
||||
order by data_day desc";
|
||||
|
||||
//const string queryKRX100 = @"select
|
||||
// substr(f_data_time, 1,8) data_day,
|
||||
// f_part_idx/100 curr_price,
|
||||
// f_chg_type chg_type,
|
||||
// F_PART_CHG/100 net_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// from T_KRX100_INDEX_his
|
||||
// where f_part_code = '043'
|
||||
// and Rtrim(f_data_time) in (
|
||||
// select open_day || '1535'
|
||||
// from (
|
||||
// select open_day from v_open_day
|
||||
// where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
// minus
|
||||
// select substr(f_data_time, 1, 8) data_day
|
||||
// from t_krx100_index
|
||||
// where f_part_code = '043'
|
||||
// order by open_day desc
|
||||
// )
|
||||
// where rownum < {0}
|
||||
// )
|
||||
// UNION
|
||||
// SELECT
|
||||
// substr(f_data_time, 1, 8) data_day,
|
||||
// f_part_idx / 100 part_idx,
|
||||
// f_chg_type chg_type,
|
||||
// f_part_chg / 100 part_chg,
|
||||
// round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
// FROM T_KRX100_INDEX
|
||||
// WHERE f_part_code = '043'
|
||||
// order by data_day desc";
|
||||
|
||||
const string queryKRX100 = @"select
|
||||
f_data_day data_day,
|
||||
f_part_idx/100 curr_price,
|
||||
f_chg_type chg_type,
|
||||
F_PART_CHG/100 net_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
from T_KRX100_INDEX_his_day
|
||||
where f_part_code = '043'
|
||||
and f_data_day in (
|
||||
select open_day
|
||||
from (
|
||||
select open_day from v_open_day
|
||||
where open_day <> to_char(sysdate, 'yyyymmdd')
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_krx100_index
|
||||
where f_part_code = '043'
|
||||
order by open_day desc
|
||||
)
|
||||
where rownum < {0}
|
||||
)
|
||||
UNION
|
||||
SELECT
|
||||
substr(f_data_time, 1, 8) data_day,
|
||||
f_part_idx / 100 part_idx,
|
||||
f_chg_type chg_type,
|
||||
f_part_chg / 100 part_chg,
|
||||
round((f_part_chg / decode(f_chg_type, '+', (f_part_idx - f_part_chg), '-', (f_part_idx + f_part_chg),1)) * 100, 2) rate
|
||||
FROM T_KRX100_INDEX
|
||||
WHERE f_part_code = '043'
|
||||
order by data_day desc";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
string bufQuery = string.Empty;
|
||||
|
||||
if (mIndexType == 국내지수종류.KOSPI)
|
||||
{
|
||||
bufQuery = String.Format(queryKOSPI, this.mDataLength.GetStringValue());
|
||||
}
|
||||
else if (mIndexType == 국내지수종류.KOSDAQ)
|
||||
{
|
||||
bufQuery = String.Format(queryKOSDAQ, this.mDataLength.GetStringValue());
|
||||
}
|
||||
else if (mIndexType == 국내지수종류.KOSPI200)
|
||||
{
|
||||
bufQuery = String.Format(queryKOSPI200, this.mDataLength.GetStringValue());
|
||||
}
|
||||
else if (mIndexType == 국내지수종류.KRX100)
|
||||
{
|
||||
bufQuery = String.Format(queryKRX100, this.mDataLength.GetStringValue());
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
128
MBN_STOCK_N/Data/Request/선그래프/StockYield.cs
Normal file
128
MBN_STOCK_N/Data/Request/선그래프/StockYield.cs
Normal file
@@ -0,0 +1,128 @@
|
||||
using MMoneyCoderSharp.DB;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.Data.Request
|
||||
{
|
||||
internal class StockYield : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="recvStockName"></param>
|
||||
/// <param name="recvDataLength"></param>
|
||||
public StockYield(string recvStockNameKorean, 데이터기간 recvDataLength, 국내시장종류 recvMarketType)
|
||||
{
|
||||
if (recvStockNameKorean == "" || recvStockNameKorean == null)
|
||||
{
|
||||
throw new Exception("선그래프, 종목수익률, 종목명이 없음");
|
||||
}
|
||||
|
||||
this.mStockNameKorean = recvStockNameKorean;
|
||||
this.mDataLength = recvDataLength;
|
||||
this.mMarketType = recvMarketType;
|
||||
}
|
||||
|
||||
private string mStockNameKorean = "";
|
||||
|
||||
private 데이터기간 mDataLength;
|
||||
|
||||
private 국내시장종류 mMarketType;
|
||||
|
||||
const string queryKOSPI = @"select O.open_day data_day , X.curr_price, X.chg_type,
|
||||
X.rate, X.net_chg, X.f_stock_wanname
|
||||
from(select a.f_stock_code, a.f_data_date data_day, a.f_curr_price curr_price, a.f_chg_type chg_type, a.F_net_CHG net_chg,
|
||||
b.f_stock_wanname,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
from t_candle_history a, t_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{0}'
|
||||
and b.f_mkt_halt = 'N') X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by open_day desc)
|
||||
where rownum< {1}) O
|
||||
where X.data_day(+) = o.open_day
|
||||
UNION
|
||||
select(select substr(f_data_time, 1, 8) data_day from t_index where f_part_code = '001') data_day,
|
||||
a.f_curr_price curr_price, a.f_chg_type chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate,
|
||||
a.F_net_CHG net_chg, b.f_stock_wanname
|
||||
from t_online1 a, t_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{0}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by data_day desc";
|
||||
|
||||
const string queryKOSDAQ = @"select O.open_day data_day , X.curr_price, X.chg_type,
|
||||
X.rate, X.net_chg, X.f_stock_wanname
|
||||
from(select a.f_stock_code, a.f_data_date data_day, a.f_curr_price curr_price, a.f_chg_type chg_type, a.F_net_CHG net_chg,
|
||||
b.f_stock_wanname,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
from t_kosdaq_candle_history a, t_kosdaq_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{0}'
|
||||
and b.f_mkt_halt = 'N') X,
|
||||
(select open_day from(select open_day from v_open_day
|
||||
minus
|
||||
select substr(f_data_time, 1, 8) data_day
|
||||
from t_index
|
||||
where f_part_code = '001'
|
||||
order by open_day desc)
|
||||
where rownum < {1}) O
|
||||
where X.data_day(+) = o.open_day
|
||||
UNION
|
||||
select(select substr(f_data_time, 1, 8) data_day from t_index where f_part_code = '001') data_day,
|
||||
a.f_curr_price curr_price, a.f_chg_type chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate,
|
||||
a.F_net_CHG net_chg, b.f_stock_wanname
|
||||
from t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname = '{0}'
|
||||
and b.f_mkt_halt = 'N'
|
||||
order by data_day desc";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
string bufQuery = string.Empty;
|
||||
|
||||
if (mMarketType == 국내시장종류.KOSPI)
|
||||
{
|
||||
bufQuery = String.Format(queryKOSPI, this.mStockNameKorean, this.mDataLength.GetStringValue());
|
||||
}
|
||||
else
|
||||
{
|
||||
bufQuery = String.Format(queryKOSDAQ, this.mStockNameKorean, this.mDataLength.GetStringValue());
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
296
MBN_STOCK_N/Data/Request/선그래프/Trading.cs
Normal file
296
MBN_STOCK_N/Data/Request/선그래프/Trading.cs
Normal file
@@ -0,0 +1,296 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// 10번컷
|
||||
/// </summary>
|
||||
internal class Trading : ADataObject
|
||||
{
|
||||
|
||||
|
||||
public Trading(선그래프데이터분류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
}
|
||||
|
||||
private 선그래프데이터분류 mDataType;
|
||||
|
||||
#region 개인쿼리
|
||||
|
||||
string queryRetailNumber = @"select
|
||||
'코스피' name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000) amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE = '8000'
|
||||
UNION
|
||||
select
|
||||
'코스닥' name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE = '8000'
|
||||
union
|
||||
select
|
||||
'코스피200' name,
|
||||
round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE = '8000'";
|
||||
|
||||
string queryRetailGraph = @"select
|
||||
'코스피' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((F_SELL_turnover - F_BUY_turnover) / 100000000) price
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE = '8000'
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
union
|
||||
select
|
||||
'코스닥' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((F_SELL_turnover - F_BUY_turnover) / 100000000) price
|
||||
from t_kosdaq_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE = '8000'
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
union
|
||||
select
|
||||
'코스피200' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((F_SELL_turnover - F_BUY_turnover) / 100000000) price
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE = '8000'
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
order by f_name, f_data_time";
|
||||
|
||||
#endregion
|
||||
|
||||
#region "외국인"
|
||||
|
||||
string queryForgienNumber = @"select
|
||||
'코스피' name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000) amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('9000', '9001')
|
||||
UNION
|
||||
select
|
||||
'코스닥' name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('9000', '9001')
|
||||
union
|
||||
select
|
||||
'코스피200' name,
|
||||
round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE in('9000', '9001')";
|
||||
|
||||
string queryForgienGraph = @"select
|
||||
'코스피' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('9000', '9001')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time
|
||||
union
|
||||
select
|
||||
'코스닥' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price
|
||||
from t_kosdaq_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('9000', '9001')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time
|
||||
union
|
||||
select
|
||||
'코스피200' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE in('9000', '9001')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time
|
||||
order by f_name, f_data_time";
|
||||
|
||||
#endregion
|
||||
|
||||
#region "기관"
|
||||
|
||||
string queryInstitutionalNumber = @"select
|
||||
'코스피' f_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000) amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')
|
||||
group by f_part_code
|
||||
UNION
|
||||
select
|
||||
'코스닥' f_name,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) amt
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')
|
||||
group by f_part_code
|
||||
union
|
||||
select
|
||||
'코스피200' f_name,
|
||||
round((sum(F_SELL_turnover) / 100000000) - (sum(F_BUY_turnover) / 100000000)) as amt
|
||||
from t_invest
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')";
|
||||
|
||||
string queryInstitutionalGraph = @"select
|
||||
'코스피' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time
|
||||
union
|
||||
select
|
||||
'코스닥' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price
|
||||
from t_kosdaq_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time
|
||||
union
|
||||
select
|
||||
'코스피200' f_name,
|
||||
f_data_time f_data_time,
|
||||
round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000) price
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '029'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time
|
||||
order by f_name, f_data_time";
|
||||
|
||||
#endregion
|
||||
|
||||
#region "코스피"
|
||||
|
||||
string queryKOSPINumber = @"select
|
||||
sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000),0) ) ""개인"",
|
||||
sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) ""외국인"",
|
||||
sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) ""기관""
|
||||
from t_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by f_invest_code";
|
||||
|
||||
string queryKOSPIGraph = @"select
|
||||
f_data_time, sum(p_1) ""개인"",
|
||||
sum(p_2) ""외국인"",
|
||||
sum(p_3) ""기관""
|
||||
from(
|
||||
select
|
||||
f_data_time f_data_time,
|
||||
decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1,
|
||||
decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2,
|
||||
decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3
|
||||
from t_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time, f_invest_code
|
||||
)
|
||||
group by f_data_time
|
||||
order by f_data_time";
|
||||
|
||||
#endregion
|
||||
|
||||
#region "코스닥"
|
||||
|
||||
string queryKOSDAQNumber = @"select
|
||||
sum(decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover))/100000000),0) ) ""개인"",
|
||||
sum(decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0)) ""외국인"",
|
||||
sum(decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000))) ""기관""
|
||||
from t_kosdaq_invest
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
group by f_invest_code";
|
||||
|
||||
string queryKOSDAQGraph = @"select
|
||||
f_data_time,
|
||||
sum(p_1) ""개인"",
|
||||
sum(p_2) ""외국인"",
|
||||
sum(p_3) ""기관""
|
||||
from(
|
||||
select
|
||||
f_data_time f_data_time,
|
||||
decode(f_invest_code, '8000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_1,
|
||||
decode(f_invest_code, '9000', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), '9001', round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000), 0) p_2,
|
||||
decode(f_invest_code, '8000', 0, '9000', 0, '9001', 0, round((sum(F_SELL_turnover) - sum(F_BUY_turnover)) / 100000000)) p_3
|
||||
from t_kosdaq_invest_his
|
||||
where F_PART_CODE = '001'
|
||||
and F_INVEST_CODE in('1000', '2000', '3000', '3100', '4000', '5000', '6000', '7000', '8000', '9000', '9001')
|
||||
and f_data_time like(select max(open_day) || '%' data_time from v_open_day)
|
||||
group by f_data_time, f_invest_code
|
||||
)
|
||||
group by f_data_time
|
||||
order by f_data_time";
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQueryNumber = "";
|
||||
|
||||
string bufQueryGraph = "";
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 선그래프데이터분류.개인매매동향:
|
||||
bufQueryNumber = queryRetailNumber;
|
||||
bufQueryGraph = queryRetailGraph;
|
||||
break;
|
||||
case 선그래프데이터분류.기관매매동향:
|
||||
bufQueryNumber = queryInstitutionalNumber;
|
||||
bufQueryGraph = queryInstitutionalGraph;
|
||||
break;
|
||||
case 선그래프데이터분류.외국인매매동향:
|
||||
bufQueryNumber = queryForgienNumber;
|
||||
bufQueryGraph = queryForgienGraph;
|
||||
break;
|
||||
case 선그래프데이터분류.코스피매매동향:
|
||||
bufQueryNumber = queryKOSPINumber;
|
||||
bufQueryGraph = queryKOSPIGraph;
|
||||
break;
|
||||
case 선그래프데이터분류.코스닥매매동향:
|
||||
bufQueryNumber = queryKOSDAQNumber;
|
||||
bufQueryGraph = queryKOSDAQGraph;
|
||||
break;
|
||||
default:
|
||||
throw new Exception("잘못 참조한 데이터(매매동향에 없는 데이터)");
|
||||
}
|
||||
|
||||
mRequestQuery.Add("현재지수", bufQueryNumber);
|
||||
mRequestQuery.Add("그래프데이터", bufQueryGraph);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
49
MBN_STOCK_N/Data/Request/지도데이터/MapAsia.cs
Normal file
49
MBN_STOCK_N/Data/Request/지도데이터/MapAsia.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class MapAsia : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"SELECT
|
||||
'한국' NAME,
|
||||
round(f_part_idx/100,2) curr_price,
|
||||
round(f_part_chg/100,2) net_chg,
|
||||
f_chg_type chg_type,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg)) * 100, 2) rate
|
||||
FROM t_index
|
||||
WHERE f_part_code = '001'
|
||||
UNION
|
||||
SELECT
|
||||
decode(f_symb, 'SHS@000001', '중국', 'HSI@HSI', '홍콩', 'NII@NI225', '일본', 'TWS@TI01', '대만') NAME,
|
||||
to_number(f_last) curr_price,
|
||||
to_number(f_diff) net_chg,
|
||||
f_sign chg_type,
|
||||
to_number(f_rate) rate
|
||||
FROM t_world_ix_eq_sise
|
||||
WHERE f_symb in('SHS@000001', 'HSI@HSI', 'NII@NI225', 'TWS@TI01')";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
40
MBN_STOCK_N/Data/Request/지도데이터/MapEurope.cs
Normal file
40
MBN_STOCK_N/Data/Request/지도데이터/MapEurope.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class MapEurope : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"SELECT
|
||||
decode(f_symb, 'LNS@FTSE100', '영국', 'XTR@DAX30', '독일', 'PAS@CAC40', '프랑스', 'ITI@FTSEMIB', '이탈리아') NAME,
|
||||
to_number(f_last) curr_price,
|
||||
to_number(f_diff) net_chg,
|
||||
f_sign chg_type,
|
||||
to_number(f_rate) rate
|
||||
FROM t_world_ix_eq_sise
|
||||
WHERE f_symb in('LNS@FTSE100', 'XTR@DAX30', 'PAS@CAC40', 'ITI@FTSEMIB')";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
40
MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs
Normal file
40
MBN_STOCK_N/Data/Request/지도데이터/MapUSA.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class MapUSA : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"SELECT
|
||||
decode(f_symb, 'DJI@DJI', '다우', 'NAS@IXIC', '나스닥', 'SPI@SPX', 'S&P') NAME,
|
||||
to_number(f_last) curr_price,
|
||||
to_number(f_diff) net_chg,
|
||||
f_sign chg_type,
|
||||
to_number(f_rate) rate
|
||||
FROM t_world_ix_eq_sise
|
||||
WHERE f_symb in('DJI@DJI', 'NAS@IXIC', 'SPI@SPX')";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
49
MBN_STOCK_N/Data/Request/지도데이터/MapWorld.cs
Normal file
49
MBN_STOCK_N/Data/Request/지도데이터/MapWorld.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class MapWorld : ADataObject
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"SELECT
|
||||
'한국' NAME,
|
||||
round(f_part_idx / 100, 2) curr_price,
|
||||
round(f_part_chg / 100, 2) net_chg,
|
||||
f_chg_type chg_type,
|
||||
round((f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg, '-', f_part_idx + f_part_chg)) * 100, 2) rate
|
||||
FROM t_index
|
||||
WHERE f_part_code = '001'
|
||||
UNION
|
||||
SELECT
|
||||
decode(f_symb, 'SHS@000001', '중국', 'HSI@HSI', '홍콩', 'NII@NI225', '일본', 'TWS@TI01', '대만', 'DJI@DJI', '다우', 'NAS@IXIC', '나스닥', 'SPI@SPX', 'S&P', 'LNS@FTSE100', '영국', 'XTR@DAX30', '독일', 'PAS@CAC40', '프랑스') NAME,
|
||||
to_number(f_last) curr_price,
|
||||
to_number(f_diff) net_chg,
|
||||
f_sign chg_type,
|
||||
to_number(f_rate) rate
|
||||
FROM t_world_ix_eq_sise
|
||||
WHERE f_symb in('SHS@000001', 'HSI@HSI', 'NII@NI225', 'TWS@TI01', 'DJI@DJI', 'NAS@IXIC', 'SPI@SPX', 'LNS@FTSE100', 'XTR@DAX30', 'PAS@CAC40')";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
88
MBN_STOCK_N/Data/Request/판5단/ETF.cs
Normal file
88
MBN_STOCK_N/Data/Request/판5단/ETF.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class ETF : ADataObject
|
||||
{
|
||||
|
||||
internal ETF(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
b.f_list_num * a.f_curr_price sigachong,
|
||||
round((a.f_net_chg/decode(a.f_chg_type,'1', (a.f_curr_price-a.f_net_chg),
|
||||
'2', (a.f_curr_price-a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price+a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price+a.f_net_chg)) ) * 100,2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price <> 0
|
||||
AND f_sect_code = 'EF'
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
b.f_stock_code,
|
||||
b.f_stock_wanname,
|
||||
d.f_curr_price,
|
||||
d.f_chg_type,
|
||||
d.f_net_chg,
|
||||
round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
'2', d.f_curr_price - d.f_net_chg,
|
||||
'3', d.f_curr_price,
|
||||
'4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
'5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
from (
|
||||
select f_stock_code, max(f_low_price) f_low_price
|
||||
from t_kosdaq_candle_history
|
||||
where f_data_date between '{0}' and '{1}'
|
||||
group by f_stock_code) a,
|
||||
t_kosdaq_stock b, t_kosdaq_online1 d
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and d.f_mkt_halt = 'N'
|
||||
and d.f_curr_price > 0
|
||||
and a.f_stock_code = d.f_stock_code
|
||||
and a.f_low_price <= d.f_low_price order by rate desc";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
73
MBN_STOCK_N/Data/Request/판5단/Nxt_capital_5dan.cs
Normal file
73
MBN_STOCK_N/Data/Request/판5단/Nxt_capital_5dan.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_capital_5dan : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_capital_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
//
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
b.f_list_num * a.f_curr_price sigachong,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_online a, n_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
b.f_list_num * a.f_curr_price sigachong,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSPI);
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
80
MBN_STOCK_N/Data/Request/판5단/Nxt_high_overtime_5dan.cs
Normal file
80
MBN_STOCK_N/Data/Request/판5단/Nxt_high_overtime_5dan.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_high_overtime_5dan : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_high_overtime_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
|
||||
string queryNXT_KOSPI = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_NAME wanname, a.f_net_chg net_chg, a.f_chg_type chg_type, a.f_curr_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_overtime a, n_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in ('1', '2')
|
||||
ORDER BY rate DESC";
|
||||
|
||||
|
||||
string queryNXT_KOSDAQ = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_kosdaq_overtime a, n_kosdaq_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in ('1', '2')
|
||||
ORDER BY rate DESC";
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSPI);
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
75
MBN_STOCK_N/Data/Request/판5단/Nxt_low_overtime_5dan.cs
Normal file
75
MBN_STOCK_N/Data/Request/판5단/Nxt_low_overtime_5dan.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_low_overtime_5dan : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_low_overtime_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type, a.f_curr_price, a.f_init_price, a.f_high_price, a.f_low_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_overtime a, n_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname, a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type, a.f_curr_price, a.f_init_price, a.f_high_price, a.f_low_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_kosdaq_overtime a, n_kosdaq_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSPI);
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
79
MBN_STOCK_N/Data/Request/판5단/Nxt_lower_5dan.cs
Normal file
79
MBN_STOCK_N/Data/Request/판5단/Nxt_lower_5dan.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_lower_5dan : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_lower_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type, a.f_curr_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_online a, n_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
|
||||
string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type, a.f_curr_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSPI);
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
79
MBN_STOCK_N/Data/Request/판5단/Nxt_upper_5dan.cs
Normal file
79
MBN_STOCK_N/Data/Request/판5단/Nxt_upper_5dan.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_upper_5dan : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_upper_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_online a, n_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in('1', '2')
|
||||
ORDER BY rate DESC";
|
||||
|
||||
|
||||
|
||||
string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
AND a.f_chg_type in('1', '2')
|
||||
ORDER BY rate DESC";
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSPI);
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
77
MBN_STOCK_N/Data/Request/판5단/Nxt_vol_5dan.cs
Normal file
77
MBN_STOCK_N/Data/Request/판5단/Nxt_vol_5dan.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_vol_5dan : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_vol_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryNXT_KOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
a.f_curr_price, a.f_net_vol,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_online a, n_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
ORDER BY a.F_NET_VOL desc ";
|
||||
|
||||
|
||||
|
||||
string queryNXT_KOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_NAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
a.f_curr_price, a.f_net_vol,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock b
|
||||
WHERE b.f_stop_gubun = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price != 0
|
||||
ORDER BY a.F_NET_VOL desc";
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSPI);
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
Nxt_mRequestQuery.Add("", queryNXT_KOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
114
MBN_STOCK_N/Data/Request/판5단/capital_5dan.cs
Normal file
114
MBN_STOCK_N/Data/Request/판5단/capital_5dan.cs
Normal file
@@ -0,0 +1,114 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class capital_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal capital_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
//
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
// string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
// a.f_curr_price curr_price,
|
||||
// a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
// b.f_list_num * a.f_curr_price sigachong,
|
||||
// round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
// '2', (a.f_curr_price - a.f_net_chg),
|
||||
// '3', (a.f_curr_price),
|
||||
// '4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
// '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
// FROM t_online1 a, t_stock b
|
||||
// WHERE b.f_mkt_halt = 'N'
|
||||
// AND b.f_stock_nickname is not null
|
||||
// AND a.f_stock_code = b.f_stock_code
|
||||
//AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
// AND a.f_curr_price < > 0
|
||||
// ORDER BY sigachong DESC";
|
||||
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
b.f_list_num * a.f_curr_price sigachong,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND a.f_curr_price < > 0
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
|
||||
|
||||
// string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
// a.f_curr_price curr_price,
|
||||
// a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
// b.f_list_num * a.f_curr_price sigachong,
|
||||
// round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
// '2', (a.f_curr_price - a.f_net_chg),
|
||||
// '3', (a.f_curr_price),
|
||||
// '4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
// '5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
// FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
// WHERE b.f_mkt_halt = 'N'
|
||||
// AND b.f_stock_nickname is not null
|
||||
// AND a.f_stock_code = b.f_stock_code
|
||||
//AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
// AND a.f_curr_price < > 0
|
||||
// ORDER BY sigachong DESC";
|
||||
string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
b.f_list_num * a.f_curr_price sigachong,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND a.f_curr_price < > 0
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
116
MBN_STOCK_N/Data/Request/판5단/capital_forecast_5dan.cs
Normal file
116
MBN_STOCK_N/Data/Request/판5단/capital_forecast_5dan.cs
Normal file
@@ -0,0 +1,116 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class capital_forecast_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal capital_forecast_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_fore_price curr_price,
|
||||
ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
b.F_LIST_NUM * a.f_fore_price sigachong,
|
||||
round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2) rate
|
||||
FROM t_online1_call a, t_stock b, t_batch_day c
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_fore_price <> 0
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
//////// string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code,
|
||||
//////// b.F_STOCK_WANNAME wanname,
|
||||
//////// a.f_fore_price curr_price,
|
||||
//////// ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
//////// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
//////// CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
//////// b.F_LIST_NUM * a.f_fore_price sigachong,
|
||||
//////// ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2)) rate
|
||||
//////// FROM t_online1 a, t_stock b, t_batch_day c
|
||||
//////// WHERE b.f_mkt_halt = 'N'
|
||||
//////// AND b.f_stock_nickname is not null
|
||||
//////// AND a.f_stock_code = b.f_stock_code
|
||||
//////// AND a.f_fore_price <> 0
|
||||
////////AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
//////// AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
//////// ORDER BY sigachong DESC";
|
||||
|
||||
|
||||
string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_fore_price curr_price,
|
||||
ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
b.F_LIST_NUM * a.f_fore_price sigachong,
|
||||
round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2) rate
|
||||
FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_fore_price < > 0
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
//// string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code,
|
||||
//// b.F_STOCK_WANNAME wanname,
|
||||
//// a.f_fore_price curr_price,
|
||||
//// ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
//// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
//// CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
//// b.F_LIST_NUM * a.f_fore_price sigachong,
|
||||
//// round(((a.f_fore_price - c.f_final_price) / c.f_final_price)* 100, 2) rate
|
||||
//// FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c
|
||||
//// WHERE b.f_mkt_halt = 'N'
|
||||
//// AND b.f_stock_nickname is not null
|
||||
//// AND a.f_stock_code = b.f_stock_code
|
||||
//// AND a.f_fore_price < > 0
|
||||
////AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
//// AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
//// ORDER BY sigachong DESC";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
101
MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs
Normal file
101
MBN_STOCK_N/Data/Request/판5단/high52_5dan.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class high52_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal high52_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI = @"select
|
||||
b.f_stock_code,
|
||||
b.f_stock_wanname,
|
||||
d.f_curr_price,
|
||||
d.f_chg_type,
|
||||
d.f_net_chg,
|
||||
round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
'2', d.f_curr_price - d.f_net_chg,
|
||||
'3', d.f_curr_price,
|
||||
'4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
'5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
from
|
||||
(select f_stock_code, max(f_high_price) f_high_price
|
||||
from t_candle_history
|
||||
where f_data_date between '{0}' and '{1}'
|
||||
group by f_stock_code) a,
|
||||
t_stock b, t_online1 d
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and d.f_mkt_halt = 'N'
|
||||
and d.f_curr_price > 0
|
||||
and a.f_stock_code = d.f_stock_code
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
and a.f_high_price <= d.f_high_price order by rate desc";
|
||||
|
||||
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
b.f_stock_code,
|
||||
b.f_stock_wanname,
|
||||
d.f_curr_price,
|
||||
d.f_chg_type,
|
||||
d.f_net_chg,
|
||||
round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
'2', d.f_curr_price - d.f_net_chg,
|
||||
'3', d.f_curr_price,
|
||||
'4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
'5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
from (
|
||||
select f_stock_code, max(f_high_price) f_high_price
|
||||
from t_kosdaq_candle_history
|
||||
where f_data_date between '{0}' and '{1}'
|
||||
group by f_stock_code) a,
|
||||
t_kosdaq_stock b, t_kosdaq_online1 d
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and d.f_mkt_halt = 'N'
|
||||
and d.f_curr_price > 0
|
||||
and a.f_stock_code = d.f_stock_code
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
and a.f_high_price <= d.f_high_price order by rate desc";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufStartDay = DateTime.Now.ToString("yyyyMMdd");
|
||||
string bufEndDay = (DateTime.Now - TimeSpan.FromDays(52*7)).ToString("yyyyMMdd");
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", string.Format(queryKOSPI, bufEndDay, bufStartDay));
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", string.Format(queryKOSDAQ, bufEndDay, bufStartDay));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
119
MBN_STOCK_N/Data/Request/판5단/high_overtime_5dan.cs
Normal file
119
MBN_STOCK_N/Data/Request/판5단/high_overtime_5dan.cs
Normal file
@@ -0,0 +1,119 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class high_overtime_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal high_overtime_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
//string queryKOSPI = @"SELECT DISTINCT
|
||||
// b.f_stock_code stock_code,
|
||||
// b.F_STOCK_WANNAME wanname,
|
||||
// a.f_net_chg net_chg,
|
||||
// a.f_chg_type chg_type,
|
||||
// a.f_curr_price,
|
||||
// round((a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, '2', a.f_curr_price - a.f_net_chg)) * 100, 2) rate
|
||||
// FROM t_overtime_sise a, t_stock b
|
||||
// WHERE b.f_mkt_halt = 'N'
|
||||
// AND b.f_stock_nickname is not null
|
||||
// AND a.f_stock_code = b.f_stock_code
|
||||
// AND a.f_curr_price < > 0
|
||||
// AND a.f_chg_type in('1', '2')
|
||||
// AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
// ORDER BY rate DESC";
|
||||
|
||||
string queryKOSPI = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg, '2', a.f_curr_price - a.f_net_chg)) * 100, 2) rate
|
||||
FROM t_overtime_sise a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_chg_type in('1', '2')
|
||||
AND b.f_sect_code = 'ST'
|
||||
ORDER BY rate DESC";
|
||||
|
||||
|
||||
|
||||
// string queryKOSDAQ = @"SELECT DISTINCT
|
||||
// b.f_stock_code stock_code,
|
||||
// b.F_STOCK_WANNAME wanname,
|
||||
// a.f_net_chg net_chg,
|
||||
// a.f_chg_type chg_type,
|
||||
// a.f_curr_price,
|
||||
// round(
|
||||
// a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg,
|
||||
// '2', a.f_curr_price - a.f_net_chg, '3', a.f_curr_price, '4',
|
||||
// -1 * (a.f_curr_price + a.f_net_chg), '5',
|
||||
// -1 * (a.f_curr_price + a.f_net_chg)) * 100, 2) rate
|
||||
// FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b
|
||||
// WHERE b.f_mkt_halt = 'N'
|
||||
// AND b.f_stock_nickname is not null
|
||||
// AND a.f_stock_code = b.f_stock_code
|
||||
// AND a.f_curr_price < > 0
|
||||
// AND a.f_chg_type in('1', '2')
|
||||
//AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
// ORDER BY rate DESC";
|
||||
|
||||
|
||||
string queryKOSDAQ = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round(
|
||||
a.f_net_chg / decode(a.f_chg_type, '1', a.f_curr_price - a.f_net_chg,
|
||||
'2', a.f_curr_price - a.f_net_chg, '3', a.f_curr_price, '4',
|
||||
-1 * (a.f_curr_price + a.f_net_chg), '5',
|
||||
-1 * (a.f_curr_price + a.f_net_chg)) * 100, 2) rate
|
||||
FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_chg_type in('1', '2')
|
||||
AND b.f_sect_code = 'ST'
|
||||
ORDER BY rate DESC";
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
113
MBN_STOCK_N/Data/Request/판5단/kospi200.cs
Normal file
113
MBN_STOCK_N/Data/Request/판5단/kospi200.cs
Normal file
@@ -0,0 +1,113 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class kospi200 : ADataObject
|
||||
{
|
||||
|
||||
internal kospi200(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
//string queryKOSPI = @"select
|
||||
// b.f_stock_code,
|
||||
// b.f_stock_wanname,
|
||||
// d.f_curr_price,
|
||||
// d.f_chg_type,
|
||||
// d.f_net_chg,
|
||||
// round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
// '2', d.f_curr_price - d.f_net_chg,
|
||||
// '3', d.f_curr_price,
|
||||
// '4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
// '5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
// from
|
||||
// (select f_stock_code, max(f_low_price) f_low_price
|
||||
// from t_candle_history
|
||||
// where f_data_date between '{0}' and '{1}'
|
||||
// group by f_stock_code) a,
|
||||
// t_stock b, t_online1 d
|
||||
// where a.f_stock_code = b.f_stock_code
|
||||
// and d.f_mkt_halt = 'N'
|
||||
// and d.f_curr_price > 0
|
||||
// and a.f_stock_code = d.f_stock_code
|
||||
// and a.f_low_price <= d.f_low_price order by rate";
|
||||
|
||||
|
||||
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_curr_price curr_price,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
b.f_list_num* a.f_curr_price sigachong,
|
||||
round((a.f_net_chg/decode(a.f_chg_type,'1', (a.f_curr_price-a.f_net_chg),
|
||||
'2', (a.f_curr_price-a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price+a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price+a.f_net_chg)) ) * 100,2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price<> 0
|
||||
AND b.f_kospi200_gubun<> '0'
|
||||
ORDER BY sigachong DESC";
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
b.f_stock_code,
|
||||
b.f_stock_wanname,
|
||||
d.f_curr_price,
|
||||
d.f_chg_type,
|
||||
d.f_net_chg,
|
||||
round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
'2', d.f_curr_price - d.f_net_chg,
|
||||
'3', d.f_curr_price,
|
||||
'4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
'5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
from (
|
||||
select f_stock_code, max(f_low_price) f_low_price
|
||||
from t_kosdaq_candle_history
|
||||
where f_data_date between '{0}' and '{1}'
|
||||
group by f_stock_code) a,
|
||||
t_kosdaq_stock b, t_kosdaq_online1 d
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and d.f_mkt_halt = 'N'
|
||||
and d.f_curr_price > 0
|
||||
and a.f_stock_code = d.f_stock_code
|
||||
and a.f_low_price <= d.f_low_price order by rate desc";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
101
MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs
Normal file
101
MBN_STOCK_N/Data/Request/판5단/low52_5dan.cs
Normal file
@@ -0,0 +1,101 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class low52_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal low52_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI = @"select
|
||||
b.f_stock_code,
|
||||
b.f_stock_wanname,
|
||||
d.f_curr_price,
|
||||
d.f_chg_type,
|
||||
d.f_net_chg,
|
||||
round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
'2', d.f_curr_price - d.f_net_chg,
|
||||
'3', d.f_curr_price,
|
||||
'4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
'5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
from
|
||||
(select f_stock_code, max(f_low_price) f_low_price
|
||||
from t_candle_history
|
||||
where f_data_date between '{0}' and '{1}'
|
||||
group by f_stock_code) a,
|
||||
t_stock b, t_online1 d
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and d.f_mkt_halt = 'N'
|
||||
and d.f_curr_price > 0
|
||||
and a.f_stock_code = d.f_stock_code
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
and a.f_low_price <= d.f_low_price order by rate";
|
||||
|
||||
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
b.f_stock_code,
|
||||
b.f_stock_wanname,
|
||||
d.f_curr_price,
|
||||
d.f_chg_type,
|
||||
d.f_net_chg,
|
||||
round((d.f_net_chg / decode(d.f_chg_type, '1', d.f_curr_price - d.f_net_chg,
|
||||
'2', d.f_curr_price - d.f_net_chg,
|
||||
'3', d.f_curr_price,
|
||||
'4', -1*(d.f_curr_price + d.f_net_chg),
|
||||
'5', -1*(d.f_curr_price + d.f_net_chg))) * 100, 2) rate
|
||||
from (
|
||||
select f_stock_code, max(f_low_price) f_low_price
|
||||
from t_kosdaq_candle_history
|
||||
where f_data_date between '{0}' and '{1}'
|
||||
group by f_stock_code) a,
|
||||
t_kosdaq_stock b, t_kosdaq_online1 d
|
||||
where a.f_stock_code = b.f_stock_code
|
||||
and d.f_mkt_halt = 'N'
|
||||
and d.f_curr_price > 0
|
||||
and a.f_stock_code = d.f_stock_code
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
and a.f_low_price <= d.f_low_price order by rate desc";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufStartDay = DateTime.Now.ToString("yyyyMMdd");
|
||||
string bufEndDay = (DateTime.Now - TimeSpan.FromDays(52 * 7)).ToString("yyyyMMdd");
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", string.Format(queryKOSPI, bufEndDay, bufStartDay));
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", string.Format(queryKOSDAQ, bufEndDay, bufStartDay));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
125
MBN_STOCK_N/Data/Request/판5단/low_overtime_5dan.cs
Normal file
125
MBN_STOCK_N/Data/Request/판5단/low_overtime_5dan.cs
Normal file
@@ -0,0 +1,125 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class low_overtime_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal low_overtime_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
// string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code,
|
||||
// b.F_STOCK_WANNAME wanname,
|
||||
// a.f_net_chg net_chg,
|
||||
// a.f_chg_type chg_type,
|
||||
// a.f_curr_price,
|
||||
// a.f_init_price,
|
||||
// a.f_high_price,
|
||||
// a.f_low_price,
|
||||
// round((a.f_net_chg / decode(a.f_chg_type, '4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
// '5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
// FROM t_overtime_sise a, t_stock b
|
||||
// WHERE b.f_mkt_halt = 'N'
|
||||
// AND b.f_stock_nickname is not null
|
||||
// AND a.f_stock_code = b.f_stock_code
|
||||
// AND a.f_curr_price < > 0
|
||||
//AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
// AND a.f_chg_type in('4', '5')
|
||||
// ORDER BY rate";
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
a.f_init_price,
|
||||
a.f_high_price,
|
||||
a.f_low_price,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_overtime_sise a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND b.f_sect_code = 'ST'
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
|
||||
// string queryKOSDAQ = @"SELECT DISTINCT
|
||||
// b.f_stock_code stock_code,
|
||||
// b.F_STOCK_WANNAME wanname,
|
||||
// a.f_net_chg net_chg,
|
||||
// a.f_chg_type chg_type,
|
||||
// a.f_curr_price,
|
||||
// a.f_init_price,
|
||||
// a.f_high_price,
|
||||
// a.f_low_price,
|
||||
// round((a.f_net_chg / decode('4', a.f_curr_price + a.f_net_chg,
|
||||
// '5', a.f_curr_price + a.f_net_chg) * -1) * 100, 2) rate
|
||||
// FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b
|
||||
// WHERE b.f_mkt_halt = 'N'
|
||||
// AND b.f_stock_nickname is not null
|
||||
// AND a.f_stock_code = b.f_stock_code
|
||||
// AND a.f_curr_price < > 0
|
||||
//AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
// AND a.f_chg_type in('4', '5')
|
||||
// ORDER BY rate ";
|
||||
|
||||
string queryKOSDAQ = @"SELECT DISTINCT
|
||||
b.f_stock_code stock_code,
|
||||
b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg,
|
||||
a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
a.f_init_price,
|
||||
a.f_high_price,
|
||||
a.f_low_price,
|
||||
round((a.f_net_chg / decode('4', a.f_curr_price + a.f_net_chg,
|
||||
'5', a.f_curr_price + a.f_net_chg) * -1) * 100, 2) rate
|
||||
FROM t_kosdaq_overtime_sise a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND b.f_sect_code = 'ST'
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate ";
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
87
MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs
Normal file
87
MBN_STOCK_N/Data/Request/판5단/lower_5dan.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class lower_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal lower_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b, t_batch_day c
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
|
||||
string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg, a.f_net_vol net_vol, a.F_NET_TURNOVER, a.f_chg_type chg_type,
|
||||
b.F_LIST_NUM * A.F_CURR_PRICE sigachong,
|
||||
a.f_init_price,
|
||||
a.f_high_price,
|
||||
a.f_low_price,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND a.f_chg_type in('4', '5')
|
||||
ORDER BY rate";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
77
MBN_STOCK_N/Data/Request/판5단/suggest_5dan.cs
Normal file
77
MBN_STOCK_N/Data/Request/판5단/suggest_5dan.cs
Normal file
@@ -0,0 +1,77 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class suggest_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal suggest_5dan(List<string> recvStockList)
|
||||
{
|
||||
this.mStockCodeList = recvStockList;
|
||||
}
|
||||
|
||||
//국내시장종류 mDataType;
|
||||
|
||||
List<string> mStockCodeList = null;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_curr_price CURR_PRICE,
|
||||
a.f_net_chg NET_CHG,
|
||||
a.f_chg_type CHG_TYPE,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_code = '{0}'
|
||||
union
|
||||
SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_curr_price CURR_PRICE,
|
||||
a.f_net_chg NET_CHG,
|
||||
a.f_chg_type CHG_TYPE,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_code = '{0}' ";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
mStockCodeList.ForEach(s =>
|
||||
{
|
||||
mRequestQuery.Add(s, string.Format(query, s));
|
||||
});
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
76
MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs
Normal file
76
MBN_STOCK_N/Data/Request/판5단/theme_5dan.cs
Normal file
@@ -0,0 +1,76 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class theme_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal theme_5dan(List<string> recvStockList)
|
||||
{
|
||||
this.mStockCodeList = recvStockList;
|
||||
}
|
||||
|
||||
|
||||
List<string> mStockCodeList = null;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_curr_price CURR_PRICE,
|
||||
a.f_net_chg NET_CHG,
|
||||
a.f_chg_type CHG_TYPE,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname in('{0}')
|
||||
union
|
||||
SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_curr_price CURR_PRICE,
|
||||
a.f_net_chg NET_CHG,
|
||||
a.f_chg_type CHG_TYPE,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1 * (a.f_curr_price + a.f_net_chg),
|
||||
'5', -1 * (a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_curr_price < > 0
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
and b.f_stock_wanname in('{0}')";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
mStockCodeList.ForEach(s =>
|
||||
{
|
||||
mRequestQuery.Add(s, string.Format(query, s));
|
||||
});
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
102
MBN_STOCK_N/Data/Request/판5단/theme_yesang_5dan.cs
Normal file
102
MBN_STOCK_N/Data/Request/판5단/theme_yesang_5dan.cs
Normal file
@@ -0,0 +1,102 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class theme_yesang_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal theme_yesang_5dan(List<string> recvStockList)
|
||||
{
|
||||
this.mStockCodeList = recvStockList;
|
||||
}
|
||||
|
||||
|
||||
List<string> mStockCodeList = null;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_fore_price CURR_PRICE,
|
||||
ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate
|
||||
FROM t_online1_call a, t_stock b, t_batch_day c
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_fore_price < > 0
|
||||
AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
AND b.f_stock_code = '{0}'
|
||||
union
|
||||
SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE,
|
||||
b.f_stock_wanname STOCK_NAME,
|
||||
a.f_fore_price CURR_PRICE,
|
||||
ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate
|
||||
FROM t_kosdaq_online1_call a, t_kosdaq_stock b, t_kosdaq_batch_day c
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_fore_price < > 0
|
||||
AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
AND b.f_stock_code = '{0}' ";
|
||||
|
||||
|
||||
//////////// string query = @"SELECT 'KOSPI' gubun, b.f_stock_code STOCK_CODE,
|
||||
////////////b.f_stock_wanname STOCK_NAME,
|
||||
////////////a.f_fore_price CURR_PRICE,
|
||||
////////////ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
//////////// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
////////////CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
////////////ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate
|
||||
//////////// FROM t_online1 a, t_stock b, t_batch_day c
|
||||
////////////WHERE b.f_mkt_halt = 'N'
|
||||
////////////AND b.f_stock_nickname is not null
|
||||
////////////AND a.f_stock_code = b.f_stock_code
|
||||
////////////AND a.f_fore_price < > 0
|
||||
////////////AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
////////////AND b.f_stock_code = '{0}'
|
||||
////////////union
|
||||
////////////SELECT 'KOSDAQ' gubun, b.f_stock_code STOCK_CODE,
|
||||
////////////b.f_stock_wanname STOCK_NAME,
|
||||
////////////a.f_fore_price CURR_PRICE,
|
||||
////////////ABS((a.f_fore_price - c.f_final_price)) net_chg,
|
||||
//////////// CASE WHEN(a.f_fore_price - c.f_final_price) > 0 THEN '2' ELSE
|
||||
////////////CASE WHEN(a.f_fore_price - c.f_final_price) < 0 THEN '5' ELSE '3' END END CHG_TYPE,
|
||||
//////////// ABS(round(((a.f_fore_price - c.f_final_price) / c.f_final_price), 4) * 100) rate
|
||||
//////////// FROM t_kosdaq_online1 a, t_kosdaq_stock b, t_kosdaq_batch_day c
|
||||
////////////WHERE b.f_mkt_halt = 'N'
|
||||
////////////AND b.f_stock_nickname is not null
|
||||
////////////AND a.f_stock_code = b.f_stock_code
|
||||
////////////AND a.f_fore_price < > 0
|
||||
////////////AND c.f_stock_code = a.f_stock_code AND c.f_final_price < > 0
|
||||
////////////AND b.f_stock_code = '{0}' ";
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
mStockCodeList.ForEach(s =>
|
||||
{
|
||||
mRequestQuery.Add(s, string.Format(query, s));
|
||||
});
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
71
MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs
Normal file
71
MBN_STOCK_N/Data/Request/판5단/upjong_5dan.cs
Normal file
@@ -0,0 +1,71 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class upjong_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal upjong_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI = @"select
|
||||
b.f_part_name,
|
||||
a.F_PART_IDX/100 part_idx,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG/100 part_chg,
|
||||
round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate
|
||||
from t_index a, t_part b
|
||||
where a.f_part_code = b.f_part_code and a.f_part_code <> '001'
|
||||
order by a.f_part_code";
|
||||
|
||||
|
||||
|
||||
string queryKOSDAQ = @"select
|
||||
b.f_part_name,
|
||||
a.F_PART_IDX/100 part_idx,
|
||||
a.F_CHG_TYPE,
|
||||
a.F_PART_CHG/100 part_chg,
|
||||
round(a.f_part_chg / decode(a.f_chg_type, '+', (a.f_part_idx / 100) - (a.f_part_chg / 100), '-', (a.f_part_idx / 100) + (a.f_part_chg / 100)), 2) rate
|
||||
from t_kosdaq_index a, t_kosdaq_part b
|
||||
where a.f_part_code = b.f_part_code and a.f_part_code <> '001'
|
||||
order by a.f_part_code";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
87
MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs
Normal file
87
MBN_STOCK_N/Data/Request/판5단/upper_5dan.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class upper_5dan : ADataObject
|
||||
{
|
||||
|
||||
internal upper_5dan(국내시장종류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
#region 쿼리
|
||||
//코스피 상단
|
||||
string queryKOSPI = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg, a.f_chg_type chg_type,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_online1 a, t_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND a.f_chg_type in('1', '2')
|
||||
ORDER BY rate DESC";
|
||||
|
||||
|
||||
|
||||
string queryKOSDAQ = @"SELECT DISTINCT b.f_stock_code stock_code, b.F_STOCK_WANNAME wanname,
|
||||
a.f_net_chg net_chg, a.f_net_vol net_vol, a.F_NET_TURNOVER, a.f_chg_type chg_type,
|
||||
b.F_LIST_NUM * A.F_CURR_PRICE sigachong,
|
||||
a.f_init_price,
|
||||
a.f_high_price,
|
||||
a.f_low_price,
|
||||
a.f_curr_price,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '1', (a.f_curr_price - a.f_net_chg),
|
||||
'2', (a.f_curr_price - a.f_net_chg),
|
||||
'3', (a.f_curr_price),
|
||||
'4', -1*(a.f_curr_price + a.f_net_chg),
|
||||
'5', -1*(a.f_curr_price + a.f_net_chg))) * 100, 2) rate
|
||||
FROM t_kosdaq_online1 a, t_kosdaq_stock b
|
||||
WHERE b.f_mkt_halt = 'N'
|
||||
AND a.f_stock_code = b.f_stock_code
|
||||
AND a.f_curr_price < > 0
|
||||
AND b.f_sect_code in ( 'ST', 'FS','DR', 'RT', 'IF')
|
||||
AND a.f_chg_type in('1', '2')
|
||||
ORDER BY rate DESC";
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
mRequestQuery.Add("", queryKOSPI);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
mRequestQuery.Add("", queryKOSDAQ);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
471
MBN_STOCK_N/Data/Request/판데이터기본/DataObject_3PAN.cs
Normal file
471
MBN_STOCK_N/Data/Request/판데이터기본/DataObject_3PAN.cs
Normal file
@@ -0,0 +1,471 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class DataObject_3PAN : ADataObject
|
||||
{
|
||||
|
||||
internal DataObject_3PAN(판3데이터분류 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
}
|
||||
|
||||
판3데이터분류 mDataType;
|
||||
|
||||
#region "쿼리"
|
||||
|
||||
string query주요지수200 = @"SELECT 'KOSPI' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg,
|
||||
'-', f_part_idx + f_part_chg, 1) * 100, 2) rate
|
||||
FROM t_index
|
||||
WHERE f_part_code = '001'
|
||||
union
|
||||
|
||||
SELECT '코스닥' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg,
|
||||
'-', f_part_idx + f_part_chg, 1) * 100, 2) rate
|
||||
FROM T_KOSDAQ_INDEX
|
||||
WHERE f_part_code = '001'
|
||||
union
|
||||
|
||||
SELECT '코스피200' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg,
|
||||
'-', f_part_idx + f_part_chg, 1) * 100, 2) rate
|
||||
FROM T_200_INDEX
|
||||
WHERE f_part_code = '029'";
|
||||
|
||||
string query주요지수선물 = @"SELECT 'KOSPI' name,f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100),
|
||||
'-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate
|
||||
FROM t_index
|
||||
WHERE f_part_code = '001'
|
||||
union
|
||||
SELECT 'KOSQ' name, f_part_idx / 100 part_idx, f_chg_type chg_type, f_part_chg / 100 part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100),
|
||||
'-', (f_part_idx / 100) + (f_part_chg / 100), 1), 2) rate
|
||||
FROM T_KOSDAQ_INDEX
|
||||
WHERE f_part_code = '001'
|
||||
union
|
||||
SELECT '선물' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg,
|
||||
ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100),
|
||||
'-', (part_idx / 100) + (part_chg / 100), 1), 2)) rate
|
||||
FROM(SELECT decode(a.f_curr_price,0, b.F_JUN_LAST_PRICE/100, a.f_curr_price/100) part_idx,
|
||||
decode(a.f_curr_price, 0, 0, (a.f_curr_price - b.F_JUN_LAST_PRICE*100)/100) part_chg,
|
||||
decode(a.f_curr_price, 0, ' ', decode(sign(a.f_curr_price -b.F_JUN_LAST_PRICE*100),1,'+',-1,'-',0,' ')) chg_type
|
||||
FROM t_sunmul_online a, t_sunmul_batch b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_seq = 1
|
||||
AND b.f_market_date = (select max(OPEN_DAY) from v_open_day)
|
||||
AND b.F_MONTH_GUBUN = '1')";
|
||||
|
||||
|
||||
string query예상지수200 = @"SELECT 'KOSPI' name,f_part_idx/100 part_idx, f_chg_type chg_type, ABS(f_part_chg/100) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg,
|
||||
'-', f_part_idx + f_part_chg, 1) * 100, 2) rate
|
||||
FROM t_fo_index
|
||||
WHERE f_part_code = '001'
|
||||
UNION
|
||||
SELECT '코스닥' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg,
|
||||
'-', f_part_idx + f_part_chg, 1) * 100, 2) rate
|
||||
FROM T_KOSDAQ_FO_INDEX
|
||||
WHERE f_part_code = '001'
|
||||
UNION
|
||||
SELECT '코스피200' name, f_part_idx / 100 part_idx, f_chg_type chg_type, ABS(f_part_chg / 100) part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', f_part_idx - f_part_chg,
|
||||
'-', f_part_idx + f_part_chg, 1) * 100, 2) rate
|
||||
FROM T_200_FO_INDEX
|
||||
WHERE f_part_code = '029'";
|
||||
|
||||
|
||||
string query예상지수선물 = @"SELECT 'KOSPI' name,f_part_idx/100 part_idx, f_chg_type chg_type, f_part_chg/100 part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100),
|
||||
'-', (f_part_idx / 100) + (f_part_chg / 100),1), 2) rate
|
||||
FROM t_fo_index
|
||||
WHERE f_part_code = '001'
|
||||
UNION
|
||||
SELECT 'KOSQ' name, f_part_idx / 100 part_idx, f_chg_type chg_type, f_part_chg / 100 part_chg,
|
||||
round(f_part_chg / decode(f_chg_type, '+', (f_part_idx / 100) - (f_part_chg / 100),
|
||||
'-', (f_part_idx / 100) + (f_part_chg / 100),1), 2) rate
|
||||
FROM T_KOSDAQ_FO_INDEX
|
||||
WHERE f_part_code = '001'
|
||||
UNION
|
||||
SELECT '선물' name, part_idx part_idx, chg_type, ABS(part_chg) part_chg,
|
||||
ABS(round(part_chg / decode(chg_type, '+', (part_idx / 100) - (part_chg / 100),
|
||||
'-', (part_idx / 100) + (part_chg / 100),1), 2)) rate
|
||||
FROM(SELECT decode(a.f_fo_price,0, b.F_JUN_LAST_PRICE, a.f_fo_price) part_idx,
|
||||
decode(a.f_fo_price, 0, 0, (a.f_fo_price - b.F_JUN_LAST_PRICE)/100) part_chg,
|
||||
decode(a.f_fo_price, 0, ' ', decode(sign(a.f_fo_price -b.F_JUN_LAST_PRICE),1,'+',-1,'-',0,' ')) chg_type
|
||||
FROM t_sunmul_online a, t_sunmul_batch b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_seq = 1
|
||||
AND b.f_market_date = (select max(OPEN_DAY) from v_open_day)
|
||||
AND b.F_MONTH_GUBUN = '1')";
|
||||
|
||||
|
||||
|
||||
|
||||
string query미국 = @"select decode(a.f_symb, 'DJI@DJI', 1,
|
||||
'NAS@IXIC', 2,
|
||||
'SPI@SPX', 3) ss,
|
||||
a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, round(b.f_diff, 2) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('DJI@DJI', 'NAS@IXIC', 'SPI@SPX')";
|
||||
|
||||
|
||||
string query중화권 = @"select decode(a.f_symb, 'HSI@HSI', 1,
|
||||
'SHS@000001', 2,
|
||||
'TWS@TI01', 3) ss,
|
||||
a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('SHS@000001', 'HSI@HSI', 'TWS@TI01')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query유럽 = @"select decode(a.f_symb, 'LNS@FTSE100', 1,
|
||||
'PAS@CAC40', 2,
|
||||
'XTR@DAX30', 3) ss,
|
||||
a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('PAS@CAC40', 'XTR@DAX30', 'LNS@FTSE100')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query아시아 = @"select decode(a.f_symb, 'SHS@000001', 1,
|
||||
'TWS@TI01', 2,
|
||||
'NII@NI225', 3) ss,
|
||||
a.f_input_name name, round(b.f_last, 2) part_idx, b.f_sign chg_type, ABS(round(b.f_diff, 2)) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('SHS@000001', 'TWS@TI01', 'NII@NI225')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query달러환율 = @"select decode(a.f_symb, 'USDJPYCOMP', 1,
|
||||
'EURUSDCOMP', 2,
|
||||
'USDCNYCOMP', 3) ss,
|
||||
a.f_input_name name, ABS(b.f_last) part_idx,
|
||||
ABS(b.f_diff) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_forex_master a, t_world_forex_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('USDJPYCOMP', 'EURUSDCOMP', 'USDCNYCOMP') --USDJPYCOMP 엔, USDCNYCOMP 위안화, EURUSDCOMP유로
|
||||
order by ss";
|
||||
|
||||
// string query원환율 = @"select decode(a.f_input_code,'A09','원/달러','A10','원/엔','A91','원/유로') name,
|
||||
// a.f_curr_price part_idx, a.f_chg_type chg_type, ABS(a.f_net_chg) part_chg,
|
||||
// round(a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price / 100) - (ABS(a.f_net_chg) / 100),
|
||||
// '-', (a.f_curr_price / 100) + ((a.f_net_chg) / 100)), 2) rate
|
||||
// from t_input_index a, t_input_code b
|
||||
//where a.f_input_code in('A09', 'A10', 'A91')
|
||||
// and a.f_input_code = b.f_input_code
|
||||
// order by a.f_input_code";
|
||||
string query원환율 = @"select decode(a.f_input_code,'A09','원/달러','A10','원/엔','A91','원/유로') name,
|
||||
a.f_curr_price part_idx, a.f_chg_type chg_type, ABS(a.f_net_chg) part_chg,
|
||||
round(a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price / 100) - (ABS(a.f_net_chg) / 100),
|
||||
'-', (a.f_curr_price / 100) + ((a.f_net_chg) / 100), 1), 2) rate
|
||||
from t_input_index a, t_input_code b
|
||||
where a.f_input_code in('A09', 'A10', 'A91')
|
||||
and a.f_input_code = b.f_input_code
|
||||
order by a.f_input_code";
|
||||
|
||||
|
||||
string query미국국채 = @"select decode(a.f_symb, 'GVO@TR02Y', 1,
|
||||
'GVO@TR03Y', 2,
|
||||
'GVO@TR05Y', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
b.f_sign chg_type, round(b.f_diff, 2) part_chg, round(b.f_rate, 2) rate
|
||||
from t_world_ix_eq_master a, t_world_ix_eq_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('GVO@TR02Y', 'GVO@TR03Y', 'GVO@TR05Y')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query채권금리 = @"SELECT decode(a.f_symb, 'KIR@CMAA', 1,
|
||||
'KIR@NB03Y', 2,
|
||||
'KIR@CD91', 3) ss,
|
||||
b.f_input_name part_name, ABS(round(a.f_last, 2)) part_idx, a.f_sign chg_type,
|
||||
round(a.f_diff, 2) part_chg, round(a.f_rate, 2) rate
|
||||
FROM t_world_ix_eq_sise a, t_world_ix_eq_master b
|
||||
WHERE a.f_symb = b.f_symb
|
||||
and b.f_symb in('KIR@CMAA', 'KIR@NB03Y', 'KIR@CD91')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query유가 = @"select decode(a.f_symb, 'SPT@DU', 1,
|
||||
'SPT@EB', 2,
|
||||
'SPT@CL', 3) ss,
|
||||
a.f_input_name name, round(b.f_last, 2) part_idx, round(b.f_diff, 2) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('SPT@DU', 'SPT@EB', 'SPT@CL') --SPT@DU 두바이, SPT@CL' WTI, SPT@EB 브렌트
|
||||
order by ss";
|
||||
|
||||
|
||||
string query광물 = @"select decode(a.f_symb, 'COM@GC', 1,
|
||||
'COM@SI', 2,
|
||||
'LME@CDY', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, ABS(round(b.f_diff, 2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('COM@GC', 'COM@SI', 'LME@CDY')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query식자재 = @"select decode(a.f_symb, 'CBT$CORN', 1,
|
||||
'CBT@SOYBEAN', 2,
|
||||
'CBT@WHEAT', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx, ABS(round(b.f_diff, 2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+' when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in('CBT@SOYBEAN', 'CBT$CORN', 'CBT@WHEAT')
|
||||
order by ss";
|
||||
|
||||
string query소맥_옥수수_밀 = @"select decode(a.f_symb, 'MK@WHEAT', 1,
|
||||
'CBT$CORN', 2,
|
||||
'CBT@WHEAT', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
ABS(round(b.f_diff,2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate, 2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('MK@WHEAT', 'CBT$CORN' , 'CBT@WHEAT')
|
||||
order by ss";
|
||||
|
||||
string query대두_콩_현미 = @"select decode(a.f_symb, 'CBT@SOYBEAN', 1,
|
||||
'MK@BEAN', 2,
|
||||
'MK@RICE', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
ABS(round(b.f_diff,2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('CBT@SOYBEAN' , 'MK@BEAN' , 'MK@RICE')
|
||||
order by ss";
|
||||
|
||||
string query커피_코코아_설탕 = @"select decode(a.f_symb, 'NYB@KC', 1,
|
||||
'MK@COCOA', 2,
|
||||
'NYB@SB', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
ABS(round(b.f_diff,2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('NYB@KC' , 'MK@COCOA', 'NYB@SB')
|
||||
order by ss";
|
||||
|
||||
string query생우_비육우_돈육 = @"select decode(a.f_symb, 'MK@LC', 1,
|
||||
'MK@FC', 2,
|
||||
'MK@PORK', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
ABS(round(b.f_diff,2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('MK@LC', 'MK@FC', 'MK@PORK')
|
||||
order by ss";
|
||||
|
||||
|
||||
string query구리_철광석_니켈 = @"select decode(a.f_symb, 'LME@CDY', 1,
|
||||
'MK@IRON', 2,
|
||||
'LME@NDY', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
ABS(round(b.f_diff,2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('LME@CDY', 'MK@IRON', 'LME@NDY')
|
||||
order by ss";
|
||||
|
||||
string query천연가스_백금_팔라듐 = @"select decode(a.f_symb, 'NYM@NG', 1,
|
||||
'NYM@PL', 2,
|
||||
'NYM@PA', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
ABS(round(b.f_diff,2)) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('NYM@NG', 'NYM@PL', 'NYM@PA')
|
||||
order by ss";
|
||||
|
||||
string query납_아연_주석 = @"select decode(a.f_symb, 'MK@PDA', 1,
|
||||
'MK@ZDA', 2,
|
||||
'LME@SDY', 3) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
round(b.f_diff,2) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('MK@PDA', 'MK@ZDA', 'LME@SDY')
|
||||
order by ss";
|
||||
|
||||
string query원면_목화 = @"select decode(a.f_symb, 'MK@COTTON', 1,
|
||||
'NYB@CT', 2) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
round(b.f_diff,2) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('MK@COTTON', 'NYB@CT')
|
||||
order by ss";
|
||||
|
||||
string query국제금 = @"select decode(a.f_symb, 'COM@GC', 1,
|
||||
'COM@SI', 2) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
round(b.f_diff,2) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('COM@GC' , 'COM@SI')
|
||||
order by ss";
|
||||
|
||||
string query국내금 = @"select decode(a.f_symb, 'MK@GC', 1,
|
||||
'MK@SI', 2) ss,
|
||||
a.f_input_name name, ABS(round(b.f_last, 2)) part_idx,
|
||||
round(b.f_diff,2) part_chg,
|
||||
case when to_number(b.f_diff) > 0 then '+'
|
||||
when to_number(b.f_diff) < 0 then '-' else '' end sign,
|
||||
round(b.f_rate,2) rate
|
||||
from t_world_future_master a, t_world_future_sise b
|
||||
where a.f_symb = b.f_symb
|
||||
and a.f_symb in ('MK@GC', 'MK@SI')
|
||||
order by ss";
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (mDataType)
|
||||
{
|
||||
case 판3데이터분류.주요지수_코스피_코스닥_코스피200:
|
||||
bufQuery = query주요지수200;
|
||||
break;
|
||||
case 판3데이터분류.주요지수_코스피_코스닥_선물:
|
||||
bufQuery = query주요지수선물;
|
||||
break;
|
||||
case 판3데이터분류.예상체결지수_코스피_코스닥_코스피200:
|
||||
bufQuery = query예상지수200;
|
||||
break;
|
||||
case 판3데이터분류.예상체결지수_코스피_코스닥_선물:
|
||||
bufQuery = query예상지수선물;
|
||||
break;
|
||||
case 판3데이터분류.미국지수:
|
||||
bufQuery = query미국;
|
||||
break;
|
||||
case 판3데이터분류.중화권지수:
|
||||
bufQuery = query중화권;
|
||||
break;
|
||||
case 판3데이터분류.유럽지수:
|
||||
bufQuery = query유럽;
|
||||
break;
|
||||
case 판3데이터분류.아시아지수_상해_대만_일본:
|
||||
bufQuery = query아시아;
|
||||
break;
|
||||
case 판3데이터분류.달러환율_엔_위안_유로:
|
||||
bufQuery = query달러환율;
|
||||
break;
|
||||
case 판3데이터분류.원환율_달러_엔_유로:
|
||||
bufQuery = query원환율;
|
||||
break;
|
||||
case 판3데이터분류.미국국채:
|
||||
bufQuery = query미국국채;
|
||||
break;
|
||||
case 판3데이터분류.채권금리:
|
||||
bufQuery = query채권금리;
|
||||
break;
|
||||
case 판3데이터분류.유가_두바이_WTI_브랜트:
|
||||
bufQuery = query유가;
|
||||
break;
|
||||
case 판3데이터분류.광물:
|
||||
bufQuery = query광물;
|
||||
break;
|
||||
case 판3데이터분류.식자재:
|
||||
bufQuery = query식자재;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.소맥_옥수수_밀:
|
||||
bufQuery = query소맥_옥수수_밀;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.대두_콩_현미:
|
||||
bufQuery = query대두_콩_현미;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.커피_코코아_설탕:
|
||||
bufQuery = query커피_코코아_설탕;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.생우_비육우_돈육:
|
||||
bufQuery = query생우_비육우_돈육;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.구리_철광석_니켈:
|
||||
bufQuery = query구리_철광석_니켈;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.천연가스_백금_팔라듐:
|
||||
bufQuery = query천연가스_백금_팔라듐;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.납_아연_주석:
|
||||
bufQuery = query납_아연_주석;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.원면_목화:
|
||||
bufQuery = query원면_목화;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.국제금:
|
||||
bufQuery = query국제금;
|
||||
break;
|
||||
|
||||
case 판3데이터분류.국내금:
|
||||
bufQuery = query국내금;
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
81
MBN_STOCK_N/Data/Request/판데이터기본/EXCHANGE_PAN.cs
Normal file
81
MBN_STOCK_N/Data/Request/판데이터기본/EXCHANGE_PAN.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class EXCHANGE_PAN : ADataObject
|
||||
{
|
||||
|
||||
internal EXCHANGE_PAN(원환율 recvDataType)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
}
|
||||
|
||||
원환율 mDataType;
|
||||
|
||||
#region "쿼리"
|
||||
|
||||
string queryDOLLOR = @"SELECT a.f_input_code stock_code, '원/달러' stock_name,
|
||||
a.f_curr_price curr_price, a.f_net_chg net_chg, a.f_chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate
|
||||
FROM t_input_index a, t_input_code b
|
||||
WHERE a.f_input_code = b.f_input_code
|
||||
AND a.f_input_code = 'A09'";
|
||||
|
||||
string queryJPY = @"SELECT a.f_input_code stock_code, '원/엔' stock_name,
|
||||
a.f_curr_price curr_price, a.f_net_chg net_chg, a.f_chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate
|
||||
FROM t_input_index a, t_input_code b
|
||||
WHERE a.f_input_code = b.f_input_code
|
||||
AND a.f_input_code = 'A10'";
|
||||
|
||||
string queryYUAN = @"SELECT a.f_input_code stock_code, '원/위엔' stock_name,
|
||||
a.f_curr_price curr_price, abs(a.f_net_chg) net_chg, a.f_chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate
|
||||
FROM t_input_index a, t_input_code b
|
||||
WHERE a.f_input_code = b.f_input_code
|
||||
AND a.f_input_code = 'A90'";
|
||||
|
||||
string queryEURO = @"SELECT a.f_input_code stock_code, '원/유로' stock_name,
|
||||
a.f_curr_price curr_price, a.f_net_chg net_chg, a.f_chg_type,
|
||||
round((a.f_net_chg / decode(a.f_chg_type, '+', (a.f_curr_price - f_net_chg), '-', (a.f_curr_price + f_net_chg), 1)) * 100, 2) rate
|
||||
FROM t_input_index a, t_input_code b
|
||||
WHERE a.f_input_code = b.f_input_code
|
||||
AND a.f_input_code = 'A91'";
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (mDataType)
|
||||
{
|
||||
case 원환율.원위엔:
|
||||
bufQuery = queryYUAN;
|
||||
break;
|
||||
case 원환율.원달러:
|
||||
bufQuery = queryDOLLOR;
|
||||
break;
|
||||
case 원환율.원엔:
|
||||
bufQuery = queryJPY;
|
||||
break;
|
||||
case 원환율.원유로:
|
||||
bufQuery = queryEURO;
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
370
MBN_STOCK_N/Data/Request/판데이터기본/NXT_SANGSE_PAN.cs
Normal file
370
MBN_STOCK_N/Data/Request/판데이터기본/NXT_SANGSE_PAN.cs
Normal file
@@ -0,0 +1,370 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class Nxt_SANGSE_PAN : Nxt_ADataObject
|
||||
{
|
||||
|
||||
internal Nxt_SANGSE_PAN(국내시장종류 recvDataType, 상세판데이터분류 recvDataType2, string recvStockCode)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
this.mDataType2 = recvDataType2;
|
||||
this.mStockCode = recvStockCode;
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
상세판데이터분류 mDataType2;
|
||||
|
||||
string mStockCode = "";
|
||||
|
||||
#region 쿼리
|
||||
|
||||
// 시가
|
||||
string queryKOSPI1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate,
|
||||
a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate,
|
||||
a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate
|
||||
FROM V_2 a
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
// 시가_코스닥
|
||||
string queryKOSDAQ1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate,
|
||||
a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate,
|
||||
a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate
|
||||
FROM V_2_kosdaq a
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
// 시가_NXT
|
||||
string queryNXT_KOSPI1 = @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합'
|
||||
when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
a.f_init_price, if (c.f_final_price = 0, round(((a.f_init_price - c.f_base_price) / c.f_base_price) * 100,2),
|
||||
round(((a.f_init_price - c.f_final_price) / c.f_final_price) * 100,2)) init_rate,
|
||||
a.f_high_price, if (c.f_final_price = 0, round(((a.f_high_price - c.f_base_price) / c.f_base_price) * 100,2),
|
||||
round(((a.f_high_price - c.f_final_price) / c.f_final_price) * 100,2)) high_rate,
|
||||
a.f_low_price, if (c.f_final_price = 0, round(((a.f_low_price - c.f_base_price) / c.f_base_price) * 100,2),
|
||||
round(((a.f_low_price - c.f_final_price) / c.f_final_price) * 100,2)) low_rate
|
||||
FROM n_online a, n_stock b, n_batch_his c
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
and a.f_curr_price != 0
|
||||
and a.f_stock_code = b.F_STOCK_CODE
|
||||
and c.f_data_day = (select max(f_data_day) from n_batch_his where f_stock_code = a.f_stock_code)
|
||||
and a.f_stock_code = '{0}'";
|
||||
|
||||
// 시가_코스닥_NXT
|
||||
string queryNXT_KOSDAQ1 = @"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합'
|
||||
when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
a.f_init_price, if (c.f_final_price = 0, round(((a.f_init_price - c.f_base_price) / c.f_base_price) * 100,2),
|
||||
round(((a.f_init_price - c.f_final_price) / c.f_final_price) * 100,2)) init_rate,
|
||||
a.f_high_price, if (c.f_final_price = 0, round(((a.f_high_price - c.f_base_price) / c.f_base_price) * 100,2),
|
||||
round(((a.f_high_price - c.f_final_price) / c.f_final_price) * 100,2)) high_rate,
|
||||
a.f_low_price, if (c.f_final_price = 0, round(((a.f_low_price - c.f_base_price) / c.f_base_price) * 100,2),
|
||||
round(((a.f_low_price - c.f_final_price) / c.f_final_price) * 100,2)) low_rate
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock b, n_kosdaq_batch_his c
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
and a.f_stock_code = c.f_stock_code
|
||||
and a.f_curr_price != 0
|
||||
and a.f_stock_code = b.F_STOCK_CODE
|
||||
and c.f_data_day = (select max(f_data_day) from n_kosdaq_batch_his where f_stock_code = a.f_stock_code)
|
||||
and a.f_stock_code = '{0}'";
|
||||
|
||||
// 액면가
|
||||
string queryKOSPI2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.list_price, a.capital_price, a.siga_price, b.rank_num
|
||||
FROM V_2 A,
|
||||
(select z.f_stock_code stock_code,
|
||||
rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num
|
||||
from t_online1 y, t_stock z
|
||||
where y.f_stock_code = z.f_stock_code
|
||||
and z.f_mkt_halt = 'N') B
|
||||
WHERE a.stock_code = b.stock_code
|
||||
and a.stock_code = '{0}'";
|
||||
|
||||
// 액면가_코스닥
|
||||
string queryKOSDAQ2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.list_price, a.capital_price, a.siga_price, b.rank_num
|
||||
FROM V_2_kosdaq A,
|
||||
(select z.f_stock_code stock_code,
|
||||
rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num
|
||||
from t_kosdaq_online1 y, t_kosdaq_stock z
|
||||
where y.f_stock_code = z.f_stock_code
|
||||
and z.f_mkt_halt = 'N') B
|
||||
WHERE a.stock_code = b.stock_code
|
||||
and a.stock_code = '{0}'";
|
||||
|
||||
// 액면가_NXT
|
||||
string queryNXT_KOSPI2 =
|
||||
@"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합'
|
||||
when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
b.f_list_price list_price, b.f_capital_price capital_price, b.f_list_num * a.f_curr_price siga_price, b.rank_num
|
||||
FROM n_online a,
|
||||
(select z.f_stock_code f_stock_code, z.f_stock_name, z.f_list_price, z.f_capital_price, z.f_list_num,
|
||||
rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num
|
||||
from n_online y, n_stock z
|
||||
where y.f_stock_code = z.f_stock_code
|
||||
and z.f_stop_gubun = 'N') b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_code = '{0}'";
|
||||
|
||||
// 액면가_코스닥_NXT
|
||||
string queryNXT_KOSDAQ2 =
|
||||
@"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합'
|
||||
when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
b.f_list_price list_price, b.f_capital_price capital_price, b.f_list_num * a.f_curr_price siga_price, b.rank_num
|
||||
FROM n_kosdaq_online a,
|
||||
(select z.f_stock_code f_stock_code, z.f_stock_name, z.f_list_price, z.f_capital_price, z.f_list_num,
|
||||
rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num
|
||||
from n_kosdaq_online y, n_kosdaq_stock z
|
||||
where y.f_stock_code = z.f_stock_code
|
||||
and z.f_stop_gubun = 'N') b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_code = '{0}'";
|
||||
|
||||
// PBR
|
||||
string queryKOSPI3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.pbr, a.per, a.bps, a.eps
|
||||
FROM V_2 A
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
// PBR_코스닥
|
||||
string queryKOSDAQ3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.pbr, a.per, a.bps, a.eps
|
||||
FROM V_2_kosdaq A
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
// PBR_NXT
|
||||
string queryNXT_KOSPI3 =
|
||||
@"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합'
|
||||
when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
0 pbr, 0 per, 0 bps, 0 eps
|
||||
FROM n_online a, n_stock b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_code = '{0}'";
|
||||
|
||||
// PBR_코스닥
|
||||
string queryNXT_KOSDAQ3 =
|
||||
@"SELECT a.f_stock_code stock_code, b.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합'
|
||||
when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg / case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
0 pbr, 0 per, 0 bps, 0 eps
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
AND a.f_stock_code = '{0}'";
|
||||
|
||||
// 거래량
|
||||
string queryKOSPI4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20
|
||||
FROM V_2 a,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5
|
||||
FROM (SELECT f_stock_code, f_curr_price
|
||||
FROM T_CANDLE_HISTORY
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{0}'
|
||||
AND ROWNUM < 5
|
||||
ORDER BY F_DATA_DATE DESC) a, t_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) c,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20
|
||||
FROM (SELECT f_stock_code, b1.f_curr_price
|
||||
FROM T_CANDLE_HISTORY b1
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{1}'
|
||||
AND ROWNUM < 20
|
||||
ORDER BY F_DATA_DATE DESC) a, t_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) d
|
||||
WHERE a.stock_code = c.f_stock_code (+)
|
||||
AND a.stock_code = d.f_stock_code (+)
|
||||
AND a.stock_code = '{1}' ";
|
||||
|
||||
// 거래량_코스닥
|
||||
string queryKOSDAQ4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20
|
||||
FROM V_2_kosdaq a,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5
|
||||
FROM (SELECT f_stock_code, f_curr_price
|
||||
FROM T_kosdaq_CANDLE_HISTORY
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{0}'
|
||||
AND ROWNUM < 5
|
||||
ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) c,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20
|
||||
FROM (SELECT f_stock_code, b1.f_curr_price
|
||||
FROM T_kosdaq_CANDLE_HISTORY b1
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{1}'
|
||||
AND ROWNUM < 20
|
||||
ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) d
|
||||
WHERE a.stock_code = c.f_stock_code (+)
|
||||
AND a.stock_code = d.f_stock_code (+)
|
||||
AND a.stock_code = '{1}' ";
|
||||
|
||||
// 거래량_NXT
|
||||
string queryNXT_KOSPI4 = @"SELECT a.f_stock_code stock_code, z.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg /
|
||||
case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
a.f_net_vol net_vol, a.f_net_turnover net_turnover, 0 avg_5, 0 avg_20
|
||||
FROM n_online a, n_stock z
|
||||
WHERE a.f_stock_code = z.f_stock_code
|
||||
AND a.f_stock_code = '{1}' ";
|
||||
|
||||
// 거래량_코스닥
|
||||
string queryNXT_KOSDAQ4 = @"SELECT a.f_stock_code stock_code, z.f_stock_name stock_name, a.f_curr_price curr_price,
|
||||
case when a.f_chg_type = '1' then '상한' when a.f_chg_type = '2' then '상승' when a.f_chg_type = '3' then '보합' when a.f_chg_type = '4' then '하한' when a.f_chg_type = '5' then '하락' end chg_type, a.f_net_chg net_chg,
|
||||
round((a.f_net_chg /
|
||||
case when a.f_chg_type = '1' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '2' then (a.f_curr_price - a.f_net_chg)
|
||||
when a.f_chg_type = '3' then (a.f_curr_price)
|
||||
when a.f_chg_type = '4' then -1*(a.f_curr_price + a.f_net_chg)
|
||||
when a.f_chg_type = '5' then -1*(a.f_curr_price + a.f_net_chg) end) * 100, 2) rate ,
|
||||
a.f_net_vol net_vol, a.f_net_turnover net_turnover, 0 avg_5, 0 avg_20
|
||||
FROM n_kosdaq_online a, n_kosdaq_stock z
|
||||
WHERE a.f_stock_code = z.f_stock_code
|
||||
AND a.f_stock_code = '{1}' ";
|
||||
|
||||
#endregion
|
||||
|
||||
public override Nxt_IDataRequest Nxt_buildData()
|
||||
{
|
||||
string bufQuery = "";
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
switch (this.mDataType2)
|
||||
{
|
||||
case 상세판데이터분류.시가:
|
||||
bufQuery = String.Format(queryKOSPI1, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.액면가:
|
||||
bufQuery = String.Format(queryKOSPI2, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.PBR:
|
||||
bufQuery = String.Format(queryKOSPI3, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.거래량:
|
||||
bufQuery = String.Format(queryKOSPI4, mStockCode, mStockCode);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
|
||||
switch (this.mDataType2)
|
||||
{
|
||||
case 상세판데이터분류.시가:
|
||||
bufQuery = String.Format(queryKOSDAQ1, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.액면가:
|
||||
bufQuery = String.Format(queryKOSDAQ2, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.PBR:
|
||||
bufQuery = String.Format(queryKOSDAQ3, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.거래량:
|
||||
bufQuery = String.Format(queryKOSDAQ4, mStockCode, mStockCode);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSPI:
|
||||
switch (this.mDataType2)
|
||||
{
|
||||
case 상세판데이터분류.시가:
|
||||
bufQuery = String.Format(queryNXT_KOSPI1, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.액면가:
|
||||
bufQuery = String.Format(queryNXT_KOSPI2, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.PBR:
|
||||
bufQuery = String.Format(queryNXT_KOSPI3, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.거래량:
|
||||
bufQuery = String.Format(queryNXT_KOSPI4, mStockCode, mStockCode);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 국내시장종류.NXT_KOSDAQ:
|
||||
|
||||
switch (this.mDataType2)
|
||||
{
|
||||
case 상세판데이터분류.시가:
|
||||
bufQuery = String.Format(queryNXT_KOSDAQ1, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.액면가:
|
||||
bufQuery = String.Format(queryNXT_KOSDAQ2, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.PBR:
|
||||
bufQuery = String.Format(queryNXT_KOSDAQ3, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.거래량:
|
||||
bufQuery = String.Format(queryNXT_KOSDAQ4, mStockCode, mStockCode);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
Nxt_mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
199
MBN_STOCK_N/Data/Request/판데이터기본/SANGSE_PAN.cs
Normal file
199
MBN_STOCK_N/Data/Request/판데이터기본/SANGSE_PAN.cs
Normal file
@@ -0,0 +1,199 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class SANGSE_PAN : ADataObject
|
||||
{
|
||||
|
||||
internal SANGSE_PAN(국내시장종류 recvDataType, 상세판데이터분류 recvDataType2, string recvStockCode)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
this.mDataType2 = recvDataType2;
|
||||
this.mStockCode = recvStockCode;
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
상세판데이터분류 mDataType2;
|
||||
|
||||
string mStockCode = "";
|
||||
|
||||
#region 쿼리
|
||||
// string queryKOSPI1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
//a.init_price, round(((a.init_price - a.final_price) / a.final_price) * 100, 2) init_rate,
|
||||
//a.high_price, round(((a.high_price - a.final_price) / a.final_price) * 100, 2) high_rate,
|
||||
//a.low_price, round(((a.low_price - a.final_price) / a.final_price) * 100, 2) low_rate
|
||||
//FROM V_2 a
|
||||
//WHERE a.stock_code = '{0}'";
|
||||
|
||||
string queryKOSPI1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate,
|
||||
a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate,
|
||||
a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate
|
||||
FROM V_2 a
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
|
||||
// string queryKOSDAQ1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
//a.init_price, round(((a.init_price - a.final_price) / a.final_price) * 100, 2) init_rate,
|
||||
//a.high_price, round(((a.high_price - a.final_price) / a.final_price) * 100, 2) high_rate,
|
||||
//a.low_price, round(((a.low_price - a.final_price) / a.final_price) * 100, 2) low_rate
|
||||
//FROM V_2_kosdaq a
|
||||
//WHERE a.stock_code = '{0}'";
|
||||
|
||||
string queryKOSDAQ1 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.init_price, decode(a.final_price, 0, round(((a.init_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.init_price - a.final_price) / a.final_price) * 100,2)) init_rate,
|
||||
a.high_price, decode(a.final_price, 0, round(((a.high_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.high_price - a.final_price) / a.final_price) * 100,2)) high_rate,
|
||||
a.low_price, decode(a.final_price, 0, round(((a.low_price - a.base_price) / a.base_price) * 100,2),
|
||||
round(((a.low_price - a.final_price) / a.final_price) * 100,2)) low_rate
|
||||
FROM V_2_kosdaq a
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
|
||||
string queryKOSPI2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.list_price, a.capital_price, a.siga_price, b.rank_num
|
||||
FROM V_2 A,
|
||||
(select z.f_stock_code stock_code,
|
||||
rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num
|
||||
from t_online1 y, t_stock z
|
||||
where y.f_stock_code = z.f_stock_code and z.f_mkt_halt = 'N') B
|
||||
WHERE a.stock_code = b.stock_code
|
||||
and a.stock_code = '{0}'";
|
||||
|
||||
string queryKOSDAQ2 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.list_price, a.capital_price, a.siga_price, b.rank_num
|
||||
FROM V_2_kosdaq A,
|
||||
(select z.f_stock_code stock_code,
|
||||
rank() over(order by(z.f_list_num * y.f_curr_price) desc) rank_num
|
||||
from t_kosdaq_online1 y, t_kosdaq_stock z
|
||||
where y.f_stock_code = z.f_stock_code and z.f_mkt_halt = 'N') B
|
||||
WHERE a.stock_code = b.stock_code
|
||||
and a.stock_code = '{0}'";
|
||||
|
||||
string queryKOSPI3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.pbr, a.per, a.bps, a.eps
|
||||
FROM V_2 A
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
string queryKOSDAQ3 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.pbr, a.per, a.bps, a.eps
|
||||
FROM V_2_kosdaq A
|
||||
WHERE a.stock_code = '{0}'";
|
||||
|
||||
string queryKOSPI4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20
|
||||
FROM V_2 a,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5
|
||||
FROM (SELECT f_stock_code, f_curr_price
|
||||
FROM T_CANDLE_HISTORY
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{0}'
|
||||
AND ROWNUM < 5
|
||||
ORDER BY F_DATA_DATE DESC) a, t_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) c,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20
|
||||
FROM (SELECT f_stock_code, b1.f_curr_price
|
||||
FROM T_CANDLE_HISTORY b1
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{1}'
|
||||
AND ROWNUM < 20
|
||||
ORDER BY F_DATA_DATE DESC) a, t_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) d
|
||||
WHERE a.stock_code = c.f_stock_code (+)
|
||||
AND a.stock_code = d.f_stock_code (+)
|
||||
AND a.stock_code = '{1}' ";
|
||||
|
||||
string queryKOSDAQ4 = @"SELECT a.stock_code, a.stock_name, a.curr_price, a.chg_type, a.net_chg, a.rate,
|
||||
a.net_vol, a.net_turnover, nvl(c.avg_5,0) avg_5, nvl(d.avg_20,0) avg_20
|
||||
FROM V_2_kosdaq a,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 5) avg_5
|
||||
FROM (SELECT f_stock_code, f_curr_price
|
||||
FROM T_kosdaq_CANDLE_HISTORY
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{0}'
|
||||
AND ROWNUM < 5
|
||||
ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) c,
|
||||
(SELECT b.f_stock_code, round((SUM(a.F_CURR_PRICE) + b.f_curr_price) / 20) avg_20
|
||||
FROM (SELECT f_stock_code, b1.f_curr_price
|
||||
FROM T_kosdaq_CANDLE_HISTORY b1
|
||||
WHERE F_DATA_DATE < (select max(open_day) from v_open_day)
|
||||
AND f_stock_code = '{1}'
|
||||
AND ROWNUM < 20
|
||||
ORDER BY F_DATA_DATE DESC) a, t_kosdaq_online1 b
|
||||
WHERE a.f_stock_code = b.f_stock_code
|
||||
GROUP by b.f_stock_code, b.f_curr_price) d
|
||||
WHERE a.stock_code = c.f_stock_code (+)
|
||||
AND a.stock_code = d.f_stock_code (+)
|
||||
AND a.stock_code = '{1}' ";
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (this.mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
switch (this.mDataType2)
|
||||
{
|
||||
case 상세판데이터분류.시가:
|
||||
bufQuery = String.Format(queryKOSPI1, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.액면가:
|
||||
bufQuery = String.Format(queryKOSPI2, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.PBR:
|
||||
bufQuery = String.Format(queryKOSPI3, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.거래량:
|
||||
bufQuery = String.Format(queryKOSPI4, mStockCode, mStockCode);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
|
||||
switch (this.mDataType2)
|
||||
{
|
||||
case 상세판데이터분류.시가:
|
||||
bufQuery = String.Format(queryKOSDAQ1, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.액면가:
|
||||
bufQuery = String.Format(queryKOSDAQ2, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.PBR:
|
||||
bufQuery = String.Format(queryKOSDAQ3, mStockCode);
|
||||
break;
|
||||
case 상세판데이터분류.거래량:
|
||||
bufQuery = String.Format(queryKOSDAQ4, mStockCode, mStockCode);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
47
MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs
Normal file
47
MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_FORGIEN_PAN.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class INDUSTRY_FORGIEN_PAN : ADataObject
|
||||
{
|
||||
|
||||
public INDUSTRY_FORGIEN_PAN(string recvCode)
|
||||
{
|
||||
this.mDataCode = recvCode;
|
||||
}
|
||||
|
||||
string mDataCode = "";
|
||||
|
||||
/// <summary>
|
||||
/// 금일 데이터 쿼리
|
||||
/// </summary>
|
||||
string queryToday = @"SELECT b.f_knam part_name,
|
||||
a.f_last part_idx,
|
||||
a.f_sign chg_type,
|
||||
ABS(round(a.f_diff, 2)) part_chg,
|
||||
round(a.f_rate, 2) rate
|
||||
FROM t_world_ix_eq_sise a, t_world_ix_eq_master b
|
||||
WHERE a.f_symb = b.f_symb
|
||||
and b.f_knam = '{0}'";
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
bufQuery += String.Format(queryToday, mDataCode);
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
66
MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_PAN.cs
Normal file
66
MBN_STOCK_N/Data/Request/판데이터기본/업종/INDUSTRY_PAN.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using MMoneyCoderSharp.Data.Request;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static MMoneyCoderSharp.DBDefine;
|
||||
|
||||
namespace MMoneyCoderSharp.DB
|
||||
{
|
||||
/// <summary>
|
||||
/// </summary>
|
||||
internal class INDUSTRY_PAN : ADataObject
|
||||
{
|
||||
|
||||
|
||||
internal INDUSTRY_PAN(국내시장종류 recvDataType, string recvStockCode)
|
||||
{
|
||||
this.mDataType = recvDataType;
|
||||
this.mDataCode = recvStockCode;
|
||||
}
|
||||
|
||||
국내시장종류 mDataType;
|
||||
|
||||
string mDataCode = String.Empty;
|
||||
|
||||
#region "쿼리"
|
||||
|
||||
string queryKOSPI = @"SELECT b.f_part_name,
|
||||
round(a.f_part_idx / 100, 2) part_idx, a.f_chg_type chg_type, round(a.f_part_chg / 100, 2) part_chg,
|
||||
round((a.f_part_chg / decode(a.f_chg_type, '+', a.f_part_idx - a.f_part_chg, '-', a.f_part_idx + a.f_part_chg)) * 100, 2) rate
|
||||
FROM t_index a, t_part b
|
||||
WHERE a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{0}'";
|
||||
|
||||
string queryKOSDAQ = @"SELECT b.f_part_name,
|
||||
round(a.f_part_idx / 100, 2) part_idx, a.f_chg_type chg_type, round(a.f_part_chg / 100, 2) part_chg,
|
||||
round((a.f_part_chg / decode(a.f_chg_type, '+', a.f_part_idx - a.f_part_chg, '-', a.f_part_idx + a.f_part_chg)) * 100, 2) rate
|
||||
FROM t_kosdaq_index a, t_kosdaq_part b
|
||||
WHERE a.f_part_code = b.f_part_code
|
||||
and b.f_part_name = '{0}'";
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
public override IDataRequest buildData()
|
||||
{
|
||||
|
||||
string bufQuery = "";
|
||||
|
||||
switch (mDataType)
|
||||
{
|
||||
case 국내시장종류.KOSPI:
|
||||
bufQuery = string.Format(queryKOSPI, mDataCode);
|
||||
break;
|
||||
case 국내시장종류.KOSDAQ:
|
||||
bufQuery = string.Format(queryKOSDAQ, mDataCode);
|
||||
break;
|
||||
}
|
||||
|
||||
mRequestQuery.Add("", bufQuery);
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user