您好,
很抱歉,無法從您的說明及片段程式碼 了解您的問題,
但從您的片段程式碼,我看到的是,您在滿足IF的條件下,所進行的交易,
不只停利平倉,而是反轉多空(多單平倉再加空單、空單平倉再加多單)。
若有加碼,並希望掌控每一筆進場價格,並依據進場價格 停損停利,建議:
1. 不同的進場用不同的ordername,出場時指定進場的ordername
2. 善用PosTradeEntryPrice、CurrentEntries、CurrentContracts功能
我的意思是
value3 = maxpositionprofit / bigpointvalue ;
所計算的是總部位的最大獲利,有沒有什麼方法可以換成計算第一口的最大獲利?
如果您可以接受以進場的委託價來計算最高獲利,
則OpenEntryMaxProfit(0),是一個不錯的選擇。
如果要以進場的價格來運算最大損益,由於目前無法以簡單的方式處理,建議
1. 用PosTradeEntryBar(0, 0)取得第一筆進場的 BarNumber
2. 計算現在與進場時的K棒數,n=BarNumber - PosTradeEntryBar(0, 0) + 1
3.以Highest(high, n)取得最高價, 以Lowest(low, n)取得最低價
4. PosTradeEntryPrice(0, 0)可以取得第一筆的進場價,PosTradeEntryPrice(0, 1)可以取得第二筆的進場價
是的。
但應該說是第一筆,不是第一口。
如果每筆進場不只一口,就必須再除以口數。