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

註冊日期: Nov 2007
來  自:
文章數量: 1498

條件成立則執行A,否則執行B

A:
XC:=(O+H+L+C*3)/6,LINETHICK;
XO:=O,LINETHICK;
CC:=C;
for i=2 to datacount do begin
XO[i]:=(XO[i-1]+CC[i-1])/2;
end;

B:
CK:=DATE<>REF(DATE,1);
XC:=(O+H+L+C*3)/6,LINETHICK;
XO:=O,LINETHICK;
CC:=C;
for i=2 to datacount do begin
if CK[i]=0 then XO[i]:=(XO[i-1]+CC[i-1])/2;
end;

以上A,B為指標中之一部份.
請問總版主:
如果條件成立則執行A,否則執行B要如何處理?感恩!

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

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

回覆: 條件成立則執行A,否則執行B

引用:
最初由 Markchu7 發表
A:
XC:=(O+H+L+C*3)/6,LINETHICK;
XO:=O,LINETHICK;
CC:=C;
for i=2 to datacount do begin
XO[i]:=(XO[i-1]+CC[i-1])/2;
end;

B:
CK:=DATE<>REF(DATE,1);
XC:=(O+H+L+C*3)/6,LINETHICK;
XO:=O,LINETHICK;
CC:=C;
for i=2 to datacount do begin
if CK[i]=0 then XO[i]:=(XO[i-1]+CC[i-1])/2;
end;

以上A,B為指標中之一部份.
請問總版主:
如果條件成立則執行A,否則執行B要如何處理?感恩!



您的條件是否會隨K棒而改變成立狀態
還是, 自K棒頭到尾都是一個狀態呢?

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

註冊日期: Nov 2007
來  自:
文章數量: 1498

不會!條件很簡單,今天開盤與昨天收盤出現跳空50點(台當月)以上的差距就採用當日開盤起算的方法否則就採用連續日的算法!
請指導!感恩!

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

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

引用:
最初由 Markchu7 發表
不會!條件很簡單,今天開盤與昨天收盤出現跳空50點(台當月)以上的差距就採用當日開盤起算的方法否則就採用連續日的算法!
請指導!感恩!



如此會隨K棒變
且 A 的算法有跨日取 XO

故兩者都要算, 再依據條件取用誰的結果

例如:
SS:if(條件,A的結果,B的結果);

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

註冊日期: Nov 2007
來  自:
文章數量: 1498

經整合如下,請指導是否正確?
CK:=DATE<>REF(DATE,1);
跳空條件:=REF(ABS(C-O)>50,BARSLAST(CK));
XC:=(O+H+L+C*3)/6,LINETHICK;
CC:=C;

AXO:=O,LINETHICK;
for i=2 to datacount do begin
AXO[i]:=A(XO[i-1]+CC[i-1])/2;
end;

BXO:=O,LINETHICK;
for i=2 to datacount do begin
if CK[i]=0 then BXO[i]:=B(XO[i-1]+CC[i-1])/2;
end;
XO:=IF(跳空條件,BXO,AXO);

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

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

引用:
最初由 Markchu7 發表
經整合如下,請指導是否正確?
CK:=DATE<>REF(DATE,1);
跳空條件:=REF(ABS(C-O)>50,BARSLAST(CK));
XC:=(O+H+L+C*3)/6,LINETHICK;
CC:=C;

AXO:=O,LINETHICK;
for i=2 to datacount do begin
AXO[i]:=A(XO[i-1]+CC[i-1])/2;
end;

BXO:=O,LINETHICK;
for i=2 to datacount do begin
if CK[i]=0 then BXO[i]:=B(XO[i-1]+CC[i-1])/2;
end;
XO:=IF(跳空條件,BXO,AXO);



簡化如下:
原碼:

跳空CK
:=DATE<>REF(DATE,1) and ABS(C-O)>50;
XC:=(O+H+L+C*3)/6,LINETHICK;
CC:=C;
XO:O
for 
i=2 to datacount do begin
  
if 跳空CK[i]=0 then begin
    XO
[i]:=(XO[i-1]+CC[i-1])/2;
  
end;
end;

注意:
XC:=(O+H+L+C*3)/6,LINETHICK;
這行是多餘的, 看您之後算的東西並未將其帶入
是否留存您自己決定

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

註冊日期: Nov 2007
來  自:
文章數量: 1498

感謝總版主指導!XC是後面公式要用到的,感謝提醒!謝謝!

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

註冊日期: Nov 2007
來  自:
文章數量: 1498

跳空CK:=DATE<>REF(DATE,1) and ABS(C-O)>50;
XC:=(O+H+L+C*3)/6,LINETHICK;
CC:=C;
XO:O;
for i=2 to datacount do begin
if 跳空CK[i]=0 then begin
XO[i]:=(XO[i-1]+CC[i-1])/2;
end;
end;
將條件更改為以下會有錯誤訊息!
跳空CK:=DATATYPE>5;
請總版主指導解惑!感謝!

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

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

引用:
最初由 Markchu7 發表
跳空CK:=DATE<>REF(DATE,1) and ABS(C-O)>50;
XC:=(O+H+L+C*3)/6,LINETHICK;
CC:=C;
XO:O;
for i=2 to datacount do begin
if 跳空CK[i]=0 then begin
XO[i]:=(XO[i-1]+CC[i-1])/2;
end;
end;
將條件更改為以下會有錯誤訊息!
跳空CK:=DATATYPE>5;
請總版主指導解惑!感謝!



跳空CK:=DATATYPE>5;

這行的結果不是數列, 故無法用 [i] 的方式存取

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

註冊日期: Nov 2007
來  自:
文章數量: 1498

了解!以此條件而言,如何寫成數列?有勞再次指導!
每次拜讀總版主的大作,總是會創造一個C*0的數列(是數列沒錯吧?真的是沒有這方面的概念!),此例也可以如此處理嗎?以及放的位置在哪裡?
感恩!

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

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

引用:
最初由 Markchu7 發表
了解!以此條件而言,如何寫成數列?有勞再次指導!
每次拜讀總版主的大作,總是會創造一個C*0的數列(是數列沒錯吧?真的是沒有這方面的概念!),此例也可以如此處理嗎?以及放的位置在哪裡?
感恩!



DATATYPE>5
這式子變成數列沒什麼意義
成立時它自頭到尾永遠都成立
不成立時它自頭到尾永遠都不成立

Datatype 是取得目前在那一種數據週期
跳空CK:=DATATYPE>5; // <=== 正常來說, 跳空CK條件不可能僅給如此

故問題在於條件本質就有問題

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

註冊日期: Nov 2007
來  自:
文章數量: 1498

了解!
只是想在日線以下周期,採用當日起算的XO而已!變數名叫跳空是因為偷懶不想再去改而已!
我就用IF來達到效果亦可!感謝協助!

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

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們