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

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


由 victor0726 在 2015-03-17 10:09 發表:

停利一問

總版主您好:
我寫了一段程式,在日線上突破昨日高買進,獲利達100點後,拉回20點就停利出場。

但在日k上看不出來盤中是否有拉回20點。所以我想將公式套用在5分k上面。
這樣在5分k的畫面裡要取得昨日的最高點值。以及要得知5分k到達獲利目標100點後,是否有拉回20點。這要如何用程式表達呢?

再麻煩總版主,感謝~


由 cgjj 在 2015-03-17 10:48 發表:

回覆: 停利一問

引用:
最初由 victor0726 發表
總版主您好:
我寫了一段程式,在日線上突破昨日高買進,獲利達100點後,拉回20點就停利出場。

但在日k上看不出來盤中是否有拉回20點。所以我想將公式套用在5分k上面。
這樣在5分k的畫面裡要取得昨日的最高點值。以及要得知5分k到達獲利目標100點後,是否有拉回20點。這要如何用程式表達呢?

再麻煩總版主,感謝~



以何價做買進?


由 victor0726 在 2015-03-17 11:35 發表:

突破昨日高買進,以昨日高為買進價。


由 cgjj 在 2015-03-17 11:41 發表:

引用:
最初由 victor0726 發表
突破昨日高買進,以昨日高為買進價。


當日行情不見得會有昨日高這個價讓您買進
例如: 跳空走高時


由 victor0726 在 2015-03-17 12:00 發表:

總版主 抱歉沒把問題說清楚。
若今日開盤比昨日高點低,那突破昨日高時,以昨日高為進場點,若今日開盤開在昨日高之上,就以開盤價為進場點。感謝您~


由 cgjj 在 2015-03-17 12:41 發表:

引用:
最初由 victor0726 發表
總版主 抱歉沒把問題說清楚。
若今日開盤比昨日高點低,那突破昨日高時,以昨日高為進場點,若今日開盤開在昨日高之上,就以開盤價為進場點。感謝您~



處理範例如下:

原碼:
DESP:=barslast(date<>Ref(date,1)); YH:=ref(HHV(H,DESP+1),DESP+1); //昨日最高 BB:=Cross(H,YH) or barpos=0; DoBS:C*0 NOAXIS; //1.買進, -1.盈衰出場 NowBS:=0; OO:=O; HH:=H; LL:=L; MaxDH:=0; for i=1 to datacount do begin if NowBS=0 and BB[i]=1 then begin NowBS:=1; DoBS[i]:=1; DoPE:=YH[i]; if OO[i]>YH[i] then DoPE:=OO[i]; MaxDH:=HH[i]; end else if NowBS=1 then begin if HH[i]>MaxDH then MaxDH:=HH[i]; if MaxDH-DoPE>=100 and MaxDH-LL[i]>=20 then begin NowBS:=0; DoBS[i]:=-1; end; end; end; VERTLINE(DoBS=1) linedot colorred; //買進 VERTLINE(DoBS=-1) linedot colorgreen; //盈衰出場


由 victor0726 在 2015-03-17 13:53 發表:

總版主 非常感謝您~ 又學到了新的公式寫法。


由 cgjj 在 2015-03-17 14:01 發表:

引用:
最初由 victor0726 發表
總版主 非常感謝您~ 又學到了新的公式寫法。


不客氣 ^^


由 victor0726 在 2015-03-17 17:03 發表:

總版主您好:
我突然想到,這種寫法會不會盤中分線突破昨日高後,拉回又觸及停損後,又拉過突破昨日高,又出現進場訊號。但我希望當天只進場一次就好了。如果當天設20點停損了,後面再過昨日高就不要再進場了。這樣怎麼修改呢

2、另外若我有參數需要手動調整,除了把參數設定在公式上方的參數欄位之外,是否可把可調參數寫在公式裡面定義呢? 這樣要移動程式時,就不用又要重新在上方的參數欄位重打。
謝謝~


由 cgjj 在 2015-03-18 09:06 發表:

引用:
最初由 victor0726 發表
總版主您好:
我突然想到,這種寫法會不會盤中分線突破昨日高後,拉回又觸及停損後,又拉過突破昨日高,又出現進場訊號。但我希望當天只進場一次就好了。如果當天設20點停損了,後面再過昨日高就不要再進場了。這樣怎麼修改呢



原碼:
DESP:=barslast(date<>Ref(date,1) or barpos=1); YH:=ref(HHV(H,DESP+1),DESP+1); //昨日最高 BB:=Cross(H,YH) or barpos=0; DoBS:C*0 NOAXIS; //1.買進, -1.盈衰出場 NowBS:=0; OO:=O; HH:=H; LL:=L; MaxDH:=0; for i=1 to datacount do begin if DESP[i]=0 then DESS:=0; if NowBS=0 and BB[i]=1 and DESS=0 then begin NowBS:=1; DoBS[i]:=1; DESS:=1; DoPE:=YH[i]; if OO[i]>YH[i] then DoPE:=OO[i]; MaxDH:=HH[i]; end else if NowBS=1 then begin if HH[i]>MaxDH then MaxDH:=HH[i]; if MaxDH-DoPE>=100 and MaxDH-LL[i]>=20 then begin NowBS:=0; DoBS[i]:=-1; end; end; end; VERTLINE(DoBS=1) linedot colorred; //買進 VERTLINE(DoBS=-1) linedot colorgreen; //盈衰出場


由 cgjj 在 2015-03-18 09:08 發表:

引用:
最初由 victor0726 發表
2、另外若我有參數需要手動調整,除了把參數設定在公式上方的參數欄位之外,是否可把可調參數寫在公式裡面定義呢? 這樣要移動程式時,就不用又要重新在上方的參數欄位重打。
謝謝~



以 MA 為例, 做法如下:
N1:=15; N2:=30;
MA1:=MA(C,N1);
MA2:=MA(C,N2);


由 victor0726 在 2015-03-18 20:21 發表:

總版主您好:
請問公式寫好後存檔,下次再打開公式裡面的公式就亂掉,都沒照之前排列的方式。請問要怎樣才能排好呢? 謝謝!


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


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

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