-
咨詢內容:
k線區域按時間順序從左向右共由5根k線組成, 最左邊的k線標號為5,?如果3號k線收盤價高于5號k線最高點,?開多倉持有,如果2號1號未創5根K線新高則平倉,請教下TB里面這個策略怎么寫
?
?來源:CXH99.COM
-
TB技術人員:
沒有驗證,僅供參考。
- Numeric High5;
- If(BarStatus == 0)
- {
- ? ? ? ? SetGlobalVar(1, 0);
- ? ? ? ? SetGlobalVar(2, 0);
- }
- High5 = Highest(High[3], 3);
- If(GetGlobalVar(1) == 0 and Open[1] > High[3])
- {
- ? ? ? ? Buy(1);
- ? ? ? ? SetGlobalVar(1, Date+Time);
- }
- If(GetGlobalVar(1) > Date+Time)
- {
- ? ? ? ? SetGlobalVar(1, Date+Time);
- ? ? ? ? SetGlobalVar(2, GetGlobalVar(2)+1);
- }
- If(GetGlobalVar(2) == 2 and High[1] <= High5 and High[2] <= High5)
- {
- ? ? ? ? Sell(1);
- ? ? ? ? SetGlobalVar(1, 0);
- ? ? ? ? SetGlobalVar(2, 0);
- }
復制代碼?
-
TB客服:
Yuen_Lee 發表于 2020-3-28 12:49
沒有驗證,僅供參考。
好像跟四周規則差不多,只是突破開倉后,需要一根BAR創新高來確認
?
-
網友回復:
最后一個條件可以改成:
- If(GetGlobalVar(2) == 2)
- {
- ? ? ? ? If(High[1] <= High5 and High[2] <= High5)
- ? ? ? ? {
- ? ?? ???Sell(1);
- ? ?? ???SetGlobalVar(1, 0);
- ? ?? ???SetGlobalVar(2, 0);
- ? ? ? ? }
- ? ? ? ? Else
- ? ? ? ? ? ? ? ? SetGlobalVar(2, 3);? ? ? ? //當GetGlobalVar(2)為3時,一直持有多單
- }
復制代碼?
-
網友回復:
本帖最后由 Yuen_Lee 于 2020-4-1 09:11 編輯
加了注釋。- Numeric High5;
- If(BarStatus == 0)
- {
- ? ? ? ? SetGlobalVar(1, 0);
- ? ? ? ? SetGlobalVar(2, 0);
- }
- // 5根K線中K線3~5的最高價
- High5 = Highest(High[3], 3);
- // 未開倉:K線3收盤價>K線5高點,在K線2位置開多單
- If(GetGlobalVar(1) == 0 and Close[1] > High[3])
- {
- ? ? ? ? Buy(1);
- ? ? ? ? SetGlobalVar(1, Date+Time);
- }
- // 已開倉:記錄開倉后走過幾根K線
- If(GetGlobalVar(1) > Date+Time and GetGlobalVar(2) < 2)
- {
- ? ? ? ? SetGlobalVar(1, Date+Time);
- ? ? ? ? SetGlobalVar(2, GetGlobalVar(2)+1);
- }
- // 已開倉:記錄開倉后走過2根K線后,若K線1、2高點均<=K線3~5的高點,平多單
- If(GetGlobalVar(2) == 2)
- {
- ? ? ? ? If(High[1] <= High5 and High[2] <= High5)
- ? ? ? ? {
- ? ? ? ? ? ? ? ? Sell(1);
- ? ? ? ? ? ? ? ? SetGlobalVar(1, 0);
- ? ? ? ? ? ? ? ? SetGlobalVar(2, 0);
- ? ? ? ? }
- ? ? ? ? Else
- ? ? ? ? ? ? ? ? //當GetGlobalVar(2)為3時,一直持有多單
- ? ? ? ? ? ? ? ? SetGlobalVar(2, 3);
- }
復制代碼 |