Практика и применение стратегии термостата на платформе FMZ Quant

Автор:Лидия., Создано: 2023-01-19 09:22:10, Обновлено: 2023-09-20 09:25:20

img

Практика и применение стратегии термостата на платформе FMZ Quant

Почему его называют термостатом? Мы назвали систему в соответствии с ее адаптивностью к сдвигу и торговле как волатильности рынка, так и тенденционных моделей. Эта система получена из нашего наблюдения за успехом конкретных систем в конкретных рыночных областях. Система может создавать стратегии с двойным характером, чтобы в полной мере использовать обе модели рынка.

Во-первых, мы создаем функцию, которая помогает определить рыночную картину. В соответствии с выходом этой функции, термостат переключается с режима следования на краткосрочный режим колебания.

Режим отслеживания тренда похож на механизм отслеживания тренда в полосах Боллинджера. Короткосрочная система свинга является открытым прорывом, включая распознавание моделей. Функция сравнивает расстояние блуждания рынка с фактическим расстоянием рынка:

Abs (цена закрытия - цена закрытия[29])/(наивысшая цена(30) - самая низкая цена (низкая цена, 30 дней) * 100

Функция генерирует значения от 0 до 100. Чем выше значение, тем менее переполненный будет текущий рынок. Если значение, возвращенное функцией, меньше 20, система входит в краткосрочный режим колебания.

В основном, большая часть рынка показывает колебание движения, и система пытается поймать колебание и получить небольшую прибыль от него. Термостат пытается достичь этого подвига, покупая/продавая небольшой рыночный импульс. Если колебание достаточно большое, система переключает режимы.

С помощью глубокого анализа краткосрочных колебаний мы обнаруживаем, что иногда покупать лучше, чем продавать, и наоборот. В это время это можно определить простым визуальным режимом. Если сегодняшняя цена закрытия выше, чем вчерашняя высокая точка, низкая точка и цена закрытия (также известная как ключевая точка дня), мы думаем, что завтрашнее рыночное движение может быть медвежьим. Однако, если сегодняшняя цена закрытия ниже, чем вчерашняя высокая точка, низкая точка и средняя цена закрытия, то сегодняшний рынок может быть бычьим. Мы классифицируем эти времена как цены, которые проще купить и продать.

На платформе FMZ Quant стратегия термостата является очень популярной стратегией. Пользователи могут добавить дополнительную логику торговли в соответствии со своими потребностями, чтобы стратегия работала лучше.

  • Основная диаграмма: Формула верхнего пути: TOP^^MAC+N_TMPTMP;// верхний путь канала Боллинджера Формула понижения траектории: BOTTOM^^MAC-N_TMPTMP;// Канал Боллинджера снижения траектории

  • Подсхема: Формула CMI: CMI:ABS(C-REF(C,N_CMI-1))/HHV(H,N_CMI)-LLV(L,N_CMI))*100;//Чем больше значение 0-100, тем сильнее будет тенденция. CMI < 20 - режим волатильности, CMI > 20 - тенденция.

  • Код (MyLanguage):

MAC:=MA(CLOSE,N);
TMP:=STD(CLOSE,N);
TOP^^MAC+N_TMP*TMP;      // Bollinger channel upper track
BOTTOM^^MAC-N_TMP*TMP;   // Bollinger channel down track
BBOLL:=C>MAC;
SBOLL:=C<MAC;
N_CMI:=30;

CMI:ABS(C-REF(C,N_CMI-1))/(HHV(H,N_CMI)-LLV(L,N_CMI))*100; // The greater the value of 0-100 is, the stronger the trend will be. CMI < 20 is volatility mode, CMI >20 is the trend.

N_KD:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N_KD))/(HHV(HIGH,N_KD)-LLV(LOW,N_KD))*100; // The difference between the closing price and the lowest value of N period is made, the difference between the highest value of N period and the lowest value of N period is made, and the ratio between the two differences is made.

K:=SMA(RSV,M1,1); // Moving average of RSV
D:=SMA(K,M2,1);   // Moving average of K
MIND:=30;
BKD:=K>D AND D<MIND;
SKD:=K<D AND D>100-MIND;

// Oscillation mode
BUYPK1:=CMI < 20 AND BKD;  // Oscillating long position, buy close
SELLPK1:=CMI < 20 AND SKD; // Oscillating short position, sell close

// Handling of original oscillating positions in trend mode
SELLY1:=REF(CMI,BARSBK) < 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND K<D; // Oscillation long position stop-profit
BUYY1:=REF(CMI,BARSSK) < 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND K>D;  // Oscillation short position stop-profit

// Trend mode
BUYPK2:=CMI >= 20 AND C > TOP;        // Trend long position, buy close
SELLPK2:=CMI >= 20 AND C < BOTTOM;    // Trend short position, sell close

// Handling of original oscillating positions in trend mode
SELLY2:=REF(CMI,BARSBK) >= 20 AND C>BKPRICE*(1+0.01*STOPLOSS*3) AND SBOLL;// Trend long position stop-profit
BUYY2:=REF(CMI,BARSSK) >= 20 AND C<SKPRICE*(1-0.01*STOPLOSS*3) AND BBOLL;// Trend short position stop-profit
SELLS2:=REF(CMI,BARSBK) >= 20 AND C<BKPRICE*(1-0.01*STOPLOSS) AND SBOLL;// Trend long position stop-loss
BUYS2:=REF(CMI,BARSSK) >= 20 AND C>SKPRICE*(1+0.01*STOPLOSS) AND BBOLL;// Trend short position stop-loss

IF BARPOS>N THEN BEGIN
    BUYPK1,BPK;
    SELLPK1,SPK;
    BUYPK2,BPK;
    SELLPK2,SPK;
END
BUYY1,BP(SKVOL);
BUYY2,BP(SKVOL);
BUYS2,BP(SKVOL);
SELLY1,SP(BKVOL);
SELLY2,SP(BKVOL);
SELLS2,SP(BKVOL);

Результаты обратной проверки стратегии следующие:

img img img

Дополнительная информация:https://www.fmz.com/strategy/129086.


Связанные

Больше