仿照系統自帶的海龜系統編寫了一套簡單的海龜交易系統 [開拓者 TB]
- 咨詢內容:
- //------------------------------------------------------------------------
- // 簡稱: TurtleDayTrader
- // 名稱: TurtleDayTrader
- // 類別: 公式應用
- // 類型: 用戶應用
- // 輸出:
- //------------------------------------------------------------------------
- Params
- Numeric LongLength(20); // 長周期
- Numeric ShortLength(10); // 短周期
- Numeric TrailingScale(0.5); // 增倉比例
- Numeric StopLossSet(2); // 止損比例
- Numeric Lots(1); // 交易數量
- Vars
- Numeric MinPoint; // 最小變動單位
- NumericSeries AvgTR; // ATR
- Numeric N; // N 值
- NumericSeries DonchianHi; // 唐奇安通道上軌,延后1個Bar
- NumericSeries DonchianLo; // 唐奇安通道下軌,延后1個Bar
- Numeric ExitHighestPrice; // 離市時判斷需要的N周期最高價
- Numeric ExitLowestPrice; // 離市時判斷需要的N周期最低價
- Numeric myEntryPrice; // 開倉價格
- Numeric myExitPrice; // 平倉價格
- Bool SendOrderThisBar(False); // 當前Bar有過交易
- NumericSeries preEntryPrice(0); // 前一次開倉的價格
- Begin
- If(BarStatus == 0)
- {
- preEntryPrice = InvalidNumeric;
- } Else
- {
- preEntryPrice = preEntryPrice[1];
- }
-
- AvgTR = XAverage(TrueRange,LongLength);
- N = AvgTR[1];
- DonchianHi = HighestFC(High[1],LongLength);
- DonchianLo = LowestFC(Low[1],LongLength);
- ExitLowestPrice = LowestFC(Low[1],ShortLength);
- ExitHighestPrice = HighestFC(High[1],ShortLength);
- Commentary("N="+Text(N));
- Commentary("preEntryPrice="+Text(preEntryPrice));
- PlotNumeric("上軌",DonchianHi);
- PlotNumeric("下軌",DonchianLo);
- PlotNumeric("退出上軌",ExitHighestPrice);
- PlotNumeric("退出下軌",ExitLowestPrice);
-
- /*/////////////////////////////////開倉////////////////////////////////////////*/
- If(MarketPosition == 0 && High > DonchianHi)
- {
- myEntryPrice = min(high,DonchianHi);
- myEntryPrice = IIF(myEntryPrice < Open, Open,myEntryPrice); // 大跳空的時候用開盤價代替
- preEntryPrice = myEntryPrice;
- Buy(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- If(MarketPosition == 0 && Low < DonchianLo)
- {
- myEntryPrice = max(low,DonchianLo);
- myEntryPrice = IIF(myEntryPrice > Open, Open,myEntryPrice); // 大跳空的時候用開盤價代替
- preEntryPrice = myEntryPrice;
- SendOrderThisBar = True;
- SellShort(Lots,myEntryPrice);
- }
- /*///////////////////////////////止盈加倉////////////////////////////////////*/
- If(MarketPosition == 1)
- {
- Commentary("ExitLowestPrice="+Text(ExitLowestPrice));
- If(Low < ExitLowestPrice)
- {
- myExitPrice = max(Low,ExitLowestPrice);
- myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的時候用開盤價代替
- Sell(0,myExitPrice); // 數量用0的情況下將全部平
- }Else
- {
- If(preEntryPrice!=InvalidNumeric)
- {
- If(Open >= preEntryPrice + TrailingScale*N) // 如果開盤就超過設定的1/2N,則直接用開盤價增倉。
- {
- myEntryPrice = Open;
- preEntryPrice = myEntryPrice;
- Buy(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- while(High >= preEntryPrice + TrailingScale*N) // 以最高價為標準,判斷能進行幾次增倉
- {
- myEntryPrice = preEntryPrice + TrailingScale * N;
- preEntryPrice = myEntryPrice;
- Buy(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- }
- /*///////////////////////////////////止損策略///////////////////////////////*/
- If(Low <= preEntryPrice - StopLossSet * N && SendOrderThisBar == false) // 加倉Bar不止損
- {
- myExitPrice = preEntryPrice - StopLossSet * N;
- myExitPrice = IIF(myExitPrice > Open, Open,myExitPrice); // 大跳空的時候用開盤價代替
- Sell(0,myExitPrice); // 數量用0的情況下將全部平倉
- }
- }
- }Else If(MarketPosition ==-1) // 有空倉的情況
- {
- Commentary("ExitHighestPrice="+Text(ExitHighestPrice));
- If(High > ExitHighestPrice)
- {
- myExitPrice = Min(High,ExitHighestPrice);
- myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 大跳空的時候用開盤價代替
- BuyToCover(0,myExitPrice); // 數量用0的情況下將全部平倉
- }Else
- {
- If(preEntryPrice!=InvalidNumeric)
- {
- If(Open <= preEntryPrice - TrailingScale*N) // 如果開盤就超過設定的1/2N,則直接用開盤價增倉。
- {
- myEntryPrice = Open;
- preEntryPrice = myEntryPrice;
- SellShort(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- while(Low <= preEntryPrice - TrailingScale*N) // 以最低價為標準,判斷能進行幾次增倉
- {
- myEntryPrice = preEntryPrice - TrailingScale * N;
- preEntryPrice = myEntryPrice;
- SellShort(Lots,myEntryPrice);
- SendOrderThisBar = True;
- }
- }
- /*///////////////////////////////////止損策略///////////////////////////////*/
- If(High >= preEntryPrice + StopLossSet * N && SendOrderThisBar==false) // 加倉Bar不止損
- {
- myExitPrice = preEntryPrice + StopLossSet * N;
- myExitPrice = IIF(myExitPrice < Open, Open,myExitPrice); // 大跳空的時候用開盤價代替
- BuyToCover(0,myExitPrice); // 數量用0的情況下將全部平倉
- }
- }
- }
- End
- //------------------------------------------------------------------------
- // 編譯版本 GS2010.12.08
- // 用戶版本 2012/02/24 20:16
- // 版權所有 飛躍
- // 更改聲明 TradeBlazer Software保留對TradeBlazer平臺
- // 每一版本的TrabeBlazer公式修改和重寫的權利
- //------------------------------------------------------------------------
- //------------------------------------------------------------------------
- TB技術人員:
本帖最后由 飛躍 于 2012-3-18 11:45 編輯
TB自帶的海龜交易系統,仿照其編寫了一套簡單的海龜交易系統,大家可以模擬一下,表現還是不錯的,全局設置我設置了交易次數為4次。 - TB客服:
橡膠的30分鐘周期(優化參數后的)
0.jpg (70.74 KB, 下載次數: 7) 2012-3-18 06:58:39 上傳 下載次數: 7
4.jpg (100.61 KB, 下載次數: 1) 2012-3-18 06:58:38 上傳 下載次數: 1
3.jpg (64.12 KB, 下載次數: 1) 2012-3-18 06:58:39 上傳 下載次數: 1
2.jpg (37.18 KB, 下載次數: 1) 2012-3-18 06:58:39 上傳 下載次數: 1
- 網友回復:
橡膠的30分鐘周期(參數優化后)
1.jpg (245.33 KB, 下載次數: 0) 2012-3-18 07:00:28 上傳 下載次數: 0
- 網友回復:
PTA30分鐘周期(參數優化后)
0.jpg (204.22 KB, 下載次數: 0) 2012-3-18 07:04:04 上傳 下載次數: 0
1.jpg (70.13 KB, 下載次數: 0) 2012-3-18 07:04:05 上傳 下載次數: 0
2.jpg (67.17 KB, 下載次數: 0) 2012-3-18 07:04:05 上傳 下載次數: 0
4.jpg (47.16 KB, 下載次數: 0) 2012-3-18 07:04:03 上傳 下載次數: 0
如果以上指標公式不適用于您常用的行情軟件
或者您想改編成選股公式,以便快速選出某種形態個股的話,
相關文章
-
沒有相關內容