-
咨詢內容:
我寫的程序中,開倉平倉都是用的上一條BAR的數據來觸發。但是,還是經常提示信號閃爍。不知道為什么,請高手指教。
比如開倉:
Dkc= MACDLine[2]<MACDLine[1] && MarketPosition==0;??//第一次開倉,快線上移? ? ? ?
If (Dkc == True )? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
??{
? ? ? ? ? ? ? ? ? ? ? ? MyEntryPrice=Open;
? ? ? ? ? ? ? ? ? ? ? ? Buy(Num,MyEntryPrice);
? ? ? ? ? ? ? ? ? ? ? ? Commentary("快線上移,第1次開多倉: "+Text(MyEntryPrice));
??}
比如平倉:
Kspc= SignalLine[2]>SignalLine[1] && PositionProfit[1]<0??;? ???//虧損時,慢線拐頭向下平倉.
??If(KSPC == True && LastEntryDate!=Date )? ?? ?? ?? ?? ?? ?? ?? ???// 虧損平倉條件
? ?? ? {
? ? ? ? ? ? ? ? ? ? ? ? MyExitPrice=Open;
? ? ? ? ? ? ? ? ? ? ? ? Sell(0,MyExitPrice);
? ? ? ? ? ? ? ? ? ? ? ? Commentary("虧損且MACD慢線下移-止損: "+Text(MyExitPrice));
? ? ? ? }
?
?來源:CXH99.COM
-
TB技術人員:
PositionProfit是個函數,應該不能直接回溯
可以先把它賦值給一個序列變量,再用序列變量回溯來判斷
?
-
TB客服:
追漲殺跌 發表于 2020-8-31 17:50
PositionProfit是個函數,應該不能直接回溯
可以先把它賦值給一個序列變量,再用序列變量回溯來判斷
...
不用 PositionProfit , 改為 用 lastentryprice 來判斷,還是會出現信號閃爍,這是怎么回事?
在股票行情上運行的
If(High >= (LastEntryPrice + Round(0.5*AvgTR[1],2)) && CurrentEntries < nEntries)
AvgTR[1]??: 前一條BAR 的ATR值。
nEntries : 參數,是個固定值
?
-
網友回復:
追漲殺跌 發表于 2020-8-31 17:50
PositionProfit是個函數,應該不能直接回溯
可以先把它賦值給一個序列變量,再用序列變量回溯來判斷
...
PositionProfit 是個函數, 為什么 PositionProfit[1] , 編譯的時候沒有報錯?
如果定義的變量不是序列變量,用回溯語句時, 編譯時會報錯。
?
-
網友回復:
zhangzijian 發表于 2020-9-2 10:54
PositionProfit 是個函數, 為什么 PositionProfit[1] , 編譯的時候沒有報錯?
如果定義的變量不是序列變 ...
有些系統提供的函數,本身是有序列數據性質的,回溯去讀不會報錯,但讀到的數據實際還是當前bar的。
而當前bar的數據都是變化,所以有可能信號閃爍。
至于你說把PositionProfit去掉,還是會閃爍,那就要跟蹤,到底引起變化的是哪個變量。 |