這個程式碼的來源是
APE大,不是我的原創,先行聲明。來源取得還經過 1127 一手 XD。
我說明一下這個程式碼的使用方式與用途。
用途:
用來作為程式交易的軟體平台可不是只有HTS,像是 TS / MC / WL 還有許多。就交易台指這項商品來說,HTS在盤中的資料提供與控制我認為相對於其他需要自己引介資料的軟體來說還是非常的方便的。所以當資料原有發生斷線或是錯價、漏價的時候,可以使用HTS來做為輔助功能,讓HTS輸出TXT的文字檔去餵給軟體使用。
使用方式:
先把隨後的程式碼做成買賣訊號,並且是單獨的買賣訊號,不可以混用在其他的買賣訊號之內。接著打開1分線圖,新增分析工具,把做好的買賣訊號放上1分線圖。

你會發現,什麼事都沒發生 =_= 其實就在把買賣訊號新增上去的時候,事情就已經做好啦。在電腦的硬碟上會在你所指定的位置生好TXT給你使用。

之後你就可以讓 TS 或是 MC 還是其他的軟體來匯入這個文字檔作為報價資料庫的維護使用了。
程式碼:
param: kbar(1);
//vars: atrr(0),arg(1.384),l_atr(4);
vars: mkbar(0),mko(0),mkh(0),mkl(0),mkc(0),mkv(0);
vars: s_prn(""),p_date(""),p_time(""),f_date(""); //{p_date =cdate(date),p_time =ctime(time)}
array: OoD1[84](-1);
//-define data level----------------------------------------
if(barinterval=1 && datacompression=1) then
//--init day change value-----------------------------------
if(date[0]<>date[1]) then
mkv =0; mko =openofd(0,OoD1); s_prn ="";
f_date="20"+midstr(numtostr(date,0),2,2)+midstr(numtostr(date,0),4,2)+midstr(numtostr(date,0),6,2);
end if;
//--main()--------------------------------------------------
//atrr =iff((averagetruerange(l_atr)<>0),truerange/averagetruerange(l_atr),0);
mkbar =mod(strtonum(midstr(numtostr(time,0),iff(strlen(numtostr(time,0))>5,3,2),2)),kbar);
mko =iff(mkbar=1 || kbar=1,o,mko);
mkh =iff(mkbar=0,highest(h,kbar),mkh);
mkl =iff(mkbar=0,lowest(l,kbar),mkl);
mkc =iff(mkbar=0,c,mkc);
mkv =iff(mkbar=1 || kbar=1,v,mkv+v);
//--make printable date and time----------------------------
p_date="20"+midstr(numtostr(date,0),2,2)+"/"+midstr(numtostr(date,0),4,2)+"/"+midstr(numtostr(date,0),6,2);
if(strlen(numtostr(time,0))>5) then
p_time=midstr(numtostr(time,0),1,2)+":"+midstr(numtostr(time,0),3,2);
else
p_time="0"+midstr(numtostr(time,0),1,1)+":"+midstr(numtostr(time,0),2,2);
end if;
if(mkbar=0) then
s_prn =s_prn+(p_date+","+p_time+","+numtostr(mko,0)+","+numtostr(mkh,0)+","+numtostr(mkl,0)+","+numtostr(mkc,0)+","+numtostr(mkv,0)+"|n");
//print(p_date+","+p_time+
// ","+numtostr(mko,0)+","+numtostr(mkh,0)+","+numtostr(mkl,0)+","+numtostr(mkc,0)+","+numtostr(mkv,0));
end if
//--do output-----------------------------------------------
if (f_date<>"") then //lastbaronchart
//print("C:\"+numtostr(kbar,0)+"min_txf"+f_date+".csv",s_prn);
filedelete("R:\TEMP\TXF_1min.txt");
fileAppend("R:\TEMP\TXF_1min.txt",s_prn);
end if
//-end of this indicator------------------------------------
end if
以上程式碼內的「
R:\TEMP\TXF_1min.txt 」
filedelete("R:\TEMP\TXF_1min.txt");
fileAppend("R:\TEMP\TXF_1min.txt",s_prn);
就是存放所輸出1分鐘線資料的檔案位置與名稱,請自行修改成你所需要的路徑與名稱。
有使用的人請到APE的部落格:
http://tw.myblog.yahoo.com/ape-research感謝一下原創吧^^...
read more