老师帮忙看下测试时不执行止盈止损 (文华财经WH6赢顺V6.7)

投资者咨询:老师帮忙看下测试时不执行止盈止损 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-1 17:08

老师:您好!

帮忙看看,测试时不执行止盈止损,为什么。

感谢! 

 

 

B2>SMA2&&C>=MID&&TT,BK;//多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
B2<SMA2&&C<=MID&&TT,SK;//空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
CONDD:=B2>SMA2&&C<MID;//多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
CONDK:=B2<SMA2&&C>MID;//空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;

C<REF(L-2*MINPRICE,BARSBK)&&NOT(CONDD),SP;//止损设为开仓K线多仓为最低价+2个价位
C>REF(H+2*MINPRICE,BARSSK)&&NOT(CONDK),BP;//止损设为开仓K线空仓为最高价+2个价位;

C>=BKPRICE+2*MINPRICE&&BKPRICEAV1>=BKPRICE+5*MINPRICE&&BKHIGH<BKPRICE+10*MINPRICE,SP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C>=BKPRICE+5*MINPRICE&&BKPRICEAV1>=BKPRICE+10*MINPRICE&&BKHIGH<BKPRICE+15*MINPRICE,SP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C>=BKPRICE+7*MINPRICE&&BKPRICEAV1>=BKPRICE+15*MINPRICE&&BKHIGH<BKPRICE+20*MINPRICE,SP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C>=BKPRICE+12*MINPRICE&&BKPRICEAV1>=BKPRICE+20*MINPRICE,SP; //盈利有20个价位设置止盈价为开仓价+12个价位;

C<=SKPRICE-2*MINPRICE&&SKPRICEAV<=SKPRICE-5*MINPRICE&&SKLOW<SKPRICE-10*MINPRICE,BP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C<=SKPRICE-5*MINPRICE&&SKPRICEAV<=SKPRICE-10*MINPRICE&&SKLOW<SKPRICE-15*MINPRICE,BP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C<=SKPRICE-7*MINPRICE&&SKPRICEAV<=SKPRICE-15*MINPRICE&&SKLOW<SKPRICE-20*MINPRICE,BP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C<=SKPRICE-12*MINPRICE&&SKPRICEAV<=SKPRICE-20*MINPRICE,BP; //盈利有20个价位设置止盈价为开仓价+12个价位;
CHECKSIG(BP,'A',0,'C',0,0);
CHECKSIG(SP,'A',0,'C',0,0);
CLOSEMINUTE1<=1,CLOSEOUT;//收盘前1分钟清仓
AUTOFILTER;

 
技术人员回复
日期:2018-8-1 17:29
您的B2是怎么定义的?

请发送一下完整源码,我们看下
投资者咨询:老师帮忙看下测试时不执行止盈止损 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-8-1 17:08
 

MID:MA(CLOSE,12);
TMP2:=STD(CLOSE,10);
TOP:MID+3*TMP2;
BOTTOM:MID-3*TMP2;
TT:=TIME>2100||TIME<1455;//每个交易日21:05分-14:55分运行程序
B1:=MA(C,5); //一日收盘价
B2:=SMA(SMA(SMA(B1,2,1),2,1),2,1);
SMA2:=MA(B2,5);//5天平均
B2>SMA2&&C>=MID&&TT,BK;//多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
B2<SMA2&&C<=MID&&TT,SK;//空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
CONDD:=B2>SMA2&&C<MID;//多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
CONDK:=B2<SMA2&&C>MID;//空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;


C<REF(L-2*MINPRICE,BARSBK)&&NOT(CONDD),SP;//止损设为开仓K线多仓为最低价+2个价位
C>REF(H+2*MINPRICE,BARSSK)&&NOT(CONDK),BP;//止损设为开仓K线空仓为最高价+2个价位;

C>=BKPRICE+2*MINPRICE&&BKPRICEAV1>=BKPRICE+5*MINPRICE&&BKHIGH<BKPRICE+10*MINPRICE,SP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C>=BKPRICE+5*MINPRICE&&BKPRICEAV1>=BKPRICE+10*MINPRICE&&BKHIGH<BKPRICE+15*MINPRICE,SP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C>=BKPRICE+7*MINPRICE&&BKPRICEAV1>=BKPRICE+15*MINPRICE&&BKHIGH<BKPRICE+20*MINPRICE,SP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C>=BKPRICE+12*MINPRICE&&BKPRICEAV1>=BKPRICE+20*MINPRICE,SP; //盈利有20个价位设置止盈价为开仓价+12个价位;

C<=SKPRICE-2*MINPRICE&&SKPRICEAV<=SKPRICE-5*MINPRICE&&SKLOW<SKPRICE-10*MINPRICE,BP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C<=SKPRICE-5*MINPRICE&&SKPRICEAV<=SKPRICE-10*MINPRICE&&SKLOW<SKPRICE-15*MINPRICE,BP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C<=SKPRICE-7*MINPRICE&&SKPRICEAV<=SKPRICE-15*MINPRICE&&SKLOW<SKPRICE-20*MINPRICE,BP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C<=SKPRICE-12*MINPRICE&&SKPRICEAV<=SKPRICE-20*MINPRICE,BP; //盈利有20个价位设置止盈价为开仓价+12个价位;
CHECKSIG(BP,'A',0,'C',0,0);
CHECKSIG(SP,'A',0,'C',0,0);
CLOSEMINUTE1<=1,CLOSEOUT;//收盘前1分钟清仓
AUTOFILTER;

 
技术人员回复
日期:2018-8-1 18:50
 跟您编写的顺序有关系,因为先判断的平仓条件

 如果满足平仓条件了,那么后续的止损就不判断了,您了解一下

 这么改下:

 MID:MA(CLOSE,12);
TMP2:=STD(CLOSE,10);
TOP:MID+3*TMP2;
BOTTOM:MID-3*TMP2;
TT:=TIME>2100||TIME<1455;//每个交易日21:05分-14:55分运行程序
B1:=MA(C,5); //一日收盘价
B2:=SMA(SMA(SMA(B1,2,1),2,1),2,1);
SMA2:=MA(B2,5);//5天平均
B2>SMA2&&C>=MID&&TT,BK;//多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
B2<SMA2&&C<=MID&&TT,SK;//空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
CONDD:=B2>SMA2&&C<MID;//多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
CONDK:=B2<SMA2&&C>MID;//空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;


C>=BKPRICE+2*MINPRICE&&BKPRICEAV1>=BKPRICE+5*MINPRICE&&BKHIGH<BKPRICE+10*MINPRICE,SP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C>=BKPRICE+5*MINPRICE&&BKPRICEAV1>=BKPRICE+10*MINPRICE&&BKHIGH<BKPRICE+15*MINPRICE,SP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C>=BKPRICE+7*MINPRICE&&BKPRICEAV1>=BKPRICE+15*MINPRICE&&BKHIGH<BKPRICE+20*MINPRICE,SP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C>=BKPRICE+12*MINPRICE&&BKPRICEAV1>=BKPRICE+20*MINPRICE,SP; //盈利有20个价位设置止盈价为开仓价+12个价位;
C<=SKPRICE-2*MINPRICE&&SKPRICEAV<=SKPRICE-5*MINPRICE&&SKLOW<SKPRICE-10*MINPRICE,BP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C<=SKPRICE-5*MINPRICE&&SKPRICEAV<=SKPRICE-10*MINPRICE&&SKLOW<SKPRICE-15*MINPRICE,BP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C<=SKPRICE-7*MINPRICE&&SKPRICEAV<=SKPRICE-15*MINPRICE&&SKLOW<SKPRICE-20*MINPRICE,BP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C<=SKPRICE-12*MINPRICE&&SKPRICEAV<=SKPRICE-20*MINPRICE,BP; //盈利有20个价位设置止盈价为开仓价+12个价位;
C<REF(L-2*MINPRICE,BARSBK)&&NOT(CONDD),SP;//止损设为开仓K线多仓为最低价+2个价位
C>REF(H+2*MINPRICE,BARSSK)&&NOT(CONDK),BP;//止损设为开仓K线空仓为最高价+2个价位;CHECKSIG(BP,'A',0,'C',0,0);
CHECKSIG(SP,'A',0,'C',0,0);
CLOSEMINUTE1<=1,CLOSEOUT;//收盘前1分钟清仓
AUTOFILTER;