您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

帮我梳理一下WH8使用 [文华财经]

  • 咨询内容: // @Name("Bollinger Bands Trend & Reversion Strategy")
    // @Description("综合布林带趋势跟踪与均值回归策略")

    // 策略参数
    INPUT:N1(20, 2, 100, 1, "布林带周期");
    INPUT:K1(2.0, 0.5, 3, 0.1, "布林带标准差倍数");
    INPUT:RSI_Period(14, 5, 30, 1, "RSI周期");
    INPUT:RSI_OverSold(30, 10, 40, 1, "RSI超卖线");
    INPUT:RSI_OverBought(70, 60, 90, 1, "RSI超买线");
    INPUT:Vol_Filter(1.2, 1, 3, 0.1, "成交量过滤倍数");
    INPUT:StopLossPct(2, 0.5, 5, 0.5, "止损百分比");
    INPUT:Trend_Filter(20, 5, 50, 1, "趋势过滤周期");

    // 计算指标
    MID := BOLL.MID(N1, K1);
    UPPER := BOLL.UPPER(N1, K1);
    LOWER := BOLL.LOWER(N1, K1);
    BANDWIDTH := (UPPER - LOWER) / MID; // 标准化带宽

    RSI_VAL := RSI(CLOSE, RSI_Period);
    MA_Trend := MA(CLOSE, Trend_Filter); // 趋势过滤用的均线
    VOL_MA := MA(VOL, 20); // 成交量均线

    // 市场状态判断
    IS_SQUEEZE := BANDWIDTH < LLV(BANDWIDTH, 50) * 1.2; // 带宽收缩状态
    IS_TREND := BANDWIDTH > HHV(BANDWIDTH, 50) * 0.8; // 带宽扩张状态
    IS_UPTREND := CLOSE > MA_Trend; // 整体趋势向上
    IS_DOWNTREND := CLOSE < MA_Trend; // 整体趋势向下

    // 交易条件 - 趋势跟踪策略 (适用于带宽扩张时期)
    TREND_LONG_ENTRY := IS_TREND AND IS_UPTREND AND C > UPPER AND VOL > VOL_MA * Vol_Filter;
    TREND_SHORT_ENTRY := IS_TREND AND IS_DOWNTREND AND C < LOWER AND VOL > VOL_MA * Vol_Filter;

    TREND_LONG_EXIT := C < MID OR (C - ENTRYPRICE) / ENTRYPRICE * 100 < -StopLossPct;
    TREND_SHORT_EXIT := C > MID OR (ENTRYPRICE - C) / ENTRYPRICE * 100 < -StopLossPct;

    // 交易条件 - 均值回归策略 (适用于带宽收缩时期)
    REVERT_LONG_ENTRY := IS_SQUEEZE AND C <= LOWER AND RSI_VAL < RSI_OverSold AND VOL > VOL_MA;
    REVERT_SHORT_ENTRY := IS_SQUEEZE AND C >= UPPER AND RSI_VAL > RSI_OverBought AND VOL > VOL_MA;

    REVERT_LONG_EXIT := C >= MID OR (C - ENTRYPRICE) / ENTRYPRICE * 100 < -StopLossPct;
    REVERT_SHORT_EXIT := C <= MID OR (ENTRYPRICE - C) / ENTRYPRICE * 100 < -StopLossPct;

    // 综合交易信号 (趋势策略优先)
    LONG_ENTRY := (TREND_LONG_ENTRY AND IS_TREND) OR (REVERT_LONG_ENTRY AND NOT IS_TREND);
    SHORT_ENTRY := (TREND_SHORT_ENTRY AND IS_TREND) OR (REVERT_SHORT_ENTRY AND NOT IS_TREND);

    LONG_EXIT := (TREND_LONG_EXIT AND IS_TREND) OR (REVERT_LONG_EXIT AND NOT IS_TREND);
    SHORT_EXIT := (TREND_SHORT_EXIT AND IS_TREND) OR (REVERT_SHORT_EXIT AND NOT IS_TREND);

    // 资金管理
    CAPITAL := 1000000; // 初始资金
    POSITION := 0; // 持仓数量

    // 计算仓位大小 (每次使用资金的20%)
    IF LONG_ENTRY OR SHORT_ENTRY THEN
    POSITION := (CAPITAL * 0.2) / C;

    // 执行交易
    IF LONG_ENTRY AND BARSLAST(LONG_ENTRY) > 5 THEN // 防止连续开仓
    BUY(POSITION, 1, MARKET);

    IF SHORT_ENTRY AND BARSLAST(SHORT_ENTRY) > 5 THEN
    BUYSHORT(POSITION, 1, MARKET);

    IF LONG_EXIT THEN
    SELL(1, 1, MARKET);

    IF SHORT_EXIT THEN
    SELLSHORT(1, 1, MARKET);

    // 绘制指标和信号
    DRAWLINE1(MID, COLORRED, 0, "中轨");
    DRAWLINE1(UPPER, COLORBLUE, 0, "上轨");
    DRAWLINE1(LOWER, COLORBLUE, 0, "下轨");

    // 标记交易信号
    DRAWICON(LONG_ENTRY, L, 1);
    DRAWICON(SHORT_ENTRY, H, 2);
    DRAWICON(LONG_EXIT, H, 3);
    DRAWICON(SHORT_EXIT, L, 4);

    // 绘制背景色显示市场状态
    DRAWGBK(IS_SQUEEZE, COLORGRAY, 0, "收缩市场");
    DRAWGBK(IS_TREND, COLORCYAN, 0, "趋势市场");

     

     来源:程序化99

  • 文华技术人员:  
    // @NAME("BOLLINGER BANDS TREND & REVERSION STRATEGY") // 策略参数 N1:=20; K1:=2.0; RSI_PERIOD:=14; RSI_OVERSOLD:=30; RSI_OVERBOUGHT:=70; VOL_FILTER:=1.2; STOPLOSSPCT:=2; TREND_FILTER:=20;
    // 计算指标 MID:MA(CLOSE,N1); TMP2:=STD(CLOSE,N1); UPPER:MID+K1*TMP2; LOWER:MID-K1*TMP2;
    BANDWIDTH := (UPPER - LOWER) / MID; // 标准化带宽 LC := REF(CLOSE,1); BACKGROUNDSTYLE(1); RSI:SMA(MAX(CLOSE-LC,0),RSI_PERIOD,1)/SMA(ABS(CLOSE-LC),RSI_PERIOD,1)*100; RSI_VAL := RSI; MA_TREND := MA(CLOSE, TREND_FILTER); // 趋势过滤用的均线 VOL_MA := MA(VOL, 20); // 成交量均线
    // 市场状态判断 IS_SQUEEZE := BANDWIDTH < LV(BANDWIDTH, 50) * 1.2; // 带宽收缩状态 IS_TREND := BANDWIDTH > HV(BANDWIDTH, 50) * 0.8; // 带宽扩张状态 IS_UPTREND := CLOSE > MA_TREND; // 整体趋势向上 IS_DOWNTREND := CLOSE < MA_TREND; // 整体趋势向下
    // 交易条件 - 趋势跟踪策略 (适用于带宽扩张时期) TREND_LONG_ENTRY := IS_TREND AND IS_UPTREND AND C > UPPER AND VOL > VOL_MA * VOL_FILTER; TREND_SHORT_ENTRY := IS_TREND AND IS_DOWNTREND AND C < LOWER AND VOL > VOL_MA * VOL_FILTER;
    TREND_LONG_EXIT := C < MID OR (C - BKPRICE) / BKPRICE * 100 < -STOPLOSSPCT; TREND_SHORT_EXIT := C > MID OR (SKPRICE - C) / SKPRICE * 100 < -STOPLOSSPCT;
    // 交易条件 - 均值回归策略 (适用于带宽收缩时期) REVERT_LONG_ENTRY := IS_SQUEEZE AND C <= LOWER AND RSI_VAL < RSI_OVERSOLD AND VOL > VOL_MA; REVERT_SHORT_ENTRY := IS_SQUEEZE AND C >= UPPER AND RSI_VAL > RSI_OVERBOUGHT AND VOL > VOL_MA;
    REVERT_LONG_EXIT := C >= MID OR (C - BKPRICE) / BKPRICE * 100 < -STOPLOSSPCT; REVERT_SHORT_EXIT := C <= MID OR (SKPRICE - C) / SKPRICE * 100 < -STOPLOSSPCT;
    // 综合交易信号 (趋势策略优先) LONG_ENTRY := (TREND_LONG_ENTRY AND IS_TREND) OR (REVERT_LONG_ENTRY AND NOT( IS_TREND)); SHORT_ENTRY := (TREND_SHORT_ENTRY AND IS_TREND) OR (REVERT_SHORT_ENTRY AND NOT (IS_TREND));
    LONG_EXIT := (TREND_LONG_EXIT AND IS_TREND) OR (REVERT_LONG_EXIT AND NOT (IS_TREND)); SHORT_EXIT := (TREND_SHORT_EXIT AND IS_TREND) OR (REVERT_SHORT_EXIT AND NOT( IS_TREND));
    // 资金管理 CAPITAL := 1000000; // 初始资金 POSITION := 0; // 持仓数量
    // 计算仓位大小 (每次使用资金的20%) //IF LONG_ENTRY OR SHORT_ENTRY THEN //POSITION := (CAPITAL * 0.2) / C;
    // 执行交易 LONG_ENTRY AND REF(BARSLAST(LONG_ENTRY) > 5,1) ,BK;
    SHORT_ENTRY AND REF(BARSLAST(SHORT_ENTRY) > 5,1),SK;
    LONG_EXIT,SP; SHORT_EXIT ,BP; // 绘制指标和信号 MID, COLORRED; UPPER, COLORBLUE; LOWER, COLORBLUE;
    // 标记交易信号 DRAWICON(LONG_ENTRY, L, 1); DRAWICON(SHORT_ENTRY, H, 2); DRAWICON(LONG_EXIT, H, 3); DRAWICON(SHORT_EXIT, L, 4);
    // 绘制背景色显示市场状态 DRAWGBK1(IS_SQUEEZE, COLORGRAY); DRAWGBK1(IS_TREND, COLORCYAN); AUTOFILTER;

 

有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流或微信号:cxh99cxh99  进行 有偿收费 编写!

怎么收费,代编流程等详情请点击阅读!

(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容