 |
hwyhon
資深會員

註冊日期: Sep 2004
來 自: 台中
文章數量: 332 |
//例如我得知金叉成立後才要開始尋找B反轉向上進場//以之前小於進場點的那個B反轉向上A<ref(A,1) and A<refx(A,1)之直為停損出場或A反轉向下或死叉出場
//若先得取得換算後的金叉才來開始尋找B反轉向上點一些程式碼可精簡許多
//則類似此情況若沒沒得知金叉已成立否則須一回接一回程式則會寫得很囉唆
//因此才有此一問
A:ma(c,10),COLORWHITE;
B:ma(c,30),COLORGREEN;
D:ma(c,60),COLORMAGENTA;
金叉:CROSS(B,D);
VERTLINE(金叉),COLORRED,LINEDOT;
死叉:CROSS(D,B);
VERTLINE(死叉),COLORWHITE,LINEDOT;
__________________
就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]
學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易
|
最後由 hwyhon 在 2010-01-13 15:25 編輯 |
向版主報告此篇 |  |
|
2010-01-13 14:43 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18093 |
引用: 最初由 hwyhon 發表
//例如我得知金叉成立後才要開始尋找B反轉向上進場//以之前小於進場點的那個B反轉向上A<ref(A,1) and A<refx(A,1)之直為停損出場或A反轉向下或死叉出場
//若先得取得換算後的金叉才來開始尋找B反轉向上點一些程式碼可精簡許多
//則類似此情況若沒沒得知金叉已成立否則須一回接一回程式則會寫得很囉唆
//因此才有此一問
A:ma(c,10),COLORWHITE;
B:ma(c,30),COLORGREEN;
D:ma(c,60),COLORMAGENTA;
金叉:CROSS(B,D);
VERTLINE(金叉),COLORRED,LINEDOT;
死叉:CROSS(D,B);
VERTLINE(死叉),COLORWHITE,LINEDOT;
可否麻煩您以圖舉例說明呢?
這樣較易明瞭
|
|
向版主報告此篇 |  |
|
2010-01-13 17:04 |
|
|
|  |
 |
hwyhon
資深會員

註冊日期: Sep 2004
來 自: 台中
文章數量: 332 |
,,,,,,,,,,,,,,,,,,,,,,,
|
最後由 hwyhon 在 2010-01-13 23:45 編輯 |
向版主報告此篇 |  |
|
2010-01-13 21:01 |
|
|
|  |
 |
hwyhon
資深會員

註冊日期: Sep 2004
來 自: 台中
文章數量: 332 |
總算劃妥了
A:ma(c,10),COLORWHITE;
B:ma(c,30),COLORGREEN;
D:ma(c,60),COLORMAGENTA;
金叉:CROSS(B,D);
VERTLINE(金叉),COLORRED,LINEDOT;
死叉:CROSS(D,B);
VERTLINE(死叉),COLORWHITE,LINEDOT;
如貼圖
//例如我得知金叉成立後才要開始尋找B反轉向上進場及確定停損值
//以之前小於進場點的那個A均反轉向上A<ref(A,1) and A<refx(A,1)之直為停損L觸價出場
//或A反轉向下(未獲利20點不成立)出場
//或死叉出場
//若程式頂端先取得換算後的金叉才來開始尋找B反轉向上點程式碼可精簡許多
//若沒能得知金叉已成立則一些類似此情況的其它條件程式碼則會寫得很囉唆
//因此才有此一問
hwyhon 附帶上了此圖片:
|
最後由 hwyhon 在 2010-01-14 00:02 編輯 |
向版主報告此篇 |  |
|
2010-01-13 23:38 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18093 |
引用: 最初由 hwyhon 發表
總算劃妥了
A:ma(c,10),COLORWHITE;
B:ma(c,30),COLORGREEN;
D:ma(c,60),COLORMAGENTA;
金叉:CROSS(B,D);
VERTLINE(金叉),COLORRED,LINEDOT;
死叉:CROSS(D,B);
VERTLINE(死叉),COLORWHITE,LINEDOT;
如貼圖
//例如我得知金叉成立後才要開始尋找B反轉向上進場及確定停損值
//以之前小於進場點的那個A均反轉向上A<ref(A,1) and A<refx(A,1)之直為停損L觸價出場
//或A反轉向下(未獲利20點不成立)出場
//或死叉出場
//若程式頂端先取得換算後的金叉才來開始尋找B反轉向上點程式碼可精簡許多
//若沒能得知金叉已成立則一些類似此情況的其它條件程式碼則會寫得很囉唆
//因此才有此一問
處理示範如下:
原碼:
A:ma(c,10),COLORWHITE;
B:ma(c,30),COLORGREEN;
D:ma(c,60),COLORMAGENTA;
金叉:CROSS(B,D) or barpos=0 linethick0 colorred;
VERTLINE(金叉),COLORRED,LINEDOT;
死叉:CROSS(D,B) or barpos=0 linethick0 COLORWHITE;
VERTLINE(死叉),COLORWHITE,LINEDOT;
//進訊和出訊處理
前叉:=金叉-死叉 linethick0;
前叉:=ref(前叉,barslast(前叉<>0));
B上揚:=B>ref(B,1) and ref(B<ref(B,1),1);
A上揚:=A>ref(A,1) and ref(A<ref(A,1),1);
A下彎:=A<ref(A,1) and ref(A>ref(A,1),1);
金叉SP:=barslast(金叉);
進訊:=B上揚 and 前叉=1 or barpos=0;
進訊SP:=barslast(進訊<>0);
進價:=ref(C,進訊SP);
出訊:=A下彎 and C-進價>20 and sum(進訊,金叉SP+1)>0 and 前叉=1 or 死叉 or barpos=0;
//過濾連續進和連續出
CK:=進訊-出訊;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
進訊:=CK=1;
出訊:=CK=-1;
//停損處理
前訊:=進訊-出訊;
前訊SP:=barslast(前訊<>0);
前訊:=ref(前訊,前訊SP);
處SP:=ref(barslast(金叉 or 出訊 or 進訊),1)+1;
判價:=SETVAL(進訊,進價,-處SP,進價);
CKSP:=barslast(A上揚 and L<判價);
停損訊:=前訊=1 and 進訊=0 and CKSP<=處SP or barpos=0;
//濾除連續停損
停損訊:=前訊=1 and sum(停損訊,前訊SP+1)=1 or barpos=0;
//輸出訊號
DRAWICON(進訊,L,4) pxdn20;
DRAWICON(出訊,H,5) pxup45;
DRAWICON(停損訊,H,12) pxup45;
//關鍵字:多空交易範例
|
|
向版主報告此篇 |  |
|
2010-01-14 01:46 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18093 |
引用: 最初由 hwyhon 發表
樓上經思索後發覺似乎與我真正想要的狀況有點不達意
我想這樣表達較貼切
金叉成立開始尋多
見紅棒進場停損設此紅棒的低
見黑棒若賺20點以上則出場否則等觸停損出或死叉出
出場後若見紅棒則再進場出場條件則相同一值反複至死叉止
老是麻煩版主真不好意思
A:ma(c,30),COLORGREEN;
B:ma(c,60),COLORMAGENTA;
金叉:=CROSS(A,B) or barpos=0 linethick0 colorred;
VERTLINE(金叉),COLORRED;
死叉:=CROSS(B,A) or barpos=0 linethick0 COLORWHITE;
VERTLINE(死叉),COLORWHITE;
原碼:
A:ma(c,30),COLORGREEN;
B:ma(c,60),COLORMAGENTA;
金叉:=CROSS(A,B) or barpos=0 linethick0 colorred;
VERTLINE(金叉),COLORRED;
死叉:=CROSS(B,A) or barpos=0 linethick0 COLORWHITE;
VERTLINE(死叉),COLORWHITE;
//進出處理
前叉:=金叉-死叉;
前叉:=ref(前叉,barslast(前叉<>0));
進訊:=前叉*0; 出訊:=進訊; 停損訊:=進訊;
紅K:=C>O; 黑K:=C<O;
持倉:=0; 進場價:=0; 停損價:=0; CC:=C; LL:=L;
for i=lbound(前叉) to datacount do begin
if 紅K[i] and 前叉[i]=1 and 持倉=0 then begin
持倉:=1; 進訊[i]:=1; 進場價:=CC[i]; 停損價:=LL[i];
end else if 持倉=1 then begin
if 黑K[i] and CC[i]-進場價>20 or 前叉[i]=-1 then begin
持倉:=0; 出訊[i]:=1;
end else if CC[i]<停損價 then begin
持倉:=0; 停損訊[i]:=1;
end;
end;
end;
//輸出訊號
DRAWICON(進訊,L,4) pxdn20;
DRAWICON(出訊,H,5) pxup45;
DRAWICON(停損訊,H,12) pxup45;
|
|
向版主報告此篇 |  |
|
2010-01-15 17:35 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18093 |
簡單來說
基本的進場訊號和出場訊號被定義出來後(非控損控盈出)
濾除連續相同重複訊號, 整合為一進一出後
以這一進一出為波段主軸, 做每一波的操作
再依據該波的績效做控損和控盈
若這波達控損或控盈就提前出場, 等下一波段來了再做(一波段只做一次)
這類指標可用您首例的方法來處理
這類指標訊號較少, 最明顯的例子
就是採均線黃金交叉和死亡交叉做進出
另一類
進場條件被定義出來後
控損控盈或碰出場訊號後, 就出場
若再碰進場條件, 則立即又進場
重複訊號是依據當前有無持倉來決定去留
這類並沒有定義出波段主軸, 每個進訊都可能成為新的一波
這類指標通常訊號較前類來的多(一波段戰鬥很多回)
您的第二例就是如此
這類必需採迴圈處理(因為要知道前面最後的倉位狀態)
不同指標特質不同, 處理手法會有差異
過濾訊號的先後次序與方法, 也是會帶來重大改變
兩類指標各有喜好者, 全看設計者自己想法
|
|
向版主報告此篇 |  |
|
2010-01-15 19:52 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|