![]() |
在這個頁面顯示本主題全部的 25 個文章 |
奇狐社區論壇 (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=8887)
請教寫法?
我想請教如何將兩種指標公式例如:KD及MACD合併後
有什麼方法 , 只出現一次的買進和賣出訊號?
RSV:= (CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
ENTERLONG:CROSS(K,D) or CROSS(MACD,0);
EXITLONG:CROSS(D,K) or CROSS(0,MACD);
回覆: 請教寫法?
引用:
最初由 yetl 發表
我想請教如何將兩種指標公式例如:KD及MACD合併後
有什麼方法 , 只出現一次的買進和賣出訊號?
RSV:= (CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
ENTERLONG:CROSS(K,D) or CROSS(MACD,0);
EXITLONG:CROSS(D,K) or CROSS(0,MACD);
謝謝版主
但是第1個
ENTERLONG 不會出來
引用:
最初由 hgt08161 發表
謝謝版主
但是第1個
ENTERLONG 不會出來
回覆: 回覆: 請教寫法?
引用:
最初由 cgjj 發表
緊接著後面加入
CK:=ENTERLONG-EXITLONG;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;
關鍵字:過濾訊號過濾信號過濾
回覆: 回覆: 回覆: 請教寫法?
引用:
最初由 entercat 發表
請問如果我想每十分鐘,輸出 ck 信號,要如何作?
謝謝!
回覆: 回覆: 回覆: 回覆: 請教寫法?
引用:
最初由 cgjj 發表
什麼都不用做
指標有套用的情況下
Ck信號會隨時依據行情反應在K線的畫面上
回覆: 回覆: 回覆: 回覆: 回覆: 請教寫法?
引用:
最初由 entercat 發表
非常謝謝版主。
因為其間信號會時有時無跳動,
我想知道的是否能夠「每第十分鐘」才觸發一信號,以確定
ck 是1 或是 -1?
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 請教寫法?
引用:
最初由 cgjj 發表
行情時時在變, 一根K棒可能歷經多次變化
[每第十分鐘] 這樣的處理方式並不可靠
新行情進來, 程式就會立即表達最新結果
看畫面不就立即知道 CK 狀態了
何必多此一舉呢?
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 請教寫法?
引用:
最初由 entercat 發表
非常謝謝版主,
因為我想觸發下單機,作下單動作,
所以每十分鐘確定有無信號,
不然就得用眼睛人工看盤。
回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 回覆: 請教寫法?
引用:
最初由 cgjj 發表
不要陷入迷思當中 ....
[每十分鐘確定有無信號] 這個想法的出發點就錯嚕
要認知和認清
否則將會大大提升您所面對的風險
引用:
最初由 cgjj 發表
這段訊號過濾程式是不會造成此結果的
除非
該根 K棒 ENTERLONG 本來就不存在
或者
ENTERLONG 和 EXITLONG 在同根K棒
過濾後會被視為無訊號
設計者應該避免後者的情形發生
引用:
最初由 JIL 發表
請教總版主:
我在此段後面加了您所寫的過濾訊號
但只出現ENTERSHORT及EXITSHORT
EXITLONG及EXITLONG完全沒出現
我的訊號是同根K棒往上觸壓力作空、往下觸支撐作多
並且在壓力+20點停損,往下觸支撐-20點停損
如同下所述,用在期指
請教有辦法解決訊號不見的方式嗎? 感謝~
EnterLong:L<=WW;
ExitLong:L<=WW-20;
EnterShort:H>=SS;
ExitShort:H>=SS+20;
因為小弟剛學習奇狐平台的交易系統撰寫
所以目前只先練習寫一小段,測試看看,了解奇狐的寫法
目前所寫的就只有這些,謝謝幫忙~
每一根K會有計算出來的壓力及支撐價,壓力價在上,支撐價在下
SS:="關鍵價.今壓力#MIN60";
WW:="關鍵價.今支撐#MIN60";
SK:=date<>ref(date,1);
SP:=barslast(SK)+1;
EnterLong:L<=WW;
ExitLong:L<=WW-20;
EnterShort:H>=SS;
ExitShort:H>=SS+20;
CK:=ENTERLONG-EXITLONG;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;
引用:
最初由 JIL 發表
因為小弟剛學習奇狐平台的交易系統撰寫
所以目前只先練習寫一小段,測試看看,了解奇狐的寫法
目前所寫的就只有這些,謝謝幫忙~
每一根K會有計算出來的壓力及支撐價,壓力價在上,支撐價在下
SS:="關鍵價.今壓力#MIN60";
WW:="關鍵價.今支撐#MIN60";
SK:=date<>ref(date,1);
SP:=barslast(SK)+1;
EnterLong:L<=WW;
ExitLong:L<=WW-20;
EnterShort:H>=SS;
ExitShort:H>=SS+20;
CK:=ENTERLONG-EXITLONG;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;
引用:
最初由 cgjj 發表
問題不在訊號過濾, 而是在於邏輯規則
EnterLong:L<=WW;
ExitLong:L<=WW-20
按這規則
ExitLong 成立時, EnterLong 必定成立
這就是問題所在
兩組的中間加了Exit中斷點,EnterLong、ExitLong就可以正常運作
兩組一起跑就不行,真奇怪~
EnterLong:L<=WW;
ExitLong:L<=WW-20;
Exit;
EnterShort:H>=SS;
ExitShort:H>=SS+20;
另外發現還有個問題,EnetrLong已經進場了,而ExitLong還沒出現平倉訊號,
下一K遇到條件符合時,EnterLong又出現1,等於又作了第二筆,
請教有什麼方法可以讓ExitLong還沒出現1(平倉訊號)之前EnterLong不要出現?
請問有解嗎? 還是真的無解?
請總版主或其他先進給新手指導一下
真的感謝!
看看這結果是否為您要的
將
EnterLong:L<=WW;
ExitLong:L<=WW-20
改為
ExitLong:L<=WW-20
EnterLong:L<=WW and ExitLong=0;
Short 的作法亦同
Re:請教有什麼方法可以讓ExitLong還沒出現1(平倉訊號)之前EnterLong不要出現?
答案就在本主題文章第二篇
引用:
最初由 cgjj 發表
看看這結果是否為您要的
將
EnterLong:L<=WW;
ExitLong:L<=WW-20
改為
ExitLong:L<=WW-20
EnterLong:L<=WW and ExitLong=0;
Short 的作法亦同
Re:請教有什麼方法可以讓ExitLong還沒出現1(平倉訊號)之前EnterLong不要出現?
答案就在本主題文章第二篇
引用:
最初由 JIL 發表
謝謝總版主,但改了還是一樣沒訊號出來,EXIT中斷就可以。
引用:
最初由 cgjj 發表
Short 有跟著改嗎?
若仍會
那麼代表你 Exit 之後的程式會影響前面的計算結果
後續應該還有其他程式碼吧?
不然就是訊號疊在一起了
引用:
最初由 JIL 發表
後面只加了您寫的過濾訊號那段:
CK:=ENTERLONG-EXITLONG;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;
但是拿掉這段就可以跑了,怪~
引用:
最初由 cgjj 發表
您把K線圖縮到最小看看, 應該就可看到嚕
這樣
把K線圖縮到最小
貼張沒加過濾的訊號圖
再一貼張有加過濾的訊號圖
來看看吧
我用新的邏輯把公式重寫,寫到這裡卡住,
奇狐好像沒有提供流程控制的If或Select Case,寫不出來...
我想寫的其實不複雜,往上觸轉強作空,停損20點,
觸停損反手作多,停損設轉強,
雙巴當天就不再進場,若有獲利也不再進場;
反之往下觸轉弱作多亦然。
用在日K上,因為日K不好測試,所以我寫60分K來測試。
作多:O>轉弱60 and C<=O;
作空:O<轉強60 and C>=O;
多進:IF(L<=轉弱60,1,0);
多出:IF(L<=轉弱60-20,1,0);
空進:IF(H>=轉強60,1,0);
空出:IF(H>=轉強60+20,1,0);
多進倉:IF(作多,多進,0);
多平倉:IF(多出,多出,0);
多損反手空:IF(多進倉+多平倉>=2,3,0);
停手:IF(多損反手空>=3,4,0);
接下來不知道該如何讓奇狐中止公式判斷...
希望有人可以幫忙新手,先說謝謝!
引用:
最初由 JIL 發表
我用新的邏輯把公式重寫,寫到這裡卡住,
奇狐好像沒有提供流程控制的If或Select Case,寫不出來...
我想寫的其實不複雜,往上觸轉強作空,停損20點,
觸停損反手作多,停損設轉強,
雙巴當天就不再進場,若有獲利也不再進場;
反之往下觸轉弱作多亦然。
用在日K上,因為日K不好測試,所以我寫60分K來測試。
作多:O>轉弱60 and C<=O;
作空:O<轉強60 and C>=O;
多進:IF(L<=轉弱60,1,0);
多出:IF(L<=轉弱60-20,1,0);
空進:IF(H>=轉強60,1,0);
空出:IF(H>=轉強60+20,1,0);
多進倉:IF(作多,多進,0);
多平倉:IF(多出,多出,0);
多損反手空:IF(多進倉+多平倉>=2,3,0);
停手:IF(多損反手空>=3,4,0);
接下來不知道該如何讓奇狐中止公式判斷...
希望有人可以幫忙新手,先說謝謝!
全部時間均為台灣時間, 現在時間為10:39 | 在這個頁面顯示本主題全部的 25 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.