小編好
比如我的出場程式是
condition1 =
close - open > 10;
If condition1
then value1 = close; // 這邊可以表示成交當下的價格
if highest(high, 5) - close >= 20 // 高檔回檔20
then ret=1;
那如果我希望 highest(high, 5) 是從成交價的K棒之後開始算,程式要如何表示??
感謝小編
小編好
比如我的出場程式是
condition1 =
close - open > 10;
If condition1
then value1 = close; // 這邊可以表示成交當下的價格
if highest(high, 5) - close >= 20 // 高檔回檔20
then ret=1;
那如果我希望 highest(high, 5) 是從成交價的K棒之後開始算,程式要如何表示??
感謝小編
aabberjeff 大 您好
所謂:「從成交價的K棒之後開始算」
您是想計算開盤到現在的最高價嗎?
那小幫手建議您,可以換個角度寫看看,
1. 先紀錄策略開始執行的最高價
var:bhigh(0);
2. 如果新的高價大於有史以來的最高價
if high=>bhigh then
3. 那新高價就會複寫掉舊的高價
bhigh = high
大概這樣來做思考,再配合您的策略做調整試看看
有疑問歡迎再提問 謝謝您
不是
我的最高價是不是指開盤到現在,
而是指從策略成交後開始算(策略是自己設的成交條件)
從自己設的成交條件成立後開始算
不是開盤
感謝
麻煩小編幫忙解答,如不能解答,請問有哪些管道可以詢問??
小編好,你的意思我知道,設定買賣訊號,有成交訊號後才會開始抓五日高點。
但我要表達的是,比如成交訊號k棒是第一根 k0,成交後下一根(k1)開始計算五跟k棒高點,那還是會計算到k 0的前三跟k棒對吧?(k-3,-2,-1,0,1),我要問的是要如何才能從k0之後的k棒才開始計算高點(k1,2,3,4,5)?
aabberjeff 大 您好
小幫手大致了解您的意思了,
如果您要T+5開始算5日最高價的話。
您可以使用累加的方式,
在買進的時候設定value99 設定為0,
當成交後,開始累加到+5時,
開始算5日最高價,
假設最高價大於收盤價20點,(or 那要用買進價bcost也行)
那就賣出
input:_BuyOrSell(1,"1進場,2出場");
var:bcost(0);
value1 = close- open;
if value1 > 10 and bcost = 0 then
begin
bcost = close;
value99=0;
if _BuyOrSell=1 then Ret=1;
end
else
value99+=1;
if value99=5 and highest(high,5)-close >= 20 and bcost <> 0 then begin
bcost = 0;
if _BuyOrSell=2 then ret=1;
end;
舉例
台積7/21買進
到第五天7/28 開始算最高價

以上提供給您參考 謝謝
5 評論