K线图上的开平仓箭头标识位置与代码里写的意思不一致呢

1,策略代码写的是绿色均线下绿色K线开始的地方开空单(就是标识“空”字的地方),红色K线开始的地方平仓(就是标识“多”字的地方),按照策略代码图中红色箭头的地方开了空单,应该是在蓝色箭头的地方平仓空单,为什么在绿色箭头的地方就把空单平仓了呢?这就不对啊,完全不是策略代码的平仓位置。

2,策略代码写的是红色均线上红色K线开始的地方开多单(就是标识“多”字的地方),K线上黄色箭头的地方都还是绿色均线下,绿色K线,为什么开了多单呢?这也不对

上图是把写好的策略代码模型加载到K线图上一看,开仓位置和平仓位置都不对,这都是乱开仓和平仓

怎么写一条平仓位置的直线
K线加载公式,箭头颜色不同,连线不同代表了什么意思?
奇怪的问题 策略单元有信号,而K线没显示出信号标识
一根K线里如何区分建仓与平仓的顺序
如何在策略交易中的K线页面,实时显示成交标识?
K线上怎么不显示开平仓箭头信号
当根k线平仓后不开仓 下根K线开仓
在同根K线开仓+平仓,遇到问题
同一根K线平仓和开仓问题
委托记录和成交记录与K线上的不一致

删掉 MULTSIG_MIN(0,0,3)

MULTSIG_MIN(0,0,3)把这个删掉了,那同一根K线多个信号,同时平仓和开仓,那怎么弄

那就没有办法处理了,

简语言版只能实现一些简单策略,也不建议这样做

图片中红色箭头所指的那根K线就是有两个信号,前面空单的平仓信号和多单的开仓信号,删掉了MULTSIG_MIN(0,0,3)这个,只执行了前面空单的平仓信号,没执行多单的开仓信号。

不用这个MULTSIG_MIN(0,0,3),一根K线怎么样能同时执行前面的空单的平仓信号和多单的开仓信号,并当根K线执行信号,不用等到收盘后下跟K线才执行?

简语言版只能实现一些简单策略,这个就没办法了

TBQ和TBQ3才能实现上面我说的吗?

用了MULTSIG_MIN(0,0,3)这个,为什么开仓和平仓就乱了呢?完全不按照策略代码里的来执行开仓和平仓,究竟是什么原因呢

1、TBQuant也不建议1根K线做太多的操作,建议只做一个操作

2、那不是乱开平,软件机制就是这样的

一根K线只做一个操作,就会错过很多操作

而且是收盘价模型,得等到收盘后下根K线才执行,怎么样可以当根K线就执行,不用等到收盘后

TBQuant也不建议1根K线做太多的操作,建议只做一个操作

用移动止损平仓或固定点数止损平仓,加载到K线图上显示开仓平仓也不对呢?怎么都是上根K线开仓后,下跟K线马上就平仓了,都没到止损点位啊,固定止损点位40跳,移动止损40跳,比如橡胶1跳是5,40跳要200才会止损的啊

BuyCoverCond,SP(2);

SellCoverCond,BP(2); 把平仓换成下面的移动止损或者固定止损

N:=40;

CLOSE<=BKHIGH-N*MINPRICE,SP(2);

CLOSE>=SKLOW+N*MINPRICE,BP(2);这是移动止损

N:=40;

CLOSE<=BKPRICE-N*MINPRICE,SP(2);

CLOSE>=BKPRICE+N*MINPRICE,BP(2);这是固定止损



请发完整代码

完整代码发上来才能分析回答

N1:=1;

N2:=1;

Z3:=2;

N:=2;

HH1:=IFELSE(H<REF(H,N1)&&REF(H,N2)<REF(H,Z3),REF(H,N),0);

LL1:=IFELSE(L>REF(L,N1)&&REF(L,N2)>REF(L,Z3),REF(L,N),0);

HH2:=VALUEWHEN(HH1>0,HH1);

LL2:=VALUEWHEN(LL1>0,LL1);

K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0));

K2:=VALUEWHEN(K1<>0,K1);

G:=IFELSE(K2=1,HH2,LL2);

W1:=K2,LINETHICK2;

W2:=OPEN-CLOSE;

HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE);

LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE);

DRAWLINE(W1=1 ,HIGH,W1=1,HT,COLORGREEN);

DRAWLINE(W1=1 ,LOW,W1=1,LT,COLORGREEN);

DRAWLINE(W1=-3 ,HIGH,W1=-3,HT,COLORRED);

DRAWLINE(W1=-3 ,LOW,W1=-3,LT,COLORRED);

STICKLINE(W1>0 ,OPEN,CLOSE,COLORGREEN,1);

STICKLINE(W1<=0 ,OPEN,CLOSE,COLORRED,1);

STICKLINE(W2>0&&W1<=0 ,OPEN,CLOSE,COLORRED,0);

STICKLINE(W2>0&&W1>0 ,OPEN,CLOSE,COLORGREEN,0);


DRAWTEXT(CROSS(W1,0) ,H,'空'),RGB(4,238,250),ALIGN1,VALIGN0,FONTSIZE20;

DRAWTEXT(CROSS(0,W1) ,L,'多'),RGB(255,71,151),ALIGN1,VALIGN2,FONTSIZE20;


BuyCond :=C>JX&&CROSS(0,W1);  

SellCond :=C<JX&&CROSS(W1,0);

BuyCond,BK(2);

SellCond,SK(2);

BuyCoverCond := CROSS(W1,0);

SellCoverCond := CROSS(0,W1);

BuyCoverCond,SP(2);

SellCoverCond,BP(2);

MULTSIG_MIN(0,0,3);

这是完整代码,看下是什么原因



JX:EMA(C,30),LINETHICK2;

DRAWCOLORLINE(C>=JX,JX,COLORRED,RGB(0,200,0)),LINETHICK2;

这个在最前面

JX:EMA(C,30),LINETHICK2;

DRAWCOLORLINE(C>=JX,JX,COLORRED,RGB(0,200,0)),LINETHICK2;


N1:=1;

N2:=1;

Z3:=2;

N:=2;

HH1:=IFELSE(H<REF(H,N1)&&REF(H,N2)<REF(H,Z3),REF(H,N),0);

LL1:=IFELSE(L>REF(L,N1)&&REF(L,N2)>REF(L,Z3),REF(L,N),0);

HH2:=VALUEWHEN(HH1>0,HH1);

LL2:=VALUEWHEN(LL1>0,LL1);

K1:=IFELSE(CLOSE>HH2,-3,IFELSE(CLOSE<LL2,1,0));

K2:=VALUEWHEN(K1<>0,K1);

G:=IFELSE(K2=1,HH2,LL2);

W1:=K2,LINETHICK2;

W2:=OPEN-CLOSE;

HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE);

LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE);

DRAWLINE(W1=1 ,HIGH,W1=1,HT,COLORGREEN);

DRAWLINE(W1=1 ,LOW,W1=1,LT,COLORGREEN);

DRAWLINE(W1=-3 ,HIGH,W1=-3,HT,COLORRED);

DRAWLINE(W1=-3 ,LOW,W1=-3,LT,COLORRED);

STICKLINE(W1>0 ,OPEN,CLOSE,COLORGREEN,1);

STICKLINE(W1<=0 ,OPEN,CLOSE,COLORRED,1);

STICKLINE(W2>0&&W1<=0 ,OPEN,CLOSE,COLORRED,0);

STICKLINE(W2>0&&W1>0 ,OPEN,CLOSE,COLORGREEN,0);


DRAWTEXT(CROSS(W1,0) ,H,'空'),RGB(4,238,250),ALIGN1,VALIGN0,FONTSIZE20;

DRAWTEXT(CROSS(0,W1) ,L,'多'),RGB(255,71,151),ALIGN1,VALIGN2,FONTSIZE20;

BuyCond :=C>JX&&CROSS(0,W1);  

SellCond :=C<JX&&CROSS(W1,0);

BuyCond,BK(2);

SellCond,SK(2);

BuyCoverCond := CROSS(W1,0);

SellCoverCond := CROSS(0,W1);

BuyCoverCond,SP(2);

SellCoverCond,BP(2);

MULTSIG_MIN(0,0,3);