奇狐社區論壇
在這個頁面顯示本主題全部的 8 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 如何讓曲線動態移動 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=17863)


由 tycoon868 在 2013-07-18 16:37 發表:

如何讓曲線動態移動

請教總版主

以下這個公式,只能讓 大盤DD 曲線永遠從120天前畫起

XX:=BarsLast(barpos=datacount-120) , Linethick0;
X:=REF(indexc,XX);
Y:=REF(CLOSE,XX);

DD:=( IndexC / X ) * Y , Linethick0 ;
大盤L%:=(( IndexC / X ) - 1)*100 ,linethick0,colorgreen;
個股L%:=((CLOSE / Y ) - 1)*100 ,linethick0,color6600ff;
個股:=C,linethick5,linethick0,precision1,color0099ff;
大盤:DD,linethick5,linethick5,precision1,color0099ff;

希望達到:拖曳畫面到20天前時,它可以從畫面上的最後一根(再往前推算到120天前)來重劃

P.S 永遠都是拖曳才有作用,移動十字游標時不作用

謝謝您


由 cgjj 在 2013-07-19 09:55 發表:

回覆: 如何讓曲線動態移動

引用:
最初由 tycoon868 發表
請教總版主

以下這個公式,只能讓 大盤DD 曲線永遠從120天前畫起

XX:=BarsLast(barpos=datacount-120) , Linethick0;
X:=REF(indexc,XX);
Y:=REF(CLOSE,XX);

DD:=( IndexC / X ) * Y , Linethick0 ;
大盤L%:=(( IndexC / X ) - 1)*100 ,linethick0,colorgreen;
個股L%:=((CLOSE / Y ) - 1)*100 ,linethick0,color6600ff;
個股:=C,linethick5,linethick0,precision1,color0099ff;
大盤D,linethick5,linethick5,precision1,color0099ff;

希望達到:拖曳畫面到20天前時,它可以從畫面上的最後一根(再往前推算到120天前)來重劃

P.S 永遠都是拖曳才有作用,移動十字游標時不作用

謝謝您





XX:=BarsLast(barpos=datacount-120) , Linethick0;

改為
PP:=SYSPARAM(3);
if PP<1 or PP>datacount then PP:=datacount;
if PP<=120 then exit;
XX:=BarsLast(barpos=PP-120) , Linethick0;

因為需動用 SYSPARAM 函數
故需搭配十字游標使用(才能抓到圖中最末根位置)


由 tycoon868 在 2013-07-19 11:32 發表:

完全取代了以前要用訓練模式才作得到的效果~感謝!!


由 tycoon868 在 2013-07-19 12:32 發表:

解決了


由 tycoon868 在 2015-06-10 16:58 發表:

總版主您好:

根據這個已經完成的原碼,需要新增以下三個需求:

1. 自動判讀當下切換的個股,如果為 台灣五十成分股,則當中的 IndexC 可以 改用 0050


2. 自動判讀當下切換的個股,如果為 台灣中型一百成分股,則當中的 IndexC 可以 改用 0051

3. 如果以上皆非,則維持 indexC


以上三個需求,麻煩您幫我加入適當的調整


感謝


由 cgjj 在 2015-06-11 10:29 發表:

引用:
最初由 tycoon868 發表
總版主您好:

根據這個已經完成的原碼,需要新增以下三個需求:

1. 自動判讀當下切換的個股,如果為 台灣五十成分股,則當中的 IndexC 可以 改用 0050


2. 自動判讀當下切換的個股,如果為 台灣中型一百成分股,則當中的 IndexC 可以 改用 0051

3. 如果以上皆非,則維持 indexC


以上三個需求,麻煩您幫我加入適當的調整


感謝



PP:=SYSPARAM(3);
if PP<1 or PP>datacount then PP:=datacount;
if PP<=120 then exit;
XX:=BarsLast(barpos=PP-120) , Linethick0;

BigC:=IndexC;
if INBLOCK('台灣50成份股') then BigC:="0050$CLOSE";
if INBLOCK('台灣中型100成份股') then BigC:="0051$CLOSE";

X:=REF(BigC,XX);
Y:=REF(CLOSE,XX);

DD:=( BigC / X ) * Y , Linethick0 ;
大盤L%:=(( BigC / X ) - 1)*100 ,linethick0,colorgreen;
個股L%:=((CLOSE / Y ) - 1)*100 ,linethick0,color6600ff;
個股:=C,linethick5,linethick0,precision1,color0099ff;
大盤:DD,linethick5,linethick5,precision1,color0099ff;


由 tycoon868 在 2015-06-18 16:59 發表:

總版主您好,端午佳節愉快

承接上面的引用三大成分股判別方式,延伸以下的需求,麻煩您支援

***************************************************************************

下面為轉折天數的計算方式

Bullish:=R2A>0;
Bullday:=Barslast(cross(R2A,0))+1;
Bearday:=Barslast(cross(0,R2A))+1;

轉折天數:IF(Bullish=1,Bullday,-Bearday),linethick0;

BigC:=IndexC;
if INBLOCK('台灣50成份股') then BigC:="105$CLOSE";
if INBLOCK('台灣中型100成份股') then BigC:="104$CLOSE";
if INBLOCK('富櫃50成份股') then BigC:="405$CLOSE";


************************************************************************************


我需要引用上面三個成分股指數的<轉折天數>

需求一: 如果當下畫面個股為 台灣五十成分股,則輸出 解盤函數explainex 為: 台灣五十轉折天數: <轉折天數>

如果當下畫面個股為 中型一百成分股,則輸出 解盤函數explainex 為: 中型一百轉折天數: <轉折天數>

如果當下畫面個股為 富櫃五十成分股,則輸出 解盤函數explainex 為: 富櫃五十轉折天數: <轉折天數>

需求二: 如果當下畫面個股都不是上列三種成分股

若是上市個股,則輸出 解盤函數explainex 為: 大盤轉折天數: <轉折天數>

若是上櫃個股,則輸出 解盤函數explainex 為: 上櫃轉折天數: <轉折天數>



<說明> 最主要是因為我不會引用 上列三種成分股指數的 <轉折天數>


感謝您!


由 cgjj 在 2015-06-18 17:22 發表:

引用:
最初由 tycoon868 發表
總版主您好,端午佳節愉快

承接上面的引用三大成分股判別方式,延伸以下的需求,麻煩您支援

***************************************************************************

下面為轉折天數的計算方式

Bullish:=R2A>0;
Bullday:=Barslast(cross(R2A,0))+1;
Bearday:=Barslast(cross(0,R2A))+1;

轉折天數:IF(Bullish=1,Bullday,-Bearday),linethick0;

BigC:=IndexC;
if INBLOCK('台灣50成份股') then BigC:="105$CLOSE";
if INBLOCK('台灣中型100成份股') then BigC:="104$CLOSE";
if INBLOCK('富櫃50成份股') then BigC:="405$CLOSE";


************************************************************************************


我需要引用上面三個成分股指數的<轉折天數>

需求一: 如果當下畫面個股為 台灣五十成分股,則輸出 解盤函數explainex 為: 台灣五十轉折天數: <轉折天數>

如果當下畫面個股為 中型一百成分股,則輸出 解盤函數explainex 為: 中型一百轉折天數: <轉折天數>

如果當下畫面個股為 富櫃五十成分股,則輸出 解盤函數explainex 為: 富櫃五十轉折天數: <轉折天數>

需求二: 如果當下畫面個股都不是上列三種成分股

若是上市個股,則輸出 解盤函數explainex 為: 大盤轉折天數: <轉折天數>

若是上櫃個股,則輸出 解盤函數explainex 為: 上櫃轉折天數: <轉折天數>



<說明> 最主要是因為我不會引用 上列三種成分股指數的 <轉折天數>


感謝您!



原碼:

BigC
:=IndexCBigStk:='100';
if 
INBLOCK('台灣50成份股'then begin
  BigC
:="105$CLOSE"BigStk:='105';
end else if INBLOCK('台灣中型100成份股'then begin
  BigC
:="104$CLOSE"BigStk:='104';
end else if INBLOCK('富櫃50成份股'then begin
  BigC
:="405$CLOSE"BigStk:='405';
end;
轉折天數:STKINDI(BigStk,'公式名稱.轉折天數',0,-1); 
//公式名稱和第四個參數請自行填入和調整


全部時間均為台灣時間, 現在時間為13:16
在這個頁面顯示本主題全部的 8 個文章


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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.