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