2014年10月5日 星期日

20131005 夏天在農村裡常常會遇到超多的蒼蠅

DIY捕蠅器

2014年9月30日 星期二

20140930 硬碟資料傳遞速度也很關鍵(SSD)

幾天沒po文了.
被一些鳥事搞得烏煙瘴氣.
聽說 i5等級的電腦跑起來的效能比 i7結果還棒.
真難以相信, 真難以接受.
公司電腦 i7 等級 8核心cpu ,4G記憶體. HDD 5400rpm.
另一位A同事 i5 等級 4核心cpu 2G 記憶體. HDD 7200rpm.
另一位B同事 i7 等級 8核心cpu 8G 記憶體. HDD 7200rpm.
另一位C同事 i5 等級 10G 記憶體. HDD 使用SSD.
本來都沒注意HDD硬碟的問題.
一心只想著電腦裡面掛載虛擬機之後在虛擬機內跑程式.效能應該會和 i7 cpu的level差異有關.
沒想到結果竟然是 i5的2台電腦都贏過我的i7 cpu.

結論就是HDD傳輸數據資料很重要.
最強的還是那個SSD的同事. i7的同事速度當然也很快. 我的速度最慢.
主因是 HDD只有 5400rpm.
速度 C>B>A>我的i7.  最優的還是SSD.


2014年9月20日 星期六

20140920 戒指拿不下來的解套方法

以前看過電視上找消防隊解套.
沒想到看到這影片好像很簡單就可以達成.
也不用一直抹肥皂水.  不過就是要自備"牙線"就是了.



2014年9月13日 星期六

20140913 my toy dde update

應該沒人在使用, 哈哈~.  不過還是修改一下. 
這個版本應該最多能使用到2014年底.  因為沒有把年份的判斷加進去
下圖是新版, 加入了商品選擇, 月份選擇.


新版載點
20140913My Toys DDE.7z

副檔名7z的壓縮是使用7zip壓縮的.
如果程式不能執行請下載安裝Microsoft
套件 vcredist_x86.exe 約4Mb


dde 和券商軟體的單量差異
基本上券商軟體上面show出來的成交單量, 和DDE及時抓到的單量有時候會不一樣.
可能券商軟體看到單量45, 但是dde單量是分成幾筆show出來. 這無法清楚知道為何?
如果要比較準確的單量, 可能還是需要券商有API可以呼叫使用.
透過券商的API取得單量的數值. 
DDE功能還是只能當作參考. 

2014年9月9日 星期二

20140910 幾篇VC有用教學

VC 自動改變元件位置的Dialog

轉載 CString的使用心得

有關UNICODE、ANSI字集和相關字串操作!!

CString的構造函數


MFC 改變static字體顏色、大小、背景顏色【自定義類】

VC界面編程skill tips-CListCtrl

改變 CListCtrl、CHeaderCtrl 高度、字體、顏色和背景

20140909 my toy dde update


20140909My Toys DDE.7z

step1.請先開啟券商的看盤程式.
step2.選擇券商(目前只支援3家券商HTS系列)
step3.選擇TXF台指或是小台指MXF
step4.設定value候按下"開始"


把PC time 拿掉. 用DDE 取時間.



通知聲音目前設定檔名為"WindowsDing.wav",可透過修改mytoysdde.ini(啟動程式後自動產生)
@請注意路徑可以改成自己想要的路徑. 但不要有中文路徑.
@Value的設定作用是當"單量"大於value所設定的數值,則會發出提示聲音.

2014年9月7日 星期日

20140908 DDE欄位簡單說明,以HTS舉例

以HTS 系列舉例 (ex: 大昌快易通 軟體商凱衛)
大昌 DDE 在excel 看到的現價:  DC|KS!TXFI4.124 
TXF代表 台指期的商品代碼
I代表9月
4代表2014的4
.124 代表現價
如果目前使用月份是11月則公式代碼如下:
現價: DC|KS!TXFK4.124
開盤價: DC|KS!TXFK4.130
最高價: DC|KS!TXFK4.131
最低價: DC|KS!TXFK4.132
成交量: DC|KS!TXFK4.133

以下為統一的HTS系列.
11月的公式代碼如下:
現價: PS|KS!TXFK4.124
開盤價: PS|KS!TXFK4.130
最高價: PS|KS!TXFK4.131
最低價: PS|KS!TXFK4.132
成交量: PS|KS!TXFK4.133


20140905 my Toy DDE for Vol

只有雛形, 單純只有觀測價格,時間和單量
設定檔的部分還沒完成.
還在考慮有沒有沒加入的東西.
思想常常沒有很周到.
固定欄位, 暫時不給修改DDE.


20140907 技術不到位OnInitDialog加入thread

想在OnInitDialog中加入一個thread.
但真正跑起來後, 竟然在thread 裡面crash掉.
還沒找到解法.  暫時只能不用thread 了.
取而代之用OnTimer.  最後成功.
需要加入這個
ON_WM_TIMER()




2014年9月6日 星期六

20140906 play store遇到 RPC S-3 error

https://www.youtube.com/watch?v=2jjoBF-2F2o

看完才知道, 主因使用備份還原後造成 要進入play store 發生 RPC S-3 error
解法: 把google 帳戶刪除
把google相關的app 站存資料都刪除.
就醬@.@  搞了幾個小時


2014年9月5日 星期五

20140905 多事中秋了

中秋節來了, 往往是轉折的節日.
感覺很多事情, 列下來也真的是一堆想做的事情.
但沒一樣拿手, 慢手慢腳.
似乎還是那股沉重的壓力在搗亂.
沉重的壓力還是只能怪自己太"急".
害死自己.
心神不寧~ 失眠~失眠~又失眠~
有時候想想那為"脫線"藝人.
負債千萬, 每天睜開眼睛就有算萬的負債等他還.
在想想友達,那種每天開門就要賠掉算億的金額.
真的不是一般人能想像,能體會的.
這條路難走, 一個"急"字,害死自己.
好快~今年中秋來了, 今年似乎又快過完了.
好沉重................

2014年9月3日 星期三

20140903 行車紀錄器一直秀low battery

一開機就 Low battery
插著電也是show Low battery. 然後就自動關機.

秉持著破壞的精神, 拆啦!


後來換一個電池,結果真的是電池壞了@.@



20140903 Timestamp Formats沒想到apple也有自己的time

原來時間好幾種@.@Timestamp Formats 

http://www.fmdiff.com/fm/timestamp.html?session=vc8uqio2fsg9op81ohnhbthclmsb21j3

20140903 只為了找MFC加入超連結

http://www.360doc.com/content/11/0416/20/5388813_110134108.shtml
http://hujie.best.blog.163.com/blog/static/12001552009111932930554/
收藏這篇  "VC小技巧收集(轉載自風林的家)"

今天想要把link: wonder1688.blogspot.com加在畫面上, 可以達到link功能.
找到 http://www.haogongju.net/art/2096590 
"MFC中用Static控件做超鏈接(可以實現變手形、下劃線、字體變色等功能)"
@
對我這新手來說,少了這四行. 這顏色也讓我想起多年前有一位高手要教我改顏色.
改到後來放棄, 也不知道哪邊出問題,改不成功. 沒想到這幾個func就解決了,哈哈~
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_CTLCOLOR()
@

http://blog.kingsamchen.com/archives/517
"如何在MFC設計超鏈接控件類"

http://big5.china-code.net/ap-ccpGU7Uyn2-4459.html
"巧妙實現超鏈接控制"

http://blog.sina.com.cn/s/blog_6288219501015eff.html
"VC++之MFC中超鏈接的製作"

想到如果不同的小toy都要增加, 那code不好reuse.
才知道因為不會用且不懂class所以會這樣@.@

dll 學習 ,原來還有很多不懂的@.@ 先放著
http://www.originality.idv.tw/webhosting/develop/sections/visual_c++/dll/regular.htm
動態載入 DLL, 靜態載入 DLL

一開始只想到link. 都忘記超連結的關鍵字了

2014年9月2日 星期二

20140902 好用工具 HttpWatch

 HttpWatch主要針對網站上  HTTP 協定分析的工具
我是一般使用者所以拿來分析部落格or知道IE再搞啥鬼就夠用了.
下圖是IE的用法.
網路上很多 HttpWatch 教學.
火狐的  http://download.ithome.com.tw/article/index/id/245
IE的  http://steachs.com/archives/1450




2014年8月31日 星期日

20140901 [轉貼]精英的思考基礎「拆解、簡化、專注」

來源 http://www.chinatimes.com/realtimenews/20140831001467-260405

你曾經長時間專注做某一件事情,不但不累反而覺得很爽,以致於忘了時間嗎?
這就是內心的能量高度集中,產生了「心流」經驗。
◎菁英的通則──拆解、簡化,於是能專注到忘了時間
Google:只找與自己一樣的人——懂得簡化,能夠專注——這種人有野心
亞馬遜的成功:簡化任務。先鎖定一個領域就好
鈴木一朗:把終極目標拆解成一百個小目標,好讓自己愛上打球,不是拿來當職業
彼得.杜拉克:好老師刻意不教,而是發掘學生專長,讓他先只發揮那項專長
精英的思考基礎其實就是拆解、簡化與專注,
專注不只是專心,一味專心只會讓人覺得枯燥,
專注有三個關鍵:
1.打開「動機」引擎、
2.設定稍微超出能力範圍的目標、
3.最終是為了得到「心流經驗」──長時間做某一件事卻覺得爽、有成就感
這些事其實小孩最懂,只是長大後你多半忘了。
◎怎麼執行「簡化」?──不做什麼,比做什麼更重要
● 先想「不做」什麼,再想「要做」什麼 (Simple)
專注其實是捨棄,把力氣用在留下來的。怎麼篩選:就是丟!你的腦袋學會斷、捨、離了嗎?
●把大事拆解成小事,用一件件「要做」的小事來成就一件大事(Small)
與其一口氣苦讀90小時,不妨拆解成每天利用通勤15分鐘,你會立即看到效果。
運動、減肥更是如此。

2014年8月29日 星期五

20140830 FoxTrader X狐

 FoxTrader X狐交易師

考慮過一陣子是不是要把 資料檔案放上來.
不過當然不會放有版權的程式檔. 是考慮放日資料,
 如果能做到5k也考慮看看要不要放5k資料

在網路上抓到這最重要的reg 要執行過一次, 才能正常在自己的電腦跑起來.



20140829 CString

之前有一個問題是,從檔案進來的資料, 有時候直接給CString會造成crash.
A.
CString inputfiledata
inputfiledata.Format("%s" ,readIn);
B.
CString inputfiledata(readIn);
A,B 2種寫法, 遇到A會crash.  B卻解決了.   估計應該是因為readIn 這個buffer裡面有ASCII,UNICODE 這類轉換的問題. MBS

2014年8月28日 星期四

20140828 update file

這邊try看看能不能固定一個檔案當做update 的file
結果不能上傳檔案.  那就當做記錄吧, 記錄這個點.
[20140828]version,0

2014年8月22日 星期五

20140823

市場上需求的條件. 以前都沒仔細想到底自己有幾斤重.
沒有針對紀律多加要求自己.
這是某 國際海選的基本條件

20140822

不能使用UI借面去抓code google上的東西.
需要透過cmd. svn checkout 才能正常work!

2014年8月20日 星期三

20140820

進度有點慢, 用券商軟體下載各股當日交易資訊.  券商下載來的tick資料.
一天資料要8Mb左右. 不過還每想到比較好的排列.

格式format:
X, X,時間,買價,賣價,成交價,成交量

台積電,2330,132424,12500,12550,12550,5
台積電,2330,132434,12500,12550,12550,4
台積電,2330,132445,12500,12550,12550,2
台積電,2330,132455,12500,12550,12550,6
台積電,2330,133000,12550,12600,12550,3519
台積電,2330,143000,0,0,12550,69
精英,2331,090111,2000,2005,2005,3
精英,2331,090131,2000,2005,2000,25
精英,2331,090222,2000,2010,2010,10
精英,2331,090342,2000,2010,2010,29
精英,2331,090423,2010,2015,2015,5
精英,2331,090543,2010,2015,2015,5
精英,2331,090613,2010,2015,2015,5


2014年8月19日 星期二

Amibroker ADK MT4 to Amibroker(coming soon)

原:
http://www.amibroker.com/devlog/2006/12/15/amibroker-development-kit-adk-for-cc-now-available-to-everyone/

畢竟是業餘amateur
花了很多時間才把MT4資料傳遞到Amibroker
目前只完成了傳遞資料. 瞭解了Amibroker收資料show 資料的流程.
後面有空才會在做一個介面.UI.


2014年1月4日 星期六

20140104 部位縮放法,移動停利法

http://wenschair.blogspot.tw/2013/09/18_18.html
★18種常用移動停利法--測試篇
http://wenschair.blogspot.tw/2013/09/18.html

http://wenschair.blogspot.tw/2013/09/18_17.html


http://wenschair.blogspot.tw/2013/10/blog-post.html
 四種必學的部位縮放法之開放程式碼。
     →固定收益部位縮放法(Fixed Profit position sizing)
     →固定總資金風險部位縮放法(Fixed risk% position sizing)
     →保證金目標部位縮放法(Fixed Margin position sizing)
     →最大連續虧損資金部位縮放法(MaxDD position sizing)


2014年1月3日 星期五

20140104 MT4 讓離線圖自動更新.

http://forum.mql4.com/12970
Execute EA without waiting for a tick?
有人這樣寫的
EA starts on tick.
Script starts without a tick.
直接使用script是不用透過tick來處發產生資料

http://forum.mql4.com/25152

http://www.metatrader4.com/forum/2227
官方回答

//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#include <WinUser32.mqh>

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
   int hWnd = WindowHandle(Symbol(),Period());
   PostMessageA(hWnd,MT4InternalMsg,2,1);
//----
   return(0);
  }

2014年1月1日 星期三

20140101 MT4雜項紀錄

http://www.520fx.com/forum.php?mod=viewthread&tid=40972&page=1&authorid=39167

MT4裡邊會有一些比較底層,不被寫入help的用法,這些用法在某些方面是至關重要的。MT4窗口之間使用消息通訊機制,所以可以在EA,或者外部程序通過消息,來控制MT4的一些行為,下邊就列出已經知道的一些用法。

#include <WinUser32.mqh>
#define MT4_WMCMD_PERIOD_D1       33134
#define MT4_WMCMD_PERIOD_H4       33136
#define MT4_WMCMD_PERIOD_M1       33137
#define MT4_WMCMD_PERIOD_M5       33138
#define MT4_WMCMD_PERIOD_M15      33139
#define MT4_WMCMD_PERIOD_M30      33140
#define MT4_WMCMD_PERIOD_W1       33141
#define MT4_WMCMD_MOVE_RIGHT      33197
#define MT4_WMCMD_MOVE_LEFT       33198

PostMessageA(hwnd, WM_COMMAND,MT4_WMCMD_MOVE_RIGH, 2); //可以向左移動一個bar
PostMessageA(hwnd,MW_COMMAND,MT4_WMCMD_PERIOD_M5,0);//轉換為週期

>>>>>>>>>>>>>>>>>>>>
另外一些消息是通過 註冊一種MT4特有的消息類型,通訊

1 觸發EA的start函數運行一次
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,2,1);

2 讓圖表跳到某一個時間點
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,55,time1);

3 調用指標,腳本到圖表
#import "user32.dll"
  int RegisterWindowMessageA(string lpstring);
  int PostMessageA(int hWnd,int Msg,int wParam,int lParam); //注意這個必須是在這裡,而且頭文件不能添加 #include <WinUser32.mqh>
#import
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,15,"ATR");
//調用指標"ATR"

PostMessageA(hwnd,MT4InternalMsg,16,"test");
//調用腳本"test"

當然還有以供參考,如下:

PostMessageA(hwnd, MT4InternalMsg, 13, StandartIndicatorName);
PostMessageA(hwnd, MT4InternalMsg, 14, EAName);
PostMessageA(hwnd, MT4InternalMsg, 15, CustomIndicatorName);
PostMessageA(hwnd, MT4InternalMsg, 16, ScriptName);


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

因為使用消息機制,所以這些代碼是可以移植到外部程序實現,可以實現mt4和外部程序良好交互。
這些在mt4的官方論壇有介紹
MT4也可以執行外部程序。 比如在腳本裡執行 cmd.exe
程序如下
#import "Kernel32.dll"
   int WinExec(string,int);
#import
int start()
  {
    WinExec("CMD",0);
     return(0);
  }

就可以利用腳本打開 cmd命令行了。



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void SendTickToChart() {
int hwnd = WindowHandle(Symbol(), Period());
if (IsDllsAllowed()) {
int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd, msg, 2, 0);
PostMessageA(hwnd, msg, 2, 1);
}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//+------------------------------------------------------------------+
//|                                                 IncomingTick.mq4 |
//|                      Copyright c 2006, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright c 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
   int hWnd = WindowHandle(Symbol(),Period());
   PostMessageA(hWnd,MT4InternalMsg,2,1);
//----
   return(0);
  }
//+------------------------------------------------------------------+


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
終於搞定了,是用腳本的,代碼如下:
refresh.mq4 |
//|                                                               fw |
//|                                                              clc |
//+------------------------------------------------------------------+
#property copyright "fw"
#property link      "clc"
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   while(IsStopped()==false)
     {
      static int hwnd = 0;
      hwnd = WindowHandle(Symbol(), Period());
      PostMessageA(hwnd,WM_COMMAND,33324,0);
      Sleep(500);
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
http://blog.csdn.net/yangmingxtx/article/details/8503060

MetaTrader軟件的功能擴展(關於程序補丁製作的一個例子)

  

>>>>>>>>>>>>> 20140107  update
1. 讓offline 可以畫面tick跳動是用 
      hwnd = WindowHandle(Symbol(), Period());
      PostMessageA(hwnd,WM_COMMAND,33324,0);

2. 讓offline 可以使用EA正常工作是使用  (正常可以在start() 當中列印訊息,會印出來,不正常就印不出來,會只跑init() )
   int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
   int hWnd = WindowHandle(Symbol(),Period());
   PostMessageA(hWnd,MT4InternalMsg,2,1);