以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 高级功能研发区 (http://222.73.7.161/bbs/list.asp?boardid=5) ---- [原创]获取近月主力和远月主力 (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=30873) |
-- 作者:z7c9 -- 发布时间:2012/11/23 22:13:40 -- 救助版主:我用机构版,把账户分类了两个组,用全部账户登录,第二组有了信号但没有成交 sub getmaincontracts() market=array("sq","dq","zq","zj") file="c:\\contracts.ini" set block0=createobject("stock.block") set block1=createobject("stock.block") for i=0 to ubound(market) for j=0 to marketdata.getreportcount(market(i))-1 set myreport=marketdata.getreportdatabyindex(market(i),j) suffixlabel=right(myreport.label,2) if suffixlabel="00" then if contractlabel0<>"" and contractlabel1<>"" then if contractstockname0<contractstockname1 then mycontractlabel0=contractlabel0 mycontractstockname0=lcase(mylabel&contractstockname0) mycontractmarket0=contractmarket0 mycontractlabel1=contractlabel1 mycontractstockname1=lcase(mylabel&contractstockname1) mycontractmarket1=contractmarket1 else mycontractlabel0=contractlabel1 mycontractstockname0=lcase(mylabel&contractstockname1) mycontractmarket0=contractmarket1 mycontractlabel1=contractlabel0 mycontractstockname1=lcase(mylabel&contractstockname0) mycontractmarket1=contractmarket0 end if mycontract0=document.getprivateprofilestring(mylabel,"contract0","0",file) mycontract1=document.getprivateprofilestring(mylabel,"contract1","0",file) if myc and myc then document.writeprivateprofilestring mylabel,"contract0",mycontractstockname0,file document.writeprivateprofilestring mylabel,"contract1",mycontractstockname1,file else if mycontract0<>mycontractstockname0 then application.msgout mylabel&" 近月换月啦~~~" &mycontract0&" ---> "&mycontractstockname0 end if if mycontract1<>mycontractstockname1 then application.msgout mylabel&" 远月换月啦~~~ "&mycontract1&" ---> "&mycontractstockname1 end if end if block0.addstock mycontractmarket0,mycontractlabel0 block1.addstock mycontractmarket1,mycontractlabel1 document.setextstring mylabel+"_contract0",mycontract0 document.setextstring mylabel+"_contract1",mycontract1 end if c" c" c" contractopenint1=0 if market(i)="dq" then mylabel=lcase(left(myreport.label,1)) else mylabel=lcase(left(myreport.label,2)) end if elseif suffixlabel>="01" and suffixlabel<="12" then if myreport.openint=contractopenint0 then contractlabel0=myreport.label contractstockname0=right(myreport.stockname,4) contractmarket0=market(i) contractopenint0=myreport.openint elseif myreport.openint>=contractopenint1 then contractlabel1=myreport.label contractstockname1=right(myreport.stockname,4) contractmarket1=market(i) contractopenint1=myreport.volume end if end if next next if contractlabel0<>"" and contractlabel1<>"" then if contractstockname0<contractstockname1 then mycontractlabel0=contractlabel0 mycontractstockname0=lcase(mylabel&contractstockname0) mycontractmarket0=contractmarket0 mycontractlabel1=contractlabel1 mycontractstockname1=lcase(mylabel&contractstockname1) mycontractmarket1=contractmarket1 else mycontractlabel0=contractlabel1 mycontractstockname0=lcase(mylabel&contractstockname1) mycontractmarket0=contractmarket1 mycontractlabel1=contractlabel0 mycontractstockname1=lcase(mylabel&contractstockname0) mycontractmarket1=contractmarket0 end if mycontract0=document.getprivateprofilestring(mylabel,"contract0","0",file) mycontract1=document.getprivateprofilestring(mylabel,"contract1","0",file) if myc and myc then document.writeprivateprofilestring mylabel,"contract0",mycontractstockname0,file document.writeprivateprofilestring mylabel,"contract1",mycontractstockname1,file else if mycontract0<>mycontractstockname0 then application.msgout mylabel&" 近月换月啦~~~" &mycontract0&" ---> "&mycontractstockname0 end if if mycontract1<>mycontractstockname1 then application.msgout mylabel&" 远月换月啦~~~ "&mycontract1&" ---> "&mycontractstockname1 end if end if block0.addstock mycontractmarket0,mycontractlabel0 block1.addstock mycontractmarket1,mycontractlabel1 document.setextstring mylabel+"_contract0",mycontract0 document.setextstring mylabel+"_contract1",mycontract1 end if block0.tosave "自选","近月主力" block1.tosave "自选","远月主力" end sub |
-- 作者:gz12345678gz -- 发布时间:2012/11/23 23:28:05 -- 这是VBA还是宏?怎么使用啊?还望明示,呵呵 |
-- 作者:solarhe2006 -- 发布时间:2012/11/25 16:42:07 -- sub getmaincontracts() market=array("sq","dq","zq","zj") file="c:\\contracts.ini" set block0=createobject("stock.block") set block1=createobject("stock.block") for i=0 to ubound(market) for j=0 to marketdata.getreportcount(market(i))-1 set myreport=marketdata.getreportdatabyindex(market(i),j) suffixlabel=right(myreport.label,2) if suffixlabel="00" then if contractlabel0<>"" and contractlabel1<>"" then if contractstockname0<contractstockname1 then mycontractlabel0=contractlabel0 mycontractstockname0=lcase(mylabel&contractstockname0) mycontractmarket0=contractmarket0 mycontractlabel1=contractlabel1 mycontractstockname1=lcase(mylabel&contractstockname1) mycontractmarket1=contractmarket1 else mycontractlabel0=contractlabel1 mycontractstockname0=lcase(mylabel&contractstockname1) mycontractmarket0=contractmarket1 mycontractlabel1=contractlabel0 mycontractstockname1=lcase(mylabel&contractstockname0) mycontractmarket1=contractmarket0 end if mycontract0=document.getprivateprofilestring(mylabel,"contract0","0",file) mycontract1=document.getprivateprofilestring(mylabel,"contract1","0",file) if myc and myc then document.writeprivateprofilestring mylabel,"contract0",mycontractstockname0,file document.writeprivateprofilestring mylabel,"contract1",mycontractstockname1,file else if mycontract0<>mycontractstockname0 then application.msgout mylabel&" 近月换月啦~~~" &mycontract0&" ---> "&mycontractstockname0 end if if mycontract1<>mycontractstockname1 then application.msgout mylabel&" 远月换月啦~~~ "&mycontract1&" ---> "&mycontractstockname1 end if end if block0.addstock mycontractmarket0,mycontractlabel0 block1.addstock mycontractmarket1,mycontractlabel1 document.setextstring mylabel+"_contract0",mycontract0 document.setextstring mylabel+"_contract1",mycontract1 end if c" c" c" contractopenint1=0 if market(i)="dq" then mylabel=lcase(left(myreport.label,1)) else mylabel=lcase(left(myreport.label,2)) end if elseif suffixlabel>="01" and suffixlabel<="12" then if myreport.openint=contractopenint0 then contractlabel0=myreport.label contractstockname0=right(myreport.stockname,4) contractmarket0=market(i) contractopenint0=myreport.openint elseif myreport.openint>=contractopenint1 then contractlabel1=myreport.label contractstockname1=right(myreport.stockname,4) contractmarket1=market(i) contractopenint1=myreport.volume end if end if next next if contractlabel0<>"" and contractlabel1<>"" then if contractstockname0<contractstockname1 then mycontractlabel0=contractlabel0 mycontractstockname0=lcase(mylabel&contractstockname0) mycontractmarket0=contractmarket0 mycontractlabel1=contractlabel1 mycontractstockname1=lcase(mylabel&contractstockname1) mycontractmarket1=contractmarket1 else mycontractlabel0=contractlabel1 mycontractstockname0=lcase(mylabel&contractstockname1) mycontractmarket0=contractmarket1 mycontractlabel1=contractlabel0 mycontractstockname1=lcase(mylabel&contractstockname0) mycontractmarket1=contractmarket0 end if mycontract0=document.getprivateprofilestring(mylabel,"contract0","0",file) mycontract1=document.getprivateprofilestring(mylabel,"contract1","0",file) if myc and myc then document.writeprivateprofilestring mylabel,"contract0",mycontractstockname0,file document.writeprivateprofilestring mylabel,"contract1",mycontractstockname1,file else if mycontract0<>mycontractstockname0 then application.msgout mylabel&" 近月换月啦~~~" &mycontract0&" ---> "&mycontractstockname0 end if if mycontract1<>mycontractstockname1 then application.msgout mylabel&" 远月换月啦~~~ "&mycontract1&" ---> "&mycontractstockname1 end if end if block0.addstock mycontractmarket0,mycontractlabel0 block1.addstock mycontractmarket1,mycontractlabel1 document.setextstring mylabel+"_contract0",mycontract0 document.setextstring mylabel+"_contract1",mycontract1 end if block0.tosave "自选","近月主力" block1.tosave "自选","远月主力" end sub |
-- 作者:gz12345678gz -- 发布时间:2012/11/26 12:39:41 -- 有人在吗? |