t3tpikachu 發表於 13-3-19 13:03

請教移動停利寫法?

參考了Ray's blog的移動停利函數寫法概念,由於要不到原程式碼只好自己寫了。
函數:NetTrailling(獲利點數,拉回百分比或點數)
inputs: N(numericsimple),ratio(numericsimple);
NetTrailling=iff(ratio>1 and (highest(high,barssinceentry)-entryprice>N) and marketposition>1,highest(high,barssinceentry)-ratio,0 );
NetTrailling=iff(ratio<1 and (highest(high,barssinceentry)-entryprice>N) and marketposition>1,highest(high,barssinceentry)-ratio*(highest(high,barssinceentry)-entryprice),0 );
NetTrailling=iff(ratio>1 and (entryprice-Lowest(low,barssinceentry)>N) and marketposition<1,Lowest(low,barssinceentry)+ratio,0 );
NetTrailling=iff(ratio<1 and (entryprice-Lowest(low,barssinceentry)>N) and marketposition<1,Lowest(low,barssinceentry)+ratio*(entryprice-Lowest(low,barssinceentry)),0 );
套用到訊號裡面會出現最大K棒根數需大於多少根的錯誤,並強制關掉訊號。
請問是那邊出錯了?謝謝!!

r98521713 發表於 13-3-19 13:37

在圖表設定的地方,有個最大K棒數的設定,預設是50,有去調嗎?

t3tpikachu 發表於 13-3-19 14:03

r98521713 發表於 13-3-19 13:37 static/image/common/back.gif
在圖表設定的地方,有個最大K棒數的設定,預設是50,有去調嗎?

這個最大K棒數我沒去調,因為我一個是訊號碼去引用這個函數,我只有在指標類的設定看過
設定最大K棒數這選項,我的訊號相關設定看不到怎辦?

r98521713 發表於 13-3-19 14:18


我指的是這個。

不然就是,barssinceentry的問題

t3tpikachu 發表於 13-3-19 15:09

r98521713 發表於 13-3-19 14:18 static/image/common/back.gif
我指的是這個。

不然就是,barssinceentry的問題

感恩,剛剛改成250就不會出現錯誤了,只是覺得奇怪我訊號用到的指標都有加currentbar>1,
還會出現這種鳥事,我也猜想應該是barsinceentry搞的鬼。

r98521713 發表於 13-3-19 15:33

要直接用barsinceentry早晚會出包,萬一你調整參數或是哪天又連續250bar沒進出。
不如多放一個變數存進場後的高低點

賭神咖啡客 發表於 13-3-19 16:16

天啊!這個keyword,竟然能宣告,您把牠寫成指標放在圖上看看

inputs : price(8000) ;
vars : barssinceentry(0) ;
barssinceentry = price ;
plot1 (barssinceentry) ;

t3tpikachu 發表於 13-3-19 18:54

賭神咖啡客 發表於 13-3-19 16:16 static/image/common/back.gif
天啊!這個keyword,竟然能宣告,您把牠寫成指標放在圖上看看

inputs : price(8000) ;


就變成一條線,有什麼特別嗎?

t3tpikachu 發表於 13-3-19 18:59

r98521713 發表於 13-3-19 15:33 static/image/common/back.gif
要直接用barsinceentry早晚會出包,萬一你調整參數或是哪天又連續250bar沒進出。
不如多放一個變數存進場後 ...

請教一下是指要另設一個變數來存新高嗎?比如
var1=highest(high,barssinceentry);
這樣嗎?

r98521713 發表於 13-3-19 19:10

t3tpikachu 發表於 13-3-19 18:59 static/image/common/back.gif
請教一下是指要另設一個變數來存新高嗎?比如
var1=highest(high,barssinceentry);
這樣嗎?

是設一個變數存高沒錯
但不能用var1=highest(high,barssinceentry)這樣barssinceentry還是存在
你可以設成
if marketposition<>marketposition then begin
 var1=high;
 var2=entryprice;
end else begin
 if high>var1 then var1=high;
end;
類似這樣就不會用到barssinceentry

Milton 發表於 13-3-19 20:10

大家都好強喔!!!
{:4_82:}

賭神咖啡客 發表於 13-3-19 22:08

r98521713 發表於 13-3-19 19:10 static/image/common/back.gif
是設一個變數存高沒錯
但不能用var1=highest(high,barssinceentry)這樣barssinceentry還是存在
你可以設成 ...

vars : marketposition(0);

marketposition=close;

plot1(marketposition);

嘿嘿....牠變收盤價了{:4_140:}


賭神咖啡客 發表於 13-3-19 22:20

請看一個例子,加移動停利後....更穩定的賠光光了
日本冠軍操盤法引進台灣後的績效~果然!

t3tpikachu 發表於 13-3-20 01:03

賭神咖啡客 發表於 13-3-19 22:20 static/image/common/back.gif
請看一個例子,加移動停利後....更穩定的賠光光了
日本冠軍操盤法引進台灣後的績效~果然! ...

我移動停利是打算拿來用在外匯保證金上,台指期的話個人感覺
巴來巴去,逆勢為主順勢為輔可能會活得稍微久一點。

t3tpikachu 發表於 13-3-20 08:42

剛剛看一下書,barsinceentry是訊號類指令,看來有點囧了!!
頁: [1] 2
查看完整版本: 請教移動停利寫法?