到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 關於 IF THEN
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
arthur_ju
初級會員

註冊日期: Mar 2008
來  自:
文章數量: 11

關於 IF THEN

想請問關於 IF 的用法

我的程式
IF Signal = 0 THEN Weight := 0 ;
結果出現語法錯誤

我有看論壇中關於 If...Then 的寫法
Try了好幾次 一直都不行
請問 錯誤為何??

還是只能用 IF( , , ) ; 這種方式?

感恩

向版主報告此篇 | 查IP位址
Old Post 2009-12-02 11:41
arthur_ju 現在離線 點選這裡查看 arthur_ju 的個人資料 點選這裡給 arthur_ju 傳送一條短訊 查找更多關於 arthur_ju 的文章 增加 arthur_ju 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

回覆: 關於 IF THEN

引用:
最初由 arthur_ju 發表
想請問關於 IF 的用法

我的程式
IF Signal = 0 THEN Weight := 0 ;
結果出現語法錯誤

我有看論壇中關於 If...Then 的寫法
Try了好幾次 一直都不行
請問 錯誤為何??

還是只能用 IF( , , ) ; 這種方式?

感恩



IF Signal = 0 THEN Weight := 0 ;

您公式中的 Signal 變數應是數列
故不能直接帶入 IF cond THEN 的 條件式cond 當中

看看這邊的解說對您應該有幫助
http://www.chiefox.com.tw/bbs/showt...=&threadid=9991

向版主報告此篇 | 查IP位址
Old Post 2009-12-02 12:15
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
arthur_ju
初級會員

註冊日期: Mar 2008
來  自:
文章數量: 11

回覆: 回覆: 關於 IF THEN

引用:
最初由 cgjj 發表
IF Signal = 0 THEN Weight := 0 ;

您公式中的 Signal 變數應是數列
故不能直接帶入 IF cond THEN 的 條件式cond 當中

看看這邊的解說對您應該有幫助
http://www.chiefox.com.tw/bbs/showt...=&threadid=9991



如果用這種方式
for i=1 to datacount do begin
if myHour[i]=9 and myMin[i]=1 then begin
........
end;
end;
這樣在計算上會不會變很慢????

如果我只需要從畫面上的第一根K線開始計算
請問要用哪一個函數

感謝您

向版主報告此篇 | 查IP位址
Old Post 2009-12-02 12:41
arthur_ju 現在離線 點選這裡查看 arthur_ju 的個人資料 點選這裡給 arthur_ju 傳送一條短訊 查找更多關於 arthur_ju 的文章 增加 arthur_ju 至你的好友列表 編輯/刪除訊息 引用回覆
arthur_ju
初級會員

註冊日期: Mar 2008
來  自:
文章數量: 11

回覆: 回覆: 回覆: 關於 IF THEN

引用:
最初由 arthur_ju 發表
如果用這種方式
for i=1 to datacount do begin
if myHour[i]=9 and myMin[i]=1 then begin
........
end;
end;
這樣在計算上會不會變很慢????

如果我只需要從畫面上的第一根K線開始計算
請問要用哪一個函數

感謝您



看了飛鳥兄給我的一些範例
SNo:=sysparam(2); ENo:=sysparam(3);
我想這樣應該就ok了吧
感謝各位大大

向版主報告此篇 | 查IP位址
Old Post 2009-12-02 12:53
arthur_ju 現在離線 點選這裡查看 arthur_ju 的個人資料 點選這裡給 arthur_ju 傳送一條短訊 查找更多關於 arthur_ju 的文章 增加 arthur_ju 至你的好友列表 編輯/刪除訊息 引用回覆
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

想起寫下單機是抓動態數據
用vb

if .. then ,,
都還覺得隨心映手

但轉到奇狐這靜態數列
套上
OO:O;
CC:C;
for i=1 to datacount do begin
if OO[i]>CC[i] then begin

腦筋真是臨時轉不過來

不過確實這[i]若稿清楚了奇狐誰能與它相比
因此請版主由簡而繁能多起例

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


最後由 hwyhon 在 2009-12-02 13:40 編輯 向版主報告此篇 | 查IP位址
Old Post 2009-12-02 13:33
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

引用:
最初由 hwyhon 發表
想起寫下單機是抓動態數據
用vb

if .. then ,,
都還覺得隨心映手

但轉到奇狐這靜態數列
套上
OO:O;
CC:C;
for i=1 to datacount do begin
if OO[i]>CC[i] then begin

腦筋真是臨時轉不過來

不過確實這[i]若稿清楚了奇狐誰能與它相比
因此請版主由簡而繁能多起例



公式以迴圈存取數列的用法 與 VBScript 中以迴圈存取數列的用法
兩者的方式與觀念相同的, 差別僅在語法字元
奇狐公式 CC[i] 相當於 VBScript 中的 CC(i)

下面三個範例結果相同:

範例1: 採用 if(cond,a,b) 寫法

M05:=MA(C,05);
M15:=MA(C,15);
SS:if(M05>=M15,H,L);

向版主報告此篇 | 查IP位址
Old Post 2009-12-04 20:27
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

範例2: 採用奇狐的迴圈與數列來處理

原碼:

M05
:=MA(C,05);
M15:=MA(C,15);

StNo:=MAX(lbound(M05),lbound(M15)); //有效起始位置,取兩者中最大的
HH:=HLL:=LSS:C*0;
x:=SETLBOUND(SS,StNo); //設定SS數列起始位置
for i=StNo to datacount do begin
  
if M05[i]>M15[ithen begin
    SS
[i]:=HH[i];
  
end else begin
    SS
[i]:=LL[i];
  
end;
end;

向版主報告此篇 | 查IP位址
Old Post 2009-12-04 20:28
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18091

範例3:換用 VBScript 處理迴圈與數列

原碼:

M05
:=MA(C,05);
M15:=MA(C,15);

StNo:=MAX(lbound(M05),lbound(M15)); //有效起始位置,取兩者中最大的
HH:=HLL:=LSS:C*0;
x:=SETLBOUND(SS,StNo); //設定SS數列起始位置
<%
M05=FFL.VarData("M05"'將公式 M05 這數列,導入VBS裡的 M05 數列
M15=FFL.VarData("M15") '
將公式 M15 這數列,導入VBS裡的 M15 數列
SHH
=FFL.VarData("HH"'將公式 HH 這數列,導入VBS裡的 SHH 數列
SLL=FFL.VarData("LL") '
將公式 LL 這數列,導入VBS裡的 SLL 數列
SSS
=FFL.VarData("SS"'將公式 SS 這數列,導入VBS裡的 SSS 數列
for i=lbound(SSS) to ubound(SSS)
  if M05(i)>M15(i) then 
    SSS(i)=SHH(i)
  else 
    SSS(i)=SLL(i)
  end if
next
FFL.VarData("SS")=SSS '
將VBS裡的 SSS 這數列導出給公式 SS 數列
%>



您會發覺 範例2 與 範例3 迴圈中的式子幾乎完全雷同

有學過 Basic 這類傳統程式語言過的人
把它想像成您是在處理 VB中的迴圈與數列
自然就不會被 [i] 迷惑嚕

向版主報告此篇 | 查IP位址
Old Post 2009-12-04 20:30
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
hwyhon
資深會員

註冊日期: Sep 2004
來  自: 台中
文章數量: 332

感謝版主的回應與教導
盼請版主有機會多用類似此例
於奇狐基本函數能做到的語法與迴圈數列的求法
相輝映的利子

再深入到基本函數無法辦到的式子
如此定是我等狐友之福音阿

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易


向版主報告此篇 | 查IP位址
Old Post 2009-12-05 09:23
hwyhon 現在離線 點選這裡查看 hwyhon 的個人資料 點選這裡給 hwyhon 傳送一條短訊 查找更多關於 hwyhon 的文章 增加 hwyhon 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為17:16 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們