奇狐社區論壇 總頁數 (2): « 1 [2]
在這個頁面顯示本主題全部的 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)


由 JIL 在 2009-08-31 17:19 發表:

引用:
最初由 cgjj 發表
問題不在訊號過濾, 而是在於邏輯規則

EnterLong:L<=WW;
ExitLong:L<=WW-20

按這規則
ExitLong 成立時, EnterLong 必定成立
這就是問題所在



請教有什麼辦法可以達到我希望的動作嗎?
觸到WW作多,但如果繼續往下跌20點就停損
還有同時反手作空,停損WW這個價
雙巴就停止發出訊號,都是在同一根K
不好意思新手發問,問題比較笨~


由 JIL 在 2009-08-31 18:02 發表:

兩組的中間加了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不要出現?

請問有解嗎? 還是真的無解?
請總版主或其他先進給新手指導一下
真的感謝!


由 cgjj 在 2009-09-01 11:36 發表:

看看這結果是否為您要的



EnterLong:L<=WW;
ExitLong:L<=WW-20

改為

ExitLong:L<=WW-20
EnterLong:L<=WW and ExitLong=0;

Short 的作法亦同


Re:請教有什麼方法可以讓ExitLong還沒出現1(平倉訊號)之前EnterLong不要出現?
答案就在本主題文章第二篇


由 JIL 在 2009-09-01 11:53 發表:

引用:
最初由 cgjj 發表
看看這結果是否為您要的



EnterLong:L<=WW;
ExitLong:L<=WW-20

改為

ExitLong:L<=WW-20
EnterLong:L<=WW and ExitLong=0;

Short 的作法亦同


Re:請教有什麼方法可以讓ExitLong還沒出現1(平倉訊號)之前EnterLong不要出現?
答案就在本主題文章第二篇



謝謝總版主,但改了還是一樣沒訊號出來,EXIT中斷就可以。


由 cgjj 在 2009-09-01 11:57 發表:

引用:
最初由 JIL 發表
謝謝總版主,但改了還是一樣沒訊號出來,EXIT中斷就可以。


Short 有跟著改嗎?

若仍會
那麼代表你 Exit 之後的程式會影響前面的計算結果
後續應該還有其他程式碼吧?

不然就是訊號疊在一起了


由 JIL 在 2009-09-01 12:05 發表:

引用:
最初由 cgjj 發表
Short 有跟著改嗎?

若仍會
那麼代表你 Exit 之後的程式會影響前面的計算結果
後續應該還有其他程式碼吧?

不然就是訊號疊在一起了



後面只加了您寫的過濾訊號那段:
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 在 2009-09-01 12:11 發表:

引用:
最初由 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;

但是拿掉這段就可以跑了,怪~



您把K線圖縮到最小看看, 應該就可看到嚕

這樣
把K線圖縮到最小
貼張沒加過濾的訊號圖
再一貼張有加過濾的訊號圖
來看看吧


由 JIL 在 2009-09-01 12:14 發表:

引用:
最初由 cgjj 發表
您把K線圖縮到最小看看, 應該就可看到嚕

這樣
把K線圖縮到最小
貼張沒加過濾的訊號圖
再一貼張有加過濾的訊號圖
來看看吧



沒用過貼圖,還不會貼圖
我想到一個方法,我先試試看
不行再貼出來請您幫我檢查
感謝!


由 JIL 在 2009-09-01 17:31 發表:

我用新的邏輯把公式重寫,寫到這裡卡住,
奇狐好像沒有提供流程控制的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);

接下來不知道該如何讓奇狐中止公式判斷...
希望有人可以幫忙新手,先說謝謝!


由 cgjj 在 2009-09-02 10:09 發表:

引用:
最初由 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);

接下來不知道該如何讓奇狐中止公式判斷...
希望有人可以幫忙新手,先說謝謝!



有提供流程控制的If, 請見:
http://www.chiefox.com.tw/bbs/showt...=&threadid=2646

看看這範例, 可能對您有幫助
http://www.chiefox.com.tw/bbs/showt...&threadid=11818

邏輯定義詳細解說清楚, 公式提供完整
這樣才好讓協助您的人容易處理唷


全部時間均為台灣時間, 現在時間為15:31 總頁數 (2): « 1 [2]
在這個頁面顯示本主題全部的 25 個文章


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

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