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

奇狐社區論壇 (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=14677)


由 yisong 在 2010-11-25 08:35 發表:

請教關於回補訊號的寫法

想要請教一下,如果我自己有寫一個指標A,另外寫了一個買賣訊號引用這個指標A求得出來的數值在1分鐘線圖下使用。當這個指標A的數值跌破-500的時候我就做空,突破500就做多
差額:=STKINDI('','A.差額',0,1) LINETHICK0;
ENTERLONG:CROSS(差額,500);{多單進場}
ENTERSHORT:CROSS(差額,-500);{空單進場}
重點來了,這邊有兩組回補訊號不知如何寫:
1.如果我想要在這個差額的最高值拉回500時多單回補,舉例來說,差額從3000變成2500以下將多單回補
差額的最低值反彈500時空單回補,舉例來說,差額從-3000變成-2500將空單回補
2.如果我是要發生背離時也做多單或空單的出場,那要怎麼寫呢?舉例來說股價前波高點為8300 指標A的數值為3000,後面發生指標A創新高變成5000但股價為8290沒創新高回補多單。
或指標破新低,股價沒破新低空單回補
請教一下,這邊似乎需要記錄盤中的高低點來讓這個兩組多單回補和空單回補參考,請問程式要怎麼寫呢?
謝謝


由 cgjj 在 2010-11-25 10:37 發表:

回覆: 請教關於回補訊號的寫法

引用:
最初由 yisong 發表
想要請教一下,如果我自己有寫一個指標A,另外寫了一個買賣訊號引用這個指標A求得出來的數值在1分鐘線圖下使用。當這個指標A的數值跌破-500的時候我就做空,突破500就做多
差額:=STKINDI('','A.差額',0,1) LINETHICK0;
ENTERLONG:CROSS(差額,500);{多單進場}
ENTERSHORT:CROSS(差額,-500);{空單進場}
重點來了,這邊有兩組回補訊號不知如何寫:
1.如果我想要在這個差額的最高值拉回500時多單回補,舉例來說,差額從3000變成2500以下將多單回補
差額的最低值反彈500時空單回補,舉例來說,差額從-3000變成-2500將空單回補
2.如果我是要發生背離時也做多單或空單的出場,那要怎麼寫呢?舉例來說股價前波高點為8300 指標A的數值為3000,後面發生指標A創新高變成5000但股價為8290沒創新高回補多單。
或指標破新低,股價沒破新低空單回補
請教一下,這邊似乎需要記錄盤中的高低點來讓這個兩組多單回補和空單回補參考,請問程式要怎麼寫呢?
謝謝



"波" 您必須要先給予定義, 不能僅用眼睛看就算
必須有明確之判斷規則計算方法


由 yisong 在 2010-11-25 10:45 發表:

回覆: 回覆: 請教關於回補訊號的寫法

引用:
最初由 cgjj 發表
"波" 您必須要先給予定義, 不能僅用眼睛看就算
必須有明確之判斷規則計算方法



因為我的指標是用分筆資料求得出來的,所以只需要看當日的高跟低就好,就是說,當指標A創新高時去記錄那一根K棒的高點HighValue1和指標A的數值,等到後面在度創指標A的高點時,去比較這一次指標A創新高的股價是否有比剛剛那個HighValue1要高,如果沒有的話就回補多單。


由 cgjj 在 2010-11-25 19:39 發表:

回覆: 回覆: 回覆: 請教關於回補訊號的寫法

引用:
最初由 yisong 發表
因為我的指標是用分筆資料求得出來的,所以只需要看當日的高跟低就好,就是說,當指標A創新高時去記錄那一根K棒的高點HighValue1和指標A的數值,等到後面在度創指標A的高點時,去比較這一次指標A創新高的股價是否有比剛剛那個HighValue1要高,如果沒有的話就回補多單。


看看是否為您要的結果:(差額請自行帶入式子中)

原碼:

HH
:=HLL:=L;
多進:=CROSS(差額,500) or barpos=0
空進:=CROSS(-500,差額) or barpos=0
deck:=barpos=or date<>Ref(date,1);
LB:=lbound(差額); 
進出:c*0差額H:=0差額L:=0;
多空:=0//1.多, -1.空, 0.無
for i=LB to datacount do begin
  
if 多空=0 then begin
    多空
:=多進[i]-空進[i]; 進出[i]:=多空;
    
差額H:=差額[i]; 差額L:=差額[i];
    
差額HH:=0差額LL:=0;
  
end else begin
    
if 多空=空進[i] or 多空=-多進[ithen begin
      進出
[i]:=-多空*3多空:=-多空
      
差額H:=差額[i]; 差額L:=差額[i];
      
差額HH:=0差額LL:=0;      
    
end else if 差額[i]>差額H and 多空=1 then begin
      
if 差額HH<>and HH[i]<差額HH then begin
        進出
[i]:=2多空:=0;
      
end;
      
差額H:=差額[i]; 差額HH:=HH[i];
    
end else if 差額[i]<差額L and 多空=-1 then begin
      
if 差額LL<>and LL[i]>差額LL then begin
        進出
[i]:=-2多空:=0;
      
end;    
      
差額L:=差額[i]; 差額LL:=LL[i];
    
end;
  
end;
end;


[進出] 這變數值代表意義如下:
1.多進, 2.多出, 3.空轉多
-1.空進,-2.空出, -3.多轉空


由 yisong 在 2010-11-25 21:45 發表:

回覆: 回覆: 回覆: 回覆: 請教關於回補訊號的寫法

引用:
最初由 cgjj 發表
看看是否為您要的結果差額請自行帶入式子中)

原碼:

HH
:=HLL:=L;
多進:=CROSS(差額,500) or barpos=0
空進:=CROSS(-500,差額) or barpos=0
deck:=barpos=or date<>Ref(date,1);
LB:=lbound(差額); 
進出:c*0差額H:=0差額L:=0;
多空:=0//1.多, -1.空, 0.無
for i=LB to datacount do begin
  
if 多空=0 then begin
    多空
:=多進[i]-空進[i]; 進出[i]:=多空;
    
差額H:=差額[i]; 差額L:=差額[i];
    
差額HH:=0差額LL:=0;
  
end else begin
    
if 多空=空進[i] or 多空=-多進[ithen begin
      進出
[i]:=-多空*3多空:=-多空
      
差額H:=差額[i]; 差額L:=差額[i];
      
差額HH:=0差額LL:=0;      
    
end else if 差額[i]>差額H and 多空=1 then begin
      
if 差額HH<>and HH[i]<差額HH then begin
        進出
[i]:=2多空:=0;
      
end;
      
差額H:=差額[i]; 差額HH:=HH[i];
    
end else if 差額[i]<差額L and 多空=-1 then begin
      
if 差額LL<>and LL[i]>差額LL then begin
        進出
[i]:=-2多空:=0;
      
end;    
      
差額L:=差額[i]; 差額LL:=LL[i];
    
end;
  
end;
end;


[進出] 這變數值代表意義如下:
1.多進, 2.多出, 3.空轉多
-1.空進,-2.空出, -3.多轉空


謝謝您,我先消化一下,若有問題在請教總版主


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


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

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