投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10
ZD11=Low<LLLB ;
ZD22 =Close>LLLB && LLLB>Ref(LLLB,1)||Close>LLLB && UUUB<Ref(UUUB,1);
ZD1= ZD22==1 && REF(EXIST(ZD11,DAYBARPOS),1) && COUNT(ZD22,DAYBARPOS)==1;
ZDP1=BKHigh>UUUB;
ZDP11= High>LLLB;
ZDP22= Close<LLLB;
ZDP2=ZDP22 && ZDP11;
ZK11=High>UUUB ;
ZK22 =Close<UUUB && LLLB>Ref(LLLB,1) ||Close<UUUB && UUUB<Ref(UUUB,1) ;
ZK1= ZK22==1 && REF(EXIST(ZK11,DAYBARPOS),1) && COUNT(ZK22,DAYBARPOS)==1;
ZKP1=SKLow<LLLB;
ZKP11= Low<UUUB;
ZKP22= Close>UUUB;
ZKP2=ZKP22 && ZKP11;
老师,帮我看一眼。我想表达的意思是,以做多为例,当Low<LLLB(K线打出下轨)出现之后,K线运行,之后出现zd22的条件,这时入场。然后出场条件有两个,zdp1是止盈,即BKHigh>UUUB就走。zdp2是止损,即当
zdp11之后(K线回到轨道内),没往上走,这时zdp22(K线再次打出下轨)时出场。
我现在这么写出来,就出现头一个信号,之后就没有了。求老师帮我改改。我现在就是想一一对应,当zd11出现之后,一定会出现两个结果,就是要么打下轨要么返回上轨,当这个过程结束之后,等待新的下一次K线
的high>UUUB或是Low<LLLB 出现再下单。
技术人员回复
日期:2020-9-8 17:12
投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10
Setting
MultSig:0,0,1,0;
Trade_Other:Auto;
Vars
Numeric N; //下单手数
Numeric T; //时间间隔
Numeric SH; //平仓参数
Numeric MTR2; //三重指数中线
Numeric OPFLG; //模型处理标志
Numeric NOW; //当前时间
Numeric TIME1; //开盘限制时间
Numeric TIME2; //尾盘闭市平仓时间
Numeric TIME3; //尾盘闭市平仓时间
Numeric SJ; //可开仓的交易时间
Numeric BIDP; //买一价
Numeric ASKP; //卖一价
Numeric RLP; //涨停价
Numeric FLP; //跌停价
Numeric BRP; //多头可用持仓
Numeric SRP; //空头可用持仓
Numeric BKDFLG; //买开处理标志
Numeric SKDFLG; //卖开处理标志
Numeric BPDFLG; //买平处理标志
Numeric SPDFLG; //卖平处理标志
Numeric BOLL; //
Numeric UUUB; //
Numeric UUB; //
Numeric UB; //
Numeric LB; //
Numeric LLB; //
Numeric LLLB; //
Numeric KMID; //可用资金
Global_Numeric SIGIDA; //记录指令序号
Global_Numeric KCP; //记录K线位置
Global_Numeric KCPB; //记录K线位置
Global_Numeric SIGF; //信号类型标志
Global_Numeric SIGCF; //当前信号类型
Global_Numeric SIGCN; //信号出现次数
Global_Numeric SIGXN; //信号消失次数
Global_Numeric SIGXT; //信号消失时间
Global_Numeric SIGFLG; //信号处理标志
Global_Numeric BKID,SKID; //开仓委托
Global_Numeric BPID,SPID; //平仓委托
Global_Numeric BKFLG,SKFLG; //开仓标志
Global_Numeric BPFLG,SPFLG; //平仓标志
Global_Numeric BKDEL,SKDEL; //开仓撤单标志
Global_Numeric BPDEL,SPDEL; //平仓撤单标志
Global_Numeric BKM,SKM; //开仓委托手数
Global_Numeric BPM,SPM; //平仓委托手数
Global_Numeric BKP,SKP; //开仓委托价格
Global_Numeric BPP,SPP; //平仓委托价格
Global_Numeric BKT,SKT; //开仓委托时间
Global_Numeric BPT,SPT; //平仓委托时间
Numeric P1,P2; //资金比例
Numeric NP; //开仓单手资金
Numeric NEWP; //最新价
Numeric MRT; //保证金率
Numeric UNT; //交易单位
Numeric EQT; //账户权益
Numeric ZJYP; //资金使用率
Numeric FRM; //可用资金
Global_Numeric ZD1; //做多条件1
Global_Numeric ZD11; //做多条件1
Global_Numeric ZD22; //做多条件2
Global_Numeric ZDP11; //做多条件1
Global_Numeric ZDP22; //做多条件2
Global_Numeric ZDP1; //做多条件1
Global_Numeric ZDP2; //做多条件2
Global_Numeric ZK1; //做多条件1
Global_Numeric ZK11; //做多条件1
Global_Numeric ZK22; //做多条件2
Global_Numeric ZKP11; //做多条件1
Global_Numeric ZKP22; //做多条件2
Global_Numeric ZKP1; //做多条件1
Global_Numeric ZKP2; //做多条件2
Global_String BKSIG,SKSIG; //开仓委托信号
Global_String BPSIG,SPSIG; //平仓委托信号
Global_Numeric MZD60 ;
Global_Numeric MZK60 ;
Begin
//------------------------信号发出------------------------//
If(1) //信号发出
{
//N = Money*0.8/(Close*MarginRatio*ContractUnit1);
N = 1;
BOLL=MA(CLOSE,29);
UUUB=BOLL+3*STD(CLOSE,29);
UUB=BOLL+2*STD(CLOSE,29);
UB=BOLL+1*STD(CLOSE,29);
LB=BOLL-1*STD(CLOSE,29);
LLB=BOLL-2*STD(CLOSE,29);
LLLB=BOLL-3*STD(CLOSE,29);
PlotLine(" UUUB ", UUUB ); //超长均线
PlotLine(" UUB", UUB ); //超长均线ANGELLUDAYQJ
PlotLine(" UB ", UB ); //超长均线
PlotLine(" BOLL", BOLL ); //超长均线ANGELLUDAYQJ
PlotLine(" LB ", LB ); //超长均线
PlotLine(" LLB", LLB); //超长均线ANGELLUDAYQJ
PlotLine(" LLLB ", LLLB ); //超长均线
ZD11=Low<LLLB ;
ZD22 =Close>LLLB &&LLLB>Ref(LLLB,1)||Close>LLLB && UUUB<Ref(UUUB,1) ;
ZD1= ZD22==1 && REF(EXIST(ZD11,DAYBARPOS),1);
ZDP1=hhv(high,barsbk)>UUUB;
ZDP11= exist(High>LLLB,barsbk);
ZDP22= Close<LLLB;
ZDP2=ZDP22 && ZDP11;
ZK11=High>UUUB ;
ZK22 =Close<UUUB &&LLLB>Ref(JJXLLLB,1) ||Close<UUUB &&UUUB<Ref(UUUB,1) ;
ZK1= ZK22==1 && REF(EXIST(ZK11,DAYBARPOS),1);
ZKP1=llv(low,barssk)<LLLB;
ZKP11= exist(Low<UUUB,barssk);
ZKP22= Close>UUUB;
ZKP2=ZKP22 && ZKP11;
//做多开平仓
If( ZD1 ==1 && SJ == 1&& MarketPosition == 0) //如果满足做多条件
{
BK(N,Open); //发出做多信号 5代表5秒 若60代表60秒
}
//If( ZD2 ==1 && TIME1 >3 && SJ == 1&& MarketPosition == 0) //如果满足做多条件
//{
// BK(N,Open); //发出做多信号 5代表5秒 若60代表60秒
// }
If(ZDP1 ==1 && MarketPosition == 1) //如果满足平多条件
{
SP(BKVol,Open); //发出平多信号
}
If(ZDP2 ==1 && MarketPosition == 1) //如果满足平多条件
{
SP(BKVol,Open); //发出平多信号
}
//做空开平仓
If( ZK1 ==1 && TIME1 >3 && SJ == 1&& MarketPosition == 0) //如果满足做多条件
{
SK(N,Open); //发出做空信号 5代表5秒 若60代表60秒
}
If(ZKP1==1 && MarketPosition == -1) //如果满足平空条件
{
BP(SKVol,Open); //发出平空信号
}
If(ZKP2==1 && MarketPosition == -1) //如果满足平空条件
{
BP(SKVol,Open); //发出平空信号
}
技术人员回复
日期:2020-9-8 17:27
投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10
投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10
技术人员回复
日期:2020-9-8 19:05
投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10
投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10
ZD11=Low<LLLB ;
ZD22 =Close>LLLB &&LLLB>Ref(LLLB,1)||Close>LLLB && UUUB<Ref(UUUB,1) ;
ZD1= ZD22==1 && REF(EXIST(ZD11,DAYBARPOS),1);
ZDP1=hhv(high,barsbk)>UUUB;
ZDP11= exist(High>LLLB,barsbk);
ZDP22= Close<LLLB;
ZDP2=ZDP22 && ZDP11;
ZK11=High>UUUB ;
ZK22 =Close<UUUB &&LLLB>Ref(JJXLLLB,1) ||Close<UUUB &&UUUB<Ref(UUUB,1) ;
ZK1= ZK22==1 && REF(EXIST(ZK11,DAYBARPOS),1);
ZKP1=llv(low,barssk)<LLLB;
ZKP11= exist(Low<UUUB,barssk);
ZKP22= Close>UUUB;
投资者咨询:请求修改代码 (文华财经)
来源:文华财经 日期:2020-9-8 17:10