通達信自動交易函數(shù)股票自動交易軟件助手提供了Order.dll , 擴展了大智慧,,飛狐,通達信等公式語言的函數(shù),。利用這些函數(shù),,可以在公式里精細控制下單邏輯和交易策略。比如讀取持倉數(shù)據(jù),,可用資金,,指定下單數(shù)量等等。 需要注意的是,,一般情況下,,并不需要在公式里調(diào)用這些函數(shù)就能實現(xiàn)股票程序化的交易策略。對于一般用戶,,或者對大部分常用指標(biāo)來說,,使用公式預(yù)警條件單更加方便,簡單,,而不需要在公式里調(diào)用下單函數(shù),。只需要建立對應(yīng)的助手預(yù)警條件單,并在大智慧,,通達信等軟件中設(shè)置好預(yù)警指標(biāo)即可,。只有在使用股票池自動交易或者圖表交易,純公式下單的情況下才需要這些函數(shù),。 要使用股票自動交易軟件助手提供的交易函數(shù),,先把 order.dll 復(fù)制到 通達信目錄 T0002\dlls 下面,然后還要綁定DLL,,查看如何綁定DLL,。通達信調(diào)用過Order.dll后,助手會在通達信目錄下生成 “助手日志” 目錄,,里面有調(diào)用函數(shù)的日志信息,,可以查看這個日志信息來確定調(diào)用是否正確,條件是否成立等等。一般條件成立了但是助手沒反應(yīng),,可以看這個日志來找出原因,。如果這日志的顯示是正常的,你可以進一步去助手的安裝目錄里查看助手日志進一步確定原因,。 重要提示股票自動交易軟件助手提供的有些函數(shù)的參數(shù),是 條件和變量的乘積,,如 買入 函數(shù)的最后個參數(shù)就是 條件*數(shù)量,。表示在條件為1(即成立的情況下),買入對應(yīng)數(shù)量的股票,。比如 條件*1000, 條件成立的情況下,,條件就是1,乘以1000結(jié)果就是1000股,,助手就會買入1000股,,在條件不成立的情況下條件的數(shù)值就會等于0,乘以1000結(jié)果也是0,,代表條件不成立,,因此助手不會買入。注意:條件只能是邏輯判斷值,,1或者0,,不能是其他運算的結(jié)果,例如 條件:=C >0;不要條件:=C;或條件:=MA(C,5)這樣,,前者是邏輯判斷值,,后面是數(shù)值計算。 重要提示2通達信的調(diào)用外部dll函數(shù)的方式比較特別,,首先需要綁定dll,,綁定到第幾號dll,函數(shù)調(diào)用的函數(shù)名就是 TDXDLL數(shù)字 ,,我們一般綁定助手Order.dll為第一個dll,,因此調(diào)用助手提供的函數(shù)的名字都是 TDXDLL1,表示調(diào)用第一個綁定的dll,,也就是Order.dll,。此外每個調(diào)用都必須指定調(diào)用的是dll里的第幾個函數(shù),Order.dll提供的買入函數(shù)是第一個函數(shù),,因此調(diào)用買入函數(shù)就像這樣:買入股票:=TDXDLL1(1, STR2CON(CODE), 1, 100);其中第一個參數(shù)1,,表示第一個函數(shù)就是買入函數(shù)。同理,,賣出股票函數(shù)是第二個函數(shù),,因此調(diào)用賣出函數(shù)就像這樣:賣出股票:TDXDLL1(2, STR2CON(CODE), 2, 100);其他函數(shù)余此類推。 另外,通達信的函數(shù)最多只能有4個參數(shù),,并且參數(shù)不能省略,,而有些助手函數(shù)不需要那么多參數(shù)的,這時候只要填0就行,。并且通達信的參數(shù)只能傳遞數(shù)值,,因此股票要傳遞股票代碼的時候調(diào)用 STR2CON(CODE), 這樣來傳遞。由于最多只能傳遞4個參數(shù),,因此不能像大智慧一樣指定助手編號,,如果要指定助手編號,需要調(diào)用 選擇賬戶1:=TDXDLL1(7, 1, 0, 0); 這樣來調(diào)用,。大部分情況下可以忽略不管助手編號,。只有在對不同的助手(對應(yīng)的不同交易軟件的交易賬戶)使用不同的下單數(shù)量時才需要用到。如果你從來沒改過助手設(shè)置里的助手編號,,所有助手都會執(zhí)行下單動作,,在這種情況下,即使開了多個助手,,也不需理會這個參數(shù),。
函數(shù)說明TDXDLL1(1, 股票代碼, 公式編號,條件*數(shù)量)條件成立時(即 條件:=1),買入指定數(shù)量的股票 參數(shù)
例子{上穿5日均線買入1000股} 條件:Cross(C, MA(C,5)); 買入股票:=TDXDLL1(1, STR2CON(CODE), 1, 條件*1000); TDXDLL1(2, 股票代碼, 公式編號,條件*數(shù)量)條件成立時(即 條件:=1),賣出指定數(shù)量的股票 參數(shù)
例子{下穿5日均線賣出} 條件:Cross( MA(C,5), C); 賣出股票:=TDXDLL1(2, STR2CON(CODE), 2, 條件*1); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的持倉數(shù)量(股) 參數(shù)
例子個股持倉股數(shù): TDXDLL1(3, STR2CON(CODE), 0, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的可賣數(shù)量(股) 參數(shù)
例子個股可賣股數(shù): TDXDLL1(3, STR2CON(CODE), 1, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的成本價(元) 參數(shù)
例子成本價: TDXDLL1(3, STR2CON(CODE), 2, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的盈利金額(元) 參數(shù)
例子盈利金額: TDXDLL1(3, STR2CON(CODE), 3, 0) TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的盈利百分比(%) 參數(shù)
例子盈利百分比: TDXDLL1(3, STR2CON(CODE), 4, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的持倉市值(元) 參數(shù)
例子持倉市值: TDXDLL1(3, STR2CON(CODE), 5, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的下單天數(shù) 參數(shù)
例子下單天數(shù): TDXDLL1(3, STR2CON(CODE), 6, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的持倉天數(shù) 參數(shù)
例子持倉天數(shù): TDXDLL1(3, STR2CON(CODE), 7, 0); TDXDLL1(3, 股票代碼, 類型, 0)查詢當(dāng)前股票的上次買入價 參數(shù)
例子上次買入價: TDXDLL1(3, STR2CON(CODE), 8, 0); TDXDLL1(4, 股票代碼,下單類型, 查詢類型)查詢當(dāng)前股票的可撤買單數(shù)量(股) 參數(shù)
例子可撤買單數(shù)量: TDXDLL1(4, STR2CON(CODE), 0, 0); TDXDLL1(4, 股票代碼,下單類型, 查詢類型)查詢當(dāng)前股票的可撤買單距現(xiàn)在的時間(秒) 參數(shù)
例子買單已過秒數(shù): TDXDLL1(4, STR2CON(CODE), 0, 1); TDXDLL1(4, 股票代碼,下單類型, 查詢類型)查詢當(dāng)前股票的可撤賣單數(shù)量(股) 參數(shù)
例子可撤賣單數(shù)量: TDXDLL1(4, STR2CON(CODE), 1, 0); TDXDLL1(4, 股票代碼,下單類型, 查詢類型)查詢當(dāng)前股票的可撤賣單距現(xiàn)在的時間(秒) 參數(shù)
例子賣單已過秒數(shù): TDXDLL1(4, STR2CON(CODE), 1, 1); TDXDLL1(6, 股票代碼, 條件*類型, 0)條件成立時撤銷當(dāng)前股票的買單 參數(shù)
例子買單已過秒數(shù):= TDXDLL1(4, STR2CON(CODE), 0, 1); 條件:買單已過秒數(shù) > 60; 撤買單:=TDXDLL1(6, STR2CON(CODE), 條件*1, 0); TDXDLL1(6, 股票代碼, 條件*類型, 0)條件成立時撤銷當(dāng)前股票的賣單 參數(shù)
例子賣單已過秒數(shù): TDXDLL1(4, STR2CON(CODE), 1, 1); 條件:賣單已過秒數(shù) > 60; 撤賣單 := TDXDLL1(6, STR2CON(CODE), 條件*2, 0); TDXDLL1(5, 類型, 0, 0)查詢當(dāng)前賬號的總資產(chǎn) 參數(shù)
例子賬戶總資產(chǎn) : TDXDLL1(5, 0, 0, 0); TDXDLL1(5, 類型, 0, 0)查詢當(dāng)前賬號的可用資金 參數(shù)
例子賬戶可用資金 : TDXDLL1(5, 1, 0, 0); TDXDLL1(5, 類型, 0, 0)查詢當(dāng)前賬號的總持倉市值 參數(shù)
例子賬戶總持倉市值 : TDXDLL1(5, 2, 0, 0); TDXDLL1(5, 類型, 0, 0)查詢當(dāng)前賬號的總盈利金額 參數(shù)
例子賬戶總盈利金額 : TDXDLL1(5, 3, 0, 0); TDXDLL1(5, 類型, 0, 0)查詢當(dāng)前賬號的持倉個數(shù) 參數(shù)
例子持倉個數(shù) : TDXDLL1(5, 4, 0, 0); TDXDLL1(9, 股票代碼, 條件*清倉類型)條件成立時執(zhí)行清倉操作 參數(shù)
例子{此例子假定當(dāng)前股票池只有上證指數(shù)一個股票,當(dāng)上證指數(shù)跌破5日均線清倉} 條件:Cross(MA(C,5), C); 清倉:= TDXDLL1(9, STR2CON(CODE), 條件*1, 0); TDXDLL1(9, 股票代碼, 條件*清倉類型)條件成立時執(zhí)行半清倉操作 參數(shù)
例子{此例子假定當(dāng)前股票池只有上證指數(shù)一個股票,當(dāng)上證指數(shù)跌破5日均線清半倉} 條件:Cross(MA(C,5), C); 清半倉:= TDXDLL1(9, STR2CON(CODE), 條件*2, 0); TDXDLL1(12, 股票代碼, 條件)條件成立時啟動助手自動交易,,相當(dāng)于按下助手開始按鈕 參數(shù)
例子{此例子假定當(dāng)前股票池只有上證指數(shù)一個股票,當(dāng)上證指數(shù)上穿5日均線開啟自動交易} 條件:Cross(C, MA(C,5)); 啟動交易:= TDXDLL1(12, STR2CON(CODE), 條件, 0); TDXDLL1(13, 股票代碼, 條件)條件成立時停止助手自動交易,相當(dāng)于按下助手停止按鈕 參數(shù)
例子{此例子假定當(dāng)前股票池只有上證指數(shù)一個股票,當(dāng)上證指數(shù)下穿5日均線停止自動交易} 條件:Cross( MA(C,5), C); 停止交易:= TDXDLL1(13, STR2CON(CODE), 條件, 0); TDXDLL1(10, 股票代碼, 條件)條件成立時讓當(dāng)前股票的止損止盈或條件單生效 參數(shù)
例子{當(dāng)前股票價格在5日均線之上時讓該股票的止損止盈或條件單生效} 條件:C > MA(C,5); 啟用條件:= TDXDLL1(10, STR2CON(CODE), 條件, 0); TDXDLL1(11, 股票代碼, 條件)條件成立時禁止當(dāng)前股票的止損止盈或條件單執(zhí)行 參數(shù)
例子{當(dāng)前股票價格在5日均線之下時禁止當(dāng)前股票的止損止盈或條件單執(zhí)行} 條件:C < MA(C,5); 禁止條件:= TDXDLL1(11, STR2CON(CODE), 條件, 0); TDXDLL1(14, 股票代碼, 條件)條件成立時刷新持倉數(shù)據(jù) 參數(shù)
例子條件:Cross(c, MA(c,5)); 刷新持倉:=TDXDLL1(14, STR2CON(CODE), 條件, 0); TDXDLL1(15, 股票代碼, 類型, 價格)設(shè)置買入價格 參數(shù)
例子{設(shè)定賣5價買入} 設(shè)定買入價:=TDXDLL1(15, STR2CON(CODE) , 0, DYNAINFO(21)+0.04); TDXDLL1(15, 股票代碼, 類型, 價格)設(shè)置賣出價格 參數(shù)
例子{設(shè)定買5價賣出} 設(shè)定賣出價:=TDXDLL1(15, STR2CON(CODE) , 1, DYNAINFO(20)-0.04); TDXDLL1(16, 股票代碼, 數(shù)值)把數(shù)值寫到當(dāng)前日志文件里,方便調(diào)試 參數(shù)
例子{此例子把當(dāng)前最新周期的收盤價寫到日志文件,此文件位于大智慧或通達信等軟件的助手日志下面} 寫日志:=TDXDLL1(16, STR2CON(CODE), C, 0); TDXDLL1(17, 股票代碼, 數(shù)值)把數(shù)值以消息框的形式彈出來顯示,方便調(diào)試 參數(shù)
例子{此例子把當(dāng)前最新周期的收盤價彈出消息框} 消息框:=TDXDLL1(17, STR2CON(CODE), C, 0); TDXDLL1(7, 助手編號, 賬號編號)指定助手編號 參數(shù)
例子{指定(切換)助手編號,后面所有語句都是針對這個編號為1的助手起作用} 選擇賬戶1:=TDXDLL1(7, 1, 0, 0);}
尊貴版選擇賬戶例子{指定(切換)賬號編號,,后面所有語句都是針對這個編號為1的賬號起作用,賬號編號以助手條件單里的排序為準} 選擇賬戶1:=TDXDLL1(7, 0, 1, 0);} TDXDLL1(18, 股票代碼, 發(fā)送方式, 條件*消息類型)條件成立時發(fā)送郵件,QQ,微信信息 參數(shù)
例子{價格大于10元發(fā)送類型為5的郵件} 條件:C > 10; 發(fā)郵件:=TDXDLL1(18, STR2CON(CODE), 0, 條件*5); |
|