關于交易中超級圖表買賣數只顯示一下消失問題 [開拓者 TB]
- 咨詢內容:
我編了一個程序,內容如下,但以模擬帳號運行時,發現了個問題,就是在超級圖表買賣數只顯示一下,就會消失了,但實現模擬帳戶是可以實現當筆交易的。但當下個信號出現時,卻不再運行,請教大家,如何解決這個問題?
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
BoolSeries condBuy(false);
BoolSeries condSell(false);
String time_sr;//交易bar時間
String time_now;//當前bar時間
Numeric N1(1);//買賣數量
Numeric minpoint;//最少變化價格
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
condBuy=CrossOver(MACDValue,AvgMACD);
condSell=CrossUnder(MACDValue,AvgMACD);
minpoint=MinMove*PriceScale;
//1、加入交易時間控制,被免同一根bar反復執行
time_now=DateTimeToString(date+time);
time_sr=GetTBProfileString("data","bartime");//賦值到time_sr
if(Marketposition<>1 and (condBuy[1]==true and time_sr<>time_now))//判斷是否持多倉,條件穿越是否成功
{
SetTBProfileString("data","bartime",DateTimeToString(date+time));//將當前交易的bar時間記錄
Buy(N1,Open+minpoint);
}
if(MarketPosition<>-1 and (condSell[1]==true and time_sr<>time_now))//判斷是否持空倉,條件穿越是否成功
{
SetTBProfileString("data","bartime",DateTimeToString(date+time));//將當前交易的bar時間記錄
SellShort(N1,Open-minpoint);
}
End - TB技術人員:
你所使用的讀寫數據文件來判斷,此寫法會導致信號消失。
TB本身就有控制,不會反復發單。你只要使用穩定的條件做發單信號就行了。
去掉現在的這個控制,這個是不必要的。
- TB客服: 好的,謝謝!管理員,如果我要實現這個判斷,不用讀寫數據文件來實現,有沒有更好的辦法,又不讓這個信號消失?請賜教,謝謝!
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容