老师:您好!
1,照初级教材写的布林线置,只有二根线,少一根线,
2,布林线数值设置是在图中圈出地方?
麻烦老师帮忙写下
谢谢!
MID:MA(CLOSE,3);
TMP2:=STD(CLOSE,8);
TOP:MID+2*TMP2;
BOTTOM:=MID-2*TMP2;


不用编写这么麻烦的,wh6自带BOLL指标的,如图,K线图右键》叠加技术指标,选入BOLL线即可
如果您是想尝试自己编写,把“BOTTOM:=MID-P*TMP2;”改为“BOTTOM:MID-P*TMP2;”即可
老师:早
开仓条件:1,多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
2,空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
3,多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
4,空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;
5,盘整时可以过滤掉吗?不执行开仓命令;,图中5;
6,日内操作,每个交易日21:05分-14:55分运行程序。
止损止盈条件,1,止损设为开仓K线多仓为最低价+1个价位,空仓为最高价+1个价位;
2,盈利有5个价位设置止盈价为开仓价+2个价位;
3,盈利有10个价位设置止盈价为开仓价+5个价位;
4,盈利有15个价位设置止盈价为开仓价+7个价位;
5,盈利有20个价位设置止盈价为开仓价+12个价位;
另外请老师编写时在命令行后文字注释,这样有些简单改动可以不麻烦老师了,


为方便论坛管理,新的问题请重新发帖进行提问,感谢您的配合
参考:
MID:MA(CLOSE,3);
TMP2:=STD(CLOSE,8);
TOP:MID+2*TMP2;
BOTTOM:MID-2*TMP2;
TT:=TIME>2105||TIME<1455;//每个交易日21:05分-14:55分运行程序
多头信号&&C>=MID&&TT,BK;//多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
空头信号&&C<=MID&&TT,SK;//空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
CONDD:=多头信号&&C<MID;//多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
CONDK:=空头信号&&C>MID;//空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;
C<REF(L+MINPRICE,BARSBK)&&NOT(CONDD),SP;//止损设为开仓K线多仓为最低价+1个价位
C>REF(H+MINPRICE,BARSSK)&&NOT(CONDK),BP;//止损设为开仓K线空仓为最高价+1个价位;
C<=BKPRICE+2*MINPRICE&&BKHIGH>=BKPRICE+5*MINPRICE&&BKHIGH<BKPRICE+10*MINPRICE,SP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C<=BKPRICE+5*MINPRICE&&BKHIGH>=BKPRICE+10*MINPRICE&&BKHIGH<BKPRICE+15*MINPRICE,SP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C<=BKPRICE+7*MINPRICE&&BKHIGH>=BKPRICE+15*MINPRICE&&BKHIGH<BKPRICE+20*MINPRICE,SP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C<=BKPRICE+12*MINPRICE&&BKHIGH>=BKPRICE+20*MINPRICE,SP; //盈利有20个价位设置止盈价为开仓价+12个价位;
C>=SKPRICE-2*MINPRICE&&SKLOW<=SKPRICE-5*MINPRICE&&SKLOW<SKPRICE-10*MINPRICE,BP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C>=SKPRICE-5*MINPRICE&&SKLOW<=SKPRICE-10*MINPRICE&&SKLOW<SKPRICE-15*MINPRICE,BP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C>=SKPRICE-7*MINPRICE&&SKLOW<=SKPRICE-15*MINPRICE&&SKLOW<SKPRICE-20*MINPRICE,BP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C>=SKPRICE-12*MINPRICE&&SKLOW<=SKPRICE-20*MINPRICE,BP; //盈利有20个价位设置止盈价为开仓价+12个价位;
AUTOFILTER;
您是指黄色箭头?黄色箭头是反手信号,您的思路中不包含反手的思路
另,4楼源码满足条件,是会有箭头提示的,如果您说的空头信号、多头信号,不是您自己要另加的条件的话,按下面改下看看
MID:MA(CLOSE,3);
TMP2:=STD(CLOSE,8);
TOP:MID+2*TMP2;
BOTTOM:MID-2*TMP2;
TT:=TIME>2105||TIME<1455;//每个交易日21:05分-14:55分运行程序
C>=MID&&TT,BK;//多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
C<=MID&&TT,SK;//空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
CONDD:=C<MID;//多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
CONDK:=C>MID;//空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;
C<REF(L+MINPRICE,BARSBK)&&NOT(CONDD),SP;//止损设为开仓K线多仓为最低价+1个价位
C>REF(H+MINPRICE,BARSSK)&&NOT(CONDK),BP;//止损设为开仓K线空仓为最高价+1个价位;
C<=BKPRICE+2*MINPRICE&&BKHIGH>=BKPRICE+5*MINPRICE&&BKHIGH<BKPRICE+10*MINPRICE,SP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C<=BKPRICE+5*MINPRICE&&BKHIGH>=BKPRICE+10*MINPRICE&&BKHIGH<BKPRICE+15*MINPRICE,SP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C<=BKPRICE+7*MINPRICE&&BKHIGH>=BKPRICE+15*MINPRICE&&BKHIGH<BKPRICE+20*MINPRICE,SP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C<=BKPRICE+12*MINPRICE&&BKHIGH>=BKPRICE+20*MINPRICE,SP; //盈利有20个价位设置止盈价为开仓价+12个价位;
C>=SKPRICE-2*MINPRICE&&SKLOW<=SKPRICE-5*MINPRICE&&SKLOW<SKPRICE-10*MINPRICE,BP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C>=SKPRICE-5*MINPRICE&&SKLOW<=SKPRICE-10*MINPRICE&&SKLOW<SKPRICE-15*MINPRICE,BP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C>=SKPRICE-7*MINPRICE&&SKLOW<=SKPRICE-15*MINPRICE&&SKLOW<SKPRICE-20*MINPRICE,BP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C>=SKPRICE-12*MINPRICE&&SKLOW<=SKPRICE-20*MINPRICE,BP; //盈利有20个价位设置止盈价为开仓价+12个价位;
AUTOFILTER;

老师您好!再次麻烦您!
1,帮忙改下,收盘前平仓,不持仓。
2,有很多止盈不执行,有些又执行,是回测的问题还是语名需要调整。附图
3,止盈是只要盘中触到设置价,不需要K线收盘价到,就成立止盈条件,可以这样写不。
非常感谢!


您4楼的止盈条件是,盈利有10个价位设置止盈价为开仓价+5个价位,所以截图1中的止盈价是49930-50=49880
由于是收盘价,所以需要看收盘价是否大于等于49880,空仓才止损
下面改为满足平仓条件立即平仓,加上收盘前平仓,参考:
MID:MA(CLOSE,3);
TMP2:=STD(CLOSE,8);
TOP:MID+2*TMP2;
BOTTOM:MID-2*TMP2;
TT:=TIME>2105||TIME<1455;//每个交易日21:05分-14:55分运行程序
C>=MID&&TT,BK;//多头信号出现,收盘价在布林线中轨上或等于,开多仓,图中标注1;
C<=MID&&TT,SK;//空头信号出现,收盘价在布林线中轨下或等于,开空仓,图中标注2;
CONDD:=C<MID;//多头信号出线,收盘价在布林线中轨下,不执行开平仓操作,图中标注3;
CONDK:=C>MID;//空头信号出线,收盘价在布林线中轨上,不执行开平仓操作,图中标注4;
C<REF(L+MINPRICE,BARSBK)&&NOT(CONDD),SP;//止损设为开仓K线多仓为最低价+1个价位
C>REF(H+MINPRICE,BARSSK)&&NOT(CONDK),BP;//止损设为开仓K线空仓为最高价+1个价位;
C<=BKPRICE+2*MINPRICE&&BKHIGH>=BKPRICE+5*MINPRICE&&BKHIGH<BKPRICE+10*MINPRICE,SP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C<=BKPRICE+5*MINPRICE&&BKHIGH>=BKPRICE+10*MINPRICE&&BKHIGH<BKPRICE+15*MINPRICE,SP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C<=BKPRICE+7*MINPRICE&&BKHIGH>=BKPRICE+15*MINPRICE&&BKHIGH<BKPRICE+20*MINPRICE,SP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C<=BKPRICE+12*MINPRICE&&BKHIGH>=BKPRICE+20*MINPRICE,SP; //盈利有20个价位设置止盈价为开仓价+12个价位;
C>=SKPRICE-2*MINPRICE&&SKLOW<=SKPRICE-5*MINPRICE&&SKLOW<SKPRICE-10*MINPRICE,BP; //盈利有5个价位设置止盈价为开仓价+2个价位;
C>=SKPRICE-5*MINPRICE&&SKLOW<=SKPRICE-10*MINPRICE&&SKLOW<SKPRICE-15*MINPRICE,BP; //盈利有10个价位设置止盈价为开仓价+5个价位;
C>=SKPRICE-7*MINPRICE&&SKLOW<=SKPRICE-15*MINPRICE&&SKLOW<SKPRICE-20*MINPRICE,BP; //盈利有15个价位设置止盈价为开仓价+7个价位;
C>=SKPRICE-12*MINPRICE&&SKLOW<=SKPRICE-20*MINPRICE,BP; //盈利有20个价位设置止盈价为开仓价+12个价位;
CHECKSIG_MIN(BP,'A',0,'C',0);
CHECKSIG_MIN(SP,'A',0,'C',0);
CLOSEMINUTE1<=1,CLOSEOUT;//收盘前1分钟清仓
AUTOFILTER;

