新手,請幫忙看看這個函數(shù)
作者:金字塔 來源:cxh99.com 發(fā)布時間:2016年08月20日
- 咨詢內(nèi)容:
因為我發(fā)現(xiàn)在公式編輯器里直接使用sendmail函數(shù)真的好卡好卡 所以我想把我需要的信息都寫入到具有發(fā)郵件功能的自定義函數(shù)里面,然后再公式里直接執(zhí)行。
因為剛開始接觸金字塔,以前也沒學(xué)過VBA,所以對金字塔的對象的一些用法還不是很熟悉 麻煩斑竹幫我看看
Function jf_mail(Formula,n) If Formula.WorkMode = 0 Then Exit Function End If jf_mail=0
Set jfmainGrid = GetMainGrid ’獲得當(dāng)前指標(biāo)的主圖對象 symbol=jfmainGrid.StockName ’獲取主圖對象的品種名稱 prperio=jfmainGrid.CycType ’獲得主圖當(dāng)前周期屬性 并且在下面的select case函數(shù)里得到實際的周期數(shù)值 Select Case prperio
Case 0
perio=1
Case 1
perio=5
Case 2
perio=15
Case 3
perio=30
Case 4
perio=60
Case 5
perio=240
Case Else
perio=0
End Select Set jfHistory = Grid.GetHistoryData() ’獲取當(dāng)前指標(biāo)窗體對象 now_j=jfHistory.j(jfHistory .Count-1) ’獲取當(dāng)前kdj的 j 值 if jfHistory.j(jfHistory .Count-2)>=now_j ’對比j值 看是上升還是下降,上升則賦值con1字符到kdj_dk,下降則賦值kdj_dk為con2 Then kdj_dk="con1" else kdj_dk="con2"
mailcont= symbol + "M" + prperio + " KDJ." + kdj_dk + "." + now_j ’將獲取到的數(shù)值都加起來賦值給mailcont ’下面是發(fā)郵件的部分 Set smtpmail=CreateObject("jfmail.smtpmail") smtpmail.sendername="111" smtpmail.senderaddress="111@126.com" smtpmail.subject="預(yù)警郵件"' Call smtpmail.addreceiver("1","111@126.com") '前面第一個參數(shù)不知道是什么 Call smtpmail.addtextcontent(mailcont) Call smtpmail.sender("smtp.126.com","111@126.com","111")End Function
想確認(rèn)的是1 獲得主窗體的品種名,當(dāng)前周期, 獲得指標(biāo)窗口(假設(shè)是KDJ指標(biāo))的J值并對比與前一根k對應(yīng)的J值 方法是否正確,如果不對該怎么寫2 發(fā)郵件就這樣子寫就可以了嗎
[此貼子已經(jīng)被作者于2016-7-7 1:23:59編輯過]
- 金字塔客服:
我的目的是在公式里的某個條件成立的時候執(zhí)行這個函數(shù),并且讓這個函數(shù)里有指標(biāo)和當(dāng)前品種的幾個信息
- 用戶回復(fù):
請問你這個公式有什么運行問題嗎?
- 網(wǎng)友回復(fù):
沒反應(yīng)、、、、
Function jfma(Formula,n) jfma=0 d=0 MsgBox dEnd Function
新建了這個一個自定義函數(shù)
然后我在公式里寫aaa:if(ref(c,2)!=ref(c,1),JFMA(0),0);
這樣子也沒反應(yīng)
- 網(wǎng)友回復(fù):
自己調(diào)試一下,看看到底這個自定義函數(shù)被你的PEL公式調(diào)用了沒有