奇狐社區論壇 總頁數 (5): « 1 [2] 3 4 » ... 最末頁 »
在這個頁面顯示本主題全部的 63 個文章

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


由 yisong 在 2010-12-07 11:06 發表:

引用:
最初由 cgjj 發表
原碼:

進L
:=多進 or barpos=0
出L:=多出 or barpos=0;
進S:=空進 or barpos=0;
出S:=空出 or barpos=0;
NowLS:=0//1.多, -1.空, 0.無
DoLS:C*0CC:=CHH:=HLL:=L;

..........
省略.........
..........
省略.........

//DoLS意義:
// 1.多進, 2.多出,  3.空翻多,  4.多盈衰出,  5.多損出
//-1.空進,-2.空出, -3.多翻空, -4.空盈衰出, -5.空損出



請教一下,這個源碼似乎少了上次您指導過的幾行
//整併後的結果
進L:=DOLS=1 or DOLS=3; //多進
出L:=DOLS=2 or DOLS=-3; //多出
進S:=DOLS=-1 or DOLS=-3; //空進
出S:=DOLS=-2 or DOLS=3; //空出
ENTERLONG:進L;
EXITLONG:出L;
ENTERSHORT:進S;
EXITSHORT:出S;
請問這幾行需要加入嗎?(ENTERLONG,EXITLONG,ENTERSHORT,EXITSHORT這幾個一定要加,但前面那四行需要加嗎?)


由 cgjj 在 2010-12-07 11:28 發表:

引用:
最初由 yisong 發表
請教一下,這個源碼似乎少了上次您指導過的幾行
//整併後的結果
進L:=DOLS=1 or DOLS=3; //多進
出L:=DOLS=2 or DOLS=-3; //多出
進S:=DOLS=-1 or DOLS=-3; //空進
出S:=DOLS=-2 or DOLS=3; //空出
ENTERLONG:進L;
EXITLONG:出L;
ENTERSHORT:進S;
EXITSHORT:出S;
請問這幾行需要加入嗎?(ENTERLONG,EXITLONG,ENTERSHORT,EXITSHORT這幾個一定要加,但前面那四行需要加嗎?)



//方法是一樣的, 如下:
進L:=DoLS=1 or DoLS=3; //多進
出L:=DoLS=2 or DoLS=-3 or DoLS=4 or DoLS=5; //多出
進S:=DoLS=-1 or DoLS=-3; //空進
出S:=DoLS=-2 or DoLS=3 or DoLS<=-4 or DoLS=-5; //空出
ENTERLONG:進L;
EXITLONG:出L;
ENTERSHORT:進S;
EXITSHORT:出S;


若您把公式改建立為[技術指標]類型的公式
就不一定非要這四個變數
ENTERLONG,EXITLONG,ENTERSHORT,EXITSHORT
這四個變數是[交易系統]類型的公式內定專屬的


由 yisong 在 2010-12-07 14:40 發表:

引用:
最初由 cgjj 發表
//方法是一樣的, 如下:
進L:=DoLS=1 or DoLS=3; //多進
出L:=DoLS=2 or DoLS=-3 or DoLS=4 or DoLS=5; //多出
進S:=DoLS=-1 or DoLS=-3; //空進
出S:=DoLS=-2 or DoLS=3 or DoLS<=-4 or DoLS=-5; //空出
ENTERLONG:進L;
EXITLONG:出L;
ENTERSHORT:進S;
EXITSHORT:出S;


若您把公式改建立為[技術指標]類型的公式
就不一定非要這四個變數
ENTERLONG,EXITLONG,ENTERSHORT,EXITSHORT
這四個變數是[交易系統]類型的公式內定專屬的


請問要如何修改成技術指標,方便在即時盤中可以知道該交易訊號是根據哪個條件出場的,要改哪些內容呢?


由 cgjj 在 2010-12-07 14:56 發表:

引用:
最初由 yisong 發表
請問要如何修改成技術指標,方便在即時盤中可以知道該交易訊號是根據哪個條件出場的,要改哪些內容呢?


依據 DOLS 值, 顯示不同的文字或訊號即可
DRAWICON 可顯示符號
DRAWTEXT 可顯示文字
更多的相關函數, 請查閱繪圖函數


由 yisong 在 2010-12-07 15:48 發表:

引用:
最初由 cgjj 發表
依據 DOLS 值, 顯示不同的文字或訊號即可
DRAWICON 可顯示符號
DRAWTEXT 可顯示文字
更多的相關函數, 請查閱繪圖函數


可以了,謝謝


由 yisong 在 2010-12-07 22:08 發表:

請教一下,加入您所提供的程式碼後,如圖所示,未到30點停損價卻出現多損出的出場條件,請教是哪裡出問題呢?


由 cgjj 在 2010-12-08 09:03 發表:

引用:
最初由 yisong 發表
請教一下,加入您所提供的程式碼後,如圖所示,未到30點停損價卻出現多損出的出場條件,請教是哪裡出問題呢?


該段程式進場是用收盤價
計算控損: 多是採最低價計算, 空是採最高價計算
您再核對一次看看

PS: 請標註您核對K棒之日期和時間, 這樣比較容易協助您唷


由 yisong 在 2010-12-08 12:25 發表:

引用:
最初由 cgjj 發表
該段程式進場是用收盤價
計算控損: 多是採最低價計算, 空是採最高價計算
您再核對一次看看

PS: 請標註您核對K棒之日期和時間, 這樣比較容易協助您唷


那個空翻多的時間點是12/2 10:37, 後面多損出的時間點為12/2 10:53
計算控損: 多是採最低價計算, 空是採最高價計算
這邊指的最高最低是當天最高最低還是當跟k棒的高跟低呢?


由 cgjj 在 2010-12-08 12:33 發表:

引用:
最初由 yisong 發表
那個空翻多的時間點是12/2 10:37, 後面多損出的時間點為12/2 10:53
計算控損: 多是採最低價計算, 空是採最高價計算
這邊指的最高最低是當天最高最低還是當跟k棒的高跟低呢?



是當根的高跟低

問題應該是在此, 將
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; //反手

改為
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; 進價:=CC[i]; //反手


由 cgjj 在 2010-12-08 12:38 發表:

//修正後的完整原碼:
//關鍵字:交易範例

原碼:

進L
:=多進 or barpos=0
出L:=多出 or barpos=0;
進S:=空進 or barpos=0;
出S:=空出 or barpos=0;
NowLS:=0//1.多, -1.空, 0.無
DoLS:C*0CC:=CHH:=HLL:=L;
Do進:=進L-進SDo出:=出L-出S;
損控:=30控盈基:=50控盈衰率:=33/100;
for 
i=1 to datacount do begin
  
if NowLS=0 then begin
    NowLS
:=Do進[i]; DoLS[i]:=NowLSMax盈:=0;
    if 
NowLS<>0 then 進價:=CC[i];
  
end else begin
    
if NowLS=-Do進[ithen begin
      NowLS
:=Do進[i]; DoLS[i]:=NowLS*3進價:=CC[i]; Max盈:=0//反手
    
end else begin
      損HL
:=LL[i]*(NowLS=1)+HH[i]*(NowLS=-1);
      
盈利:=(CC[i]-進價)*NowLS;
      if (
損HL-進價)*NowLS<=-損控 then begin
        DoLS
[i]:=NowLS*5NowLS:=0//停損出
      
end else begin
        盈衰
:=Max盈-盈利;
        if 
盈衰>Max盈*控盈衰率 and Max盈>控盈基 then begin
          DoLS
[i]:=NowLS*4NowLS:=0//盈衰出
        
end else if NowLS=Do出[ithen begin
          DoLS
[i]:=Do出[i]*2NowLS:=0//訊號出
        
end;
      
end;
      if 
盈利>Max盈 then Max盈:=盈利;
    
end;
  
end;
end;
//DoLS意義:
// 1.多進, 2.多出,  3.空翻多,  4.多盈衰出,  5.多損出
//-1.空進,-2.空出, -3.多翻空, -4.空盈衰出, -5.空損出


由 yisong 在 2010-12-08 12:44 發表:

引用:
最初由 cgjj 發表
是當根的高跟低

問題應該是在此, 將
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; //反手

改為
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; 進價:=CC[i]; //反手


好像可以了,我在多看幾天驗證一下,謝謝


由 cgjj 在 2010-12-08 13:34 發表:

引用:
最初由 yisong 發表
好像可以了,我在多看幾天驗證一下,謝謝


還要再補上一部份, 才正確
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; 進價:=CC[i]; //反手

改為
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; 進價:=CC[i]; Max盈:=0; //反手


由 yisong 在 2010-12-09 13:14 發表:

引用:
最初由 cgjj 發表
還要再補上一部份, 才正確
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; 進價:=CC[i]; //反手

改為
if NowLS=-Do進[i] then begin
NowLS:=Do進[i]; DoLS[i]:=NowLS*3; 進價:=CC[i]; Max盈:=0; //反手



想請教一下,今天我新增了一個條件到"進S"內,原本指標都可以跑,但加入了LLV(指標A,0)<0 條件後,卻出現"指標數組下標越界或超出有效數據區間"的錯誤訊息,條件如下
進S:=空單條件1 OR 空單條件2 or barpos=0 and LLV(指標A,0)<0;

想請教可能是甚麼原因呢?


由 cgjj 在 2010-12-09 13:36 發表:

引用:
最初由 yisong 發表
想請教一下,今天我新增了一個條件到"進S"內,原本指標都可以跑,但加入了LLV(指標A,0)<0 條件後,卻出現"指標數組下標越界或超出有效數據區間"的錯誤訊息,條件如下
進S:=空單條件1 OR 空單條件2 or barpos=0 and LLV(指標A,0)<0;

想請教可能是甚麼原因呢?



您用 and 的用意為何?
是 LLV(指標A,0)<0 這組條件一定要成立 [進S] 才成立嗎?

若答 "是" 請這樣改
進S:=(空單條件1 OR 空單條件2) and LLV(指標A,0)<0 or barpos=0;


由 yisong 在 2010-12-09 14:02 發表:

引用:
最初由 cgjj 發表
您用 and 的用意為何?
是 LLV(指標A,0)<0 這組條件一定要成立 [進S] 才成立嗎?

若答 "是" 請這樣改
進S:=(空單條件1 OR 空單條件2) and LLV(指標A,0)<0 or barpos=0;


是的,我是要LLV(指標A,0)<0一定要成立才可以,這樣可以了
另外請教一下,如果我要讓訊號再指定時間出現出場訊號該怎麼寫呢?
舉例來說13:30時不論賺賠,只有手上有部位一律平倉出場。

謝謝


全部時間均為台灣時間, 現在時間為21:39 總頁數 (5): « 1 [2] 3 4 » ... 最末頁 »
在這個頁面顯示本主題全部的 63 個文章


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

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