 |
mhlin999
中級會員
註冊日期: Jan 2005
來 自:
文章數量: 34 |
程式出錯,請給予指點
主要想知道當天收盤價以上的2個壓力點位置
壓力點的定義是:今天收盤價大於明天收盤價時,今天收盤價看作壓力點
未來上漲時會遇到的最近的2個壓力點想表達在上方文字欄
寫好後編譯為調試通過,但執行時出現"腳本錯誤"等訊息,2次後會關掉奇狐
祈請幫忙修正錯誤程式,先此致謝!
//壓力--最近的, 前一個
DRAWSL(C>refx(C,1) and not(islastbar),C,0,3,3),color44dddd;
prsck:if(C>refx(C,1),C,-1),linethick0,colorwhite;
prspp:=barslast(prsck<>-1),linethick0,colorwhite;
prs:ref(prsck,prspp),,linethick0,colorwhite;//最近的壓力
drawtext(cross(refx(C,1),prs),prs,'過壓'),shift1,linethick0,colorwhite;
pr2:ref(prsck,ref(prspp,prspp+1)+prspp+1),linethick0,colorwhite;//前一個壓力
px:=prsck,linethick0;
cc:=C,linethick0;
pp1:=0;
pp2:=0;
<%
prsck = FFL.VarData("prsck")
px = FFL.VarData("px")
CC = FFL.VarData("CC")
pp1 = FFL.VarData("pp1")
pp2 = FFL.VarData("pp2")
prsUB=Ubound(prsck)
prsLB=Lbound(prsck)
pn=0
gg=1
for kk = prsLB to prsUB
if prsck[prsUB-gg]<=cc[prsUB] then px[prsUB-gg]=-1
if prsck[prsUB-gg]>cc[prsUB] then pn=pn+1
if prsck[prsUB-gg]>cc[prsUB] and pn=1 then pp1=prsUB-gg
if prsck[prsUB-gg]>cc[prsUB] and pn=2 then pp2=prsUB-gg
if pn>=2 then break
gg=gg+1
next
FFL.VarData("px")=px
FFL.VarData("pp1")=pp1
FFL.VarData("pp2")=pp2
%>
p1: px[1],linethick0,colorgreen;
p2: px[2],linethick0,colorgreen;
p1p: ref(prsck,pp1),colorgreen;
p2p: ref(prsck,pp2),colorgreen;
//
mhlin999 附帶上了此圖片:
|
|
向版主報告此篇 |  |
|
2012-03-10 21:51 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
回覆: 程式出錯,請給予指點
引用: 最初由 mhlin999 發表
主要想知道當天收盤價以上的2個壓力點位置
壓力點的定義是:今天收盤價大於明天收盤價時,今天收盤價看作壓力點
未來上漲時會遇到的最近的2個壓力點想表達在上方文字欄
寫好後編譯為調試通過,但執行時出現"腳本錯誤"等訊息,2次後會關掉奇狐
祈請幫忙修正錯誤程式,先此致謝!
//壓力--最近的, 前一個
DRAWSL(C>refx(C,1) and not(islastbar),C,0,3,3),color44dddd;
prsck:if(C>refx(C,1),C,-1),linethick0,colorwhite;
prspp:=barslast(prsck<>-1),linethick0,colorwhite;
prs:ref(prsck,prspp),,linethick0,colorwhite;//最近的壓力
drawtext(cross(refx(C,1),prs),prs,'過壓'),shift1,linethick0,colorwhite;
pr2:ref(prsck,ref(prspp,prspp+1)+prspp+1),linethick0,colorwhite;//前一個壓力
px:=prsck,linethick0;
cc:=C,linethick0;
pp1:=0;
pp2:=0;
<%
prsck = FFL.VarData("prsck")
px = FFL.VarData("px")
CC = FFL.VarData("CC")
pp1 = FFL.VarData("pp1")
pp2 = FFL.VarData("pp2")
prsUB=Ubound(prsck)
prsLB=Lbound(prsck)
pn=0
gg=1
for kk = prsLB to prsUB
if prsck[prsUB-gg]<=cc[prsUB] then px[prsUB-gg]=-1
if prsck[prsUB-gg]>cc[prsUB] then pn=pn+1
if prsck[prsUB-gg]>cc[prsUB] and pn=1 then pp1=prsUB-gg
if prsck[prsUB-gg]>cc[prsUB] and pn=2 then pp2=prsUB-gg
if pn>=2 then break
gg=gg+1
next
FFL.VarData("px")=px
FFL.VarData("pp1")=pp1
FFL.VarData("pp2")=pp2
%>
p1: px[1],linethick0,colorgreen;
p2: px[2],linethick0,colorgreen;
p1p: ref(prsck,pp1),colorgreen;
p2p: ref(prsck,pp2),colorgreen;
//
<% 到 %> 之間是嵌入奇狐內的 vbscript 程式碼
vbscript 的程式語法與奇狐的公式程式語法並不相同
您把奇狐用的語法放入了 vbscript 程式碼片段之中
當然會出現 "腳本錯誤"
奇狐數列可用 XX[n] 存取, 但 vbscript 中需以 XX(n) 來存取
注意: 奇狐數列自壹數起, vbscript 數列自零數起
公式寫作問題, 麻煩請到 [ 指標公式 > 問題交流 ] 區發問
謝謝!
|
|
向版主報告此篇 |  |
|
2012-03-12 22:38 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|