2015年8月31日 星期一

DNN-初次聯網出現IIS 404/500 Error Message

初次聯網出現IIS 404/500 Error Message
解決方法:
http://www.dotnetnuke.com/Resources/Forums/forumid/89/postid/345924/scope/posts.aspx
主要修改Web.config

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="RequestFilter" type="DotNetNuke.HttpModules.RequestFilter.RequestFilterModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="UrlRewrite" type="DotNetNuke.HttpModules.UrlRewriteModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="MobileRedirect" type="DotNetNuke.HttpModules.MobileRedirectModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="Exception" type="DotNetNuke.HttpModules.Exceptions.ExceptionModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="UsersOnline" type="DotNetNuke.HttpModules.UsersOnline.UsersOnlineModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="DNNMembership" type="DotNetNuke.HttpModules.Membership.MembershipModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="Personalization" type="DotNetNuke.HttpModules.Personalization.PersonalizationModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="Analytics" type="DotNetNuke.HttpModules.Analytics.AnalyticsModule, DotNetNuke.HttpModules" preCondition="managedHandler" />
      <add name="Services" type="DotNetNuke.HttpModules.Services.ServicesModule, DotNetNuke.HttpModules" />
      <remove name="UrlRoutingModule-4.0" />
      <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
      <add name="ClientDependencyModule" type="ClientDependency.Core.Module.ClientDependencyModule, ClientDependency.Core" />
      <add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule, Telerik.Web.UI" preCondition="managedHandler" />
      <add name="Detector" type="FiftyOne.Foundation.Mobile.Detection.DetectorModule, FiftyOne.Foundation" preCondition="managedHandler" />
      <remove name="FormsAuthentication" />
      <add name="FormsAuthentication" type="Mvolo.Modules.FormsAuthModule" />


      <!--把這行註解,避免500 or 404 錯誤 -->
      <!--<add name="Authentication" type="DotNetNuke.Authentication.ActiveDirectory.HttpModules.AuthenticationModule, DotNetNuke.Authentication.ActiveDirectory" />-->
    </modules>

DNN-安裝注意事項

把下載下來的DNN install file
-->放置於C:\inetpub\wwwroot\DNN706
-->檔案屬性 取消唯讀

C:\inetpub\wwwroot\DNN706 檔案內容-->安全性
增加IIS_IUSER 修改權限
IIS --> DNN706目錄 (右鍵) 轉換為應用程式
IIS 勾選匿名驗證
設定應用程式集 --> 增加 名稱:DNN  /  .Net版本挑選4.0  /  整合式



開發環境設定

C:\windows\system32\drivers\etc\hosts
新增hostname
127.0.0.1     dnndev

IIS --> 站台 --> Default Web Site -->(右邊選單)
在 [站台繫結] 對話方塊中,選取要新增主機標頭的繫結,然後按一下 [編輯] 或按一下 [新增] 新增含有主機標頭的繫結。
在 [主機名稱] 方塊中,輸入站台的主機標頭,例如 dnndev。

2015年8月30日 星期日

SQL - 連兩週千張大戶增幅超過1%

select a.StockNo ,a.DATE '本週' , a.Rate '本週持股比' , b.Rate '上週持股比',
round((cast(a.Rate as float) - cast(b.Rate as float)),2) '增幅%'
from
(select *,id0=row_number()over(order by StockNo , Date) from Stockholder where Item = '1000001' )a,  --本周
(select *,id0=row_number()over(order by StockNo , Date) from Stockholder where Item = '1000001' )b,  --前一周
(select *,id0=row_number()over(order by StockNo , Date) from Stockholder where Item = '1000001' )c  --前兩周
where 1=1
and a.id0=b.id0+1
and b.id0=c.id0+1
and a.StockNo = b.StockNo
and a.StockNo = c.StockNo
and a.Date = '20150821'
and round((cast(a.Rate as float) - cast(b.Rate as float)),2) > 1
and round((cast(b.Rate as float) - cast(c.Rate as float)),2) > 1

Stock - 資料來源List


1.集保戶股權分散表查詢(千張大戶)
http://www.tdcc.com.tw/smWeb/QryStock.jsp

2.抓上市與上櫃各股每月營收
http://mops.twse.com.tw/nas/t21/sii/t21sc03_104_1_0.html

3.抓股票每日開盤收盤價
[Google]
https://www.google.com/finance/historical?q=TPE:2330&startdate=1/31/1986&start=30&num=30

[政府資料開放平台]-[上市]
http://data.gov.tw/iisi/logaccess/6007?dataUrl=http://www.twse.com.tw/ch/trading/exchange/STOCK_DAY_ALL/STOCK_DAY_ALL.php?download=csv&ndctype=CSV&ndcnid=11549

[上櫃每日收盤價]
http://www.tpex.org.tw/web/stock/aftertrading/otc_quotes_no1430/stk_wn1430_download.php?l=zh-tw&se=EW&s=0,asc,0

[凱基證券]
http://www.kgieworld.com.tw/stock/stock_2_7.aspx?findex=1

[Yahoo] -個股(歷史資料)
http://ichart.finance.yahoo.com/table.csv?s=1234.TW
註: 上市.TW / 上櫃 .TWO

[Yahoo]-盤中股價
http://download.finance.yahoo.com/d/quotes.csv?f=1d1t1c1bhgavp2&s=1234.TW
註: 上市.TW / 上櫃 .TWO

[Yahoo] 加權指數
http://download.finance.yahoo.com/d/quotes.csv?f=1d1t1hgvp2&s=^TWII

4.上市每日個股當沖量
http://www.twse.com.tw/ch/trading/exchange/TWTB4U/TWTB4U.php?input_date=104/09/15
5.上櫃每日個股當沖量 http://www.tpex.org.tw/web/stock/trading/intraday_stat/intraday_trading_stat_download.php?l=zh-tw&d=104/09/18&c=&s=0,asc,0
6.上市每日個股EPS
http://www.twse.com.tw/ch/trading/exchange/BWIBBU/BWIBBU_d.php
http://www.twse.com.tw/ch/trading/exchange/BWIBBU/BWIBBU_print.php?language=ch&save=csv
7.上櫃每日個股EPS
http://www.tpex.org.tw/web/stock/aftertrading/peratio_analysis/pera_download.php?l=zh-tw&d=104/09/28&c=&s=0,asc,0

python - 日期迴圈

在網路上撈取歷史資料網站時,時常要下時間條件,因此常用到時間迴圈
import datetime as dt
    startdate = dt.datetime(2015, 8,1)
    end_ate = dt.datetime(2015, 12,31)

    totaldays = (enddate - startdate).days + 1

    #在for迴圈內作業。
    for daynumber in range(totaldays):
        datestring = (startdate + dt.timedelta(days = daynumber)).date()
        #print datestring.strftime("%Y%m%d")
     

Python - 安裝步驟 for Win7

1.先在windows環境安裝python-2.7.8.msi
(下載位置: https://www.python.org/download/releases/2.7.8/)

2.把get-pip.py
放置於C:\Python27\目錄下
執行: python get-pip.py
(下載位置: https://pip.pypa.io/en/latest/installing.html)

3.安裝pymssql
c:\Python27\Scripts\pip install pymysql

4.安裝 beautifulsoup4
c:\Python27\Scripts\easy_install beautifulsoup4

5.安裝 requests
C:\Python27\Scripts>pip install requests

SQL-如何透過MS SQL Server寄信(Gmail)

1.可先參考
http://www.dotblogs.com.tw/michaelchen/archive/2015/01/11/database_mail_use_gmail_stmp.aspx
進行基本設定

2.設定完畢後,若無法正常寄信,先檢查 "Database Mail Server 紀錄"
若出現 "Gmail 無法正常寄信 5.5.1 Authentication Required. Learn more ..." 的錯誤訊息,表示Gmail 帳號驗證不正確
可參考 http://demo.tc/post/807 設定 "Gmail應用程式密碼"

3.設定完畢後,再重新設定SQL Server Database Mail 之設定即可。

2015年8月29日 星期六

SQL-爆量長紅

select W.StockNo , W.Date , W.xOpen '開盤價', W.xClose '收盤價', W.xHigh '最高價', W.xLow '最低價',
W.xVolume '成交量', X.Volume_20MA '20MA成交量', W.Rate '漲跌幅'
from StockDailyHis as W
join Volume_20MA as X on W.Date = X.Date and W.StockNo = X.StockNo
where cast(W.Rate as float) > 4 --漲4%以上
and cast(W.xVolume as float) > 1000 --成交量千張以上
and cast(W.xVolume as float) > cast(X.Volume_20MA as float) *3  --今日成交量超過3倍20日均量
and W.xClose > W.xOpen --紅K
order by W.Date , W.StockNo

2015年8月28日 星期五

SQL-20日平均量

select A.StockNo , A.Date , (
select round(avg(cast(B.xVolume as float)),2)  from
(select top 20 cast(C.xVolume as float) xVolume from StockDailyHis C
  where C.Date<=A.Date and C.StockNo = A.StockNo order by C.Date desc) B
) Volume_20MA from StockDailyHis A where
1=1 and A.Date >= '20140101'
group by A.StockNo, A.Date
order by A.StockNo , A.Date

2015年8月27日 星期四

SQL-個股每日漲跌幅

select a.StockNo ,a.DATE '今日' , a.xClose '今日收盤價' , b.xClose '昨日收盤價',
round(((cast(a.xClose as float) - cast(b.xClose as float))/ cast(a.xClose as float)) * 100,2) '漲跌幅'
from
 (select *,id0=row_number()over(order by StockNo , Date) from StockDailyHis )a,  --今天
 (select *,id0=row_number()over(order by StockNo , Date) from StockDailyHis )b   --昨天
where 1=1
and a.id0=b.id0+1
and a.StockNo = b.StockNo
and a.Date >= '20140101'

2015年8月26日 星期三

SQL-收盤價55日均線

select A.Date , (
select round(avg(cast(B.xClose as float)),2) from
(select top 55 cast(C.xclose as float) xClose from StockDailyHis C
  where C.Date<=A.Date and C.StockNo = A.StockNo order by C.Date desc) B
) from StockDailyHis A where StockNo = '1234'

2015年8月21日 星期五

SQL-股價撈取跳空邏輯

select a.StockNo ,a.DATE '今日' , a.xLow '今日最低', b.xHigh '昨日最高' , a.xClose '今日收盤價' , b.xClose '昨日收盤價'
from
 (select *,id0=row_number()over(order by StockNo , Date) from StockDailyHis )a,  --今天
 (select *,id0=row_number()over(order by StockNo , Date) from StockDailyHis )b   --昨天
where
a.id0=b.id0+1
and cast(a.xLow as decimal) > cast(b.xHigh as decimal)
and a.StockNo = b.StockNo
and a.xClose >= a.xOpen --紅K
and a.Date >= '20150701'
and a.Date <= '20150731'
order by a.StockNo , a.Date