Initial commit

This commit is contained in:
2026-07-02 10:22:57 +09:00
commit 309286309e
213 changed files with 56497 additions and 0 deletions

29
.gitignore vendored Normal file
View 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
View 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
View 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>

View 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
View 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;
}
}
}

View 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;
}
}
}

View 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());
}
}

View 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
View 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());
}
}
}

View 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
View 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
View 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

File diff suppressed because it is too large Load Diff

View 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
View 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;
}
}

View 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)
{
}
}
}

View 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
View 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
View 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)
{
}
}
}

View 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
View 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
View 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, "현재가");
}
}
}

View 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

File diff suppressed because it is too large Load Diff

260
MBN_STOCK_N/Control/UC5.cs Normal file
View 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; ;
}
}
}

View 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
View 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
View 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);
}
}
}
}

View 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
View 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
View 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)
{
}
}
}

View 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>

View 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", "아시아지도" }
};
}
}

View 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
}
}
}

View 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;
}
}
}
}

View 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();
// }
}
}

View 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();
}
}
}

View 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();
}
}

View 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;
}
}
}

View 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();
}
}

View 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;
}
}
}

View 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();
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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();
}
}

View 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
}
}

View 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
}
}

View 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
}
}

View 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
}
}

View 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
}
}

View 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
}
}

View 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
}
}

View 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
}
}
}

View 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
}
}
}

View 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
}
}

View 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
}
}

View 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
}
}
}

View 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
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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