寫了一隻籌碼和技術分析程式一段時間了,
也做了幾次追蹤及回測,
這邊主要就用來記錄篩選後的週個股,
短期表現如何(1天~2個月)。
此為08/23產出的資料,
籌碼選股缺點 : 上週買的可能是這週要賣的。
程式已用比較安全牌的方式篩選,
即便當週個股被買爆 !!!
也可能當週通通倒給你爽。
所以搭配位階及技術分析,
會相對安全點。
程式挑的嘛,
別計較太多,
我就懶~
#程式選股僅用於學習並自我紀錄,無買賣推薦之意,勿隨便跟單,盈虧自負。
#勝一#德微#超眾#均豪精密#正文#致新。
Ulmas - Learning Record
Ulmas股票籌碼週報
2020年8月26日 星期三
2016年3月14日 星期一
C# Winform 子父視窗 傳值
這是我認為父子視窗之間最容易的傳值方法。
首先是建立會帶入參數的子視窗 form2 。
呼叫時記得帶入值。
由於呼叫子視窗form2是使用ShowDialog(),
所以記得在form2的button屬性中設定DialogResult為ok即可 。
首先是建立會帶入參數的子視窗 form2 。
public Form2(string parament) //父視窗傳入的值
{
InitializeComponent();
label2.Text = parament;
}
public string fm2_Text; //記錄傳回form1的值
private void button2_Click(object sender, EventArgs e)
{
fm2_Text = textBox2.Text;
}
父視窗form1的部份,基本上就是呼叫子視窗,
呼叫時記得帶入值。
private void button1_Click(object sender, EventArgs e)
{
Form2 fm2= new Form2("hello");
if (fm2.ShowDialog() == DialogResult.OK)
{
this.label1.Text = fm2.fm2_Text;
}
}
由於呼叫子視窗form2是使用ShowDialog(),
所以記得在form2的button屬性中設定DialogResult為ok即可 。
2016年2月25日 星期四
C# Winform 只能執行一個應用程式 不可重複
避免應用程式重複執行。
在Program.cs 的static void Main()加入此段
//是否可以打開新進程
bool newApp;
//獲取程式集Guid作為唯一標識
Attribute flag = Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(GuidAttribute));
string guid = ((GuidAttribute)flag).Value;
_mutex = new System.Threading.Mutex(true, guid, out newApp);
if (false == newApp)
{
//發現重複進程
MessageBox.Show("應用系統不可重複開啟!");
return;
}
_mutex.ReleaseMutex();
2016年2月18日 星期四
Javascript 跑馬燈 Marquee 2種方法 (ex. 讀取中, 請稍候...)
方法1
( for IE only )
javascript 內容
var it=0
function initialize(){
mytext=typing.innerText
var myheight=typing.offsetHeight
typing.innerText=''
document.all.typing.style.height=myheight
typeit()
}
function typeit(){
typing.insertAdjacentText("beforeEnd",mytext.charAt(it))
if (it < mytext.length - 1)
{
it++
setTimeout("typeit()",100)
}
return
}
if (document.all)
document.body.onload=initialize
html部份如下:
< SPAN id=typing style="FONT-SIZE: 18pt; COLOR: #1A61A9; FONT-FAMILY: 新細明體; LETTER-SPACING: 2pt">讀取中, 請稍候‥‥‥‥‥‥< /SPAN>方法2 ( for IE CHROME FIREFOX ) javascript 內容
var text = "讀取PNR中, 請稍候‥‥‥‥‥‥";
var delay=50;
var currentChar=1;
var destination="[not defined]";
function type()
{
if (document.getElementById)
{
var dest=document.getElementById(destination);
if (dest)// && dest.innerHTML)
{
dest.innerHTML=text.substr(0, currentChar);
//dest.innerHTML+=text[currentChar-1];
currentChar++
if (currentChar>text.length)
{
currentChar=1;
setTimeout("type()", 5000);
}
else
{
setTimeout("type()", delay);
}
}
}
}
function startTyping(textParam, delayParam, destinationParam)
{
text=textParam;
delay=delayParam;
currentChar=1;
destination=destinationParam;
type();
}
html部份如下:
< body onload="startTyping(text, 50, 'textDestination');">...< /body>
2016年2月17日 星期三
C# 獲取客戶端主機位址 (真實ip 或代理 ip)
if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
{
ClientIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
//取得真實用戶端的IP
}
else
{
ClientIP = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
//取得用戶端的IP(有可能為代理伺服器)
}
2016年2月3日 星期三
Nujabes luv sic
寫程式的時後我會專注某一首歌曲,
從早天到晚反覆聽直到下班。
Nuhabes 我寫程式的好夥伴,
所製作的 jazz hip-hop 節奏旋律細膩易共鳴,
清新雋永值得一聽再聽,
從素人唱片行店員到知名DJ的音樂生涯更具故事性。
可惜
因車禍意外過世..........傳奇的結尾也是傳奇。
Nujabes luv sic part 1 - 6 愛情的所有階段我想都包含在內了。
C# Asp.net 利用 winform 控制 web server 記憶體
目前被指派寫一個winform常駐程式,
比對資料庫資料和call總部webservice的回傳值是否有異,
若有則更新資料庫資料。
原本以為定時比對利用timer跑個迴圈比對就沒事了,
結果更新完資料庫資料後,
發現台灣local這邊的網站顯示資料卻沒有更新!!!
Orz....
細查發現公司webform應用程式顯示資料時,
是先看伺服器記憶體中(global.asax記錄了定期更新的資料及最後updatedTime)有無暫存資料,
若有就直接讀取不再浪費連線效能,
因此我的常駐程式勢必得想辦法重新啟動伺服器記憶體或修改global.asax的最後updatedTime,
想了老半天才發現原來方法沒那麼複雜........想太多.........
在公司webform應用程式中寫一段webserive用來更新global.asax的updatedTime
(公司是設定一個月前的舊資料就連線資料庫撈資料,再將最新資料儲存伺服器記憶體內),
然後我的常駐winform呼叫此webservice修改updatedTime就可以達成我想要的目的,
就這麼簡單,
程式碼三行完成需求......但這三行卻浪費我想一天,果然太嫩...。
比對資料庫資料和call總部webservice的回傳值是否有異,
若有則更新資料庫資料。
原本以為定時比對利用timer跑個迴圈比對就沒事了,
結果更新完資料庫資料後,
發現台灣local這邊的網站顯示資料卻沒有更新!!!
Orz....
細查發現公司webform應用程式顯示資料時,
是先看伺服器記憶體中(global.asax記錄了定期更新的資料及最後updatedTime)有無暫存資料,
若有就直接讀取不再浪費連線效能,
因此我的常駐程式勢必得想辦法重新啟動伺服器記憶體或修改global.asax的最後updatedTime,
想了老半天才發現原來方法沒那麼複雜........想太多.........
在公司webform應用程式中寫一段webserive用來更新global.asax的updatedTime
(公司是設定一個月前的舊資料就連線資料庫撈資料,再將最新資料儲存伺服器記憶體內),
然後我的常駐winform呼叫此webservice修改updatedTime就可以達成我想要的目的,
就這麼簡單,
程式碼三行完成需求......但這三行卻浪費我想一天,果然太嫩...。
[WebMethod(EnableSession = true)]
public void changeUpdateTime()
{
HttpContext.Current.Application.Lock();
Global.dictionaryDom.lastUpdateTime = DateTime.Now.AddYears(-5);
HttpContext.Current.Application.UnLock();
}
訂閱:
意見 (Atom)