+-常數和變數的關係疑問

  •   203 
  • 最後發表   小萌新  2021 九月 01
小萌新 發文於   2021/08/28

請問在語法上,+-常數代表甚麼意思呢

譬如open+1或是close-1,對open來說+1的話是加1點嗎還是經過時間

 

另外如果想用固定點數當出場策略的話這樣寫可以嗎

好比說我寫了寫一套這個程式

我把value1固定成了當時的收盤價格

然後用value+10點當作出場但是回測怪怪的所以有此疑問

1.+-常數和變數value或是開、收盤價之間的關係

2.如果想寫固定出場點數的策略我這一套行得通嗎

請大家幫幫忙,感謝><

 

input : x (10,"30分");

variable: intrabarpersist position_1(0);

 

condition1 = close crosses over average (close,x) and average (close,x) > average (close,x)[1];

if position < 1 and condition1 then setposition (1);

 

if value1 = 0 then

begin

if condition1 then

begin

value1 = close;

 

end;

end else

begin

condition2 = close>=(value1+10) ;

if position > 0 and condition2 then setposition (0);

value1 = 0;

end;

 

排序方式: 標準 | 最新
GaryChiang 發文於   2021/08/28

close+1, 代表close的值加上1

要固定點數出場, 如下應該就可以了!

if position < 1 and condition1 then setposition (1);

if filled> 0 then setposition(0, close+10);  //確認有部位後, 直接指定出場價格賣出, 觸價時就會賣了!

 

小萌新 發文於   2021/08/28

感謝G大幫忙解答

XQ小幫手 發文於   2021/09/01

Hello 小萌新,

 

open 與 close 都是序列數值,可以透過[N]的方式取得前N期值,可以像數值一樣作加減乘除。

這些運算跟時間沒有關係,但是像 open[10+1] 的話就會影響取得的資訊,前面的例子會取得往前第十一根Bar的開盤價。

另外在出場時小幫手會建議同時用 position 跟 filled 來做限制,這樣可以避免由於逐筆洗價導致收盤價變動,進而連續取消重下委託單的情況。

像是:

if position > 0 and filled > 0 then setposition(0, close+10);

這樣在執行一次過後position就被調整成0,不會發生每次逐筆洗價運算時在未成交前因收盤價變動而取消單子後重下單的狀況。

 

感謝 GaryChiang 的熱心回覆。

發表回覆
Close