龙哥量化:麦语言、宽语言例题转换学习

news/2025/1/10 13:35:31/文章来源:https://www.cnblogs.com/long136/p/18663815

如果您需要代写技术指标公式, 请联系我。

龙哥QQ:591438821

龙哥微信:Long622889

也可以把您的通达信,文华技术指标改成TB交易开拓者、金字塔、文华8的自动交易量化策略

 

定义一个变量,名为AA,出收盘价与开盘价的差,要求指标线以独立坐标方式显示,指定指标线颜色为红色。

 

麦语言编写方式:

AA..CO,彩色;

 

宽语言改编:

瓦尔斯

数字 AA;

开始

AA=闭-开;

PlotLine("AA",AA,红色,Linethick1,4,0​​);

结尾

使用的公式总结

 

收盘取得K线图的收盘价。

1、当盘中k线没有走完的时候,取得最新价。

2、不支持简写为C。

写成Close的形式,公式编写平台才能变蓝

写成CLOSE也不行,在公式编写平台上还是黑色的不会变蓝。

尝试写成close,公式编写平台也能识别并且变蓝

数值型临时变量

练习2

当根k线最高价是五个周期内最高价的值,在最低价的位置标注最高文字涨价。

麦语言

AA:HHV(H,5);

DRAWTEXT(AA,L,'涨');

宽语言

瓦尔斯

数字 HH;

开始

HH=HHV(高,5);

DrawText(High==HH,Low,"涨",红色,16,Align0,Valign0);

结尾

Alignx、Valignx是创建后缀x改为数字,例如Align0,而不是在Alignx的后面加上数字,Alignx0的写法,平台识别不出来

Align0,Valign0代表文字居左,居上对齐

练习3

定位前一天最后一根k线,并在这根k线最高价的位置标记图标

麦语言

DRAWICON(REFX(DATE<>REF(DATE,1),1),H,'ICO1');

宽语言

开始

DrawIcon(Date!=REF(Date,1)&&IsLastKLine==1,High,"ICO16");

结尾

 

 

函数总结

DrawIcon(Cond,价格,图标,Alignx,Valignx);

  • 当Cond条件满足时,
  • 在价格位置画图标Icon,
  • 图标位置按照Alignx、Valignx写入的方式对齐。

//Wh8的不等于是<>,Wh9的不等于!=;

//Wh8的等于操作符是=,Wh9的等于操作符是==;

 

练习4

在当前k线上返回昨日最高价

麦语言

N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,当日K线数。

//由于条件成立的当根K线上BARSLAST(COND)的返回值为0,所以“+1”才是当日K线根数。

AA:REF(HHV(H,N),N);//返回当前k线上的昨日最高价

宽语言

瓦尔斯

数字 N;

数字 AA;

开始

N=BarsLast(Date!=Ref(Date,1))+1;//分钟周期,当日k线数。

AA=Ref(HHV(高,N),N);

PlotNumeric("昨晚高",AA);

结尾

 

练习5

将满足当前k线的最高价为前后五个周期的最高点k线,在最高价的位置标记图标

麦语言

AA1:H>HV(H,5);//K线的最高价是前五个周期的最高点

AA2:H>REFX(HV(H,5),5);//K线的最高价为后五个周期的最高点

DRAWICON(VALUEWHEN(ISLASTBAR,AA1&&AA2)=1,H,'ICO1');

宽语言

// 宽语言中无法刚性引用,无法完整编写此题

瓦尔斯

数字 AA1

开始

AA1=High>HV(High,5);//K线的最高价是前五个周期的最高点

结尾

 

练习6

编写一个指标AA,要求连续三根以上(包含3根)的k线不是阴线

麦语言

AA:EVERY(C>=O,3)=1;//连续3根以上的k线是平线或者阳线

宽语言

瓦尔斯

数字 AA;

开始

AA=每个(收盘>=开盘,3)==1;

结尾

 

练习7

取倒数第二次阳线的最高价

麦语言

AA:=REF(VALUEWHEN(ISUP,H),1);//如果上一根K线是阳线,取上一根阳线的最高价;

//只有当根是阳线的情况下,上一根阳线才资格倒数第二次阳线;

VALUEWHEN(ISUP,AA); //如果当根是阳线,取得上一根一根,一根倒数第二次阳线的最高价

宽语言

瓦尔斯

数字 AA;

数字 AA1;

开始

AA=Ref(ValueWhen(IsUp,High),1);

AA1=ValueWhen(IsUp,AA);

PlotNumeric("倒数第二次阳线的最高价",AA1);

结尾

 

练习8

最新一次满足5周期均线上穿10周期均线的k线最高价的位置标注金叉

麦语言

MA5:MA(C,5);

MA10:MA(C,10);

AA:=交叉(MA5,MA10);

BB:=BACKSET(ISLASTBAR,BARSLAST(AA)+1);

DRAWTEXT(CROSS(BB,0.5),H,'金叉');

宽语言

瓦尔斯

数字 MA5;

数字 MA10;

数字 JC;

数字 AA;

开始

MA5=Ma(收盘价,5);

MA10=Ma(收盘价,10);

JC=十字(MA5,MA10);

DrawText(BarsLast(JC)==0,High,"金叉");

结尾

 

//WH9里面没有未来函数,用不了backset函数。

 

练习9

5周期均线和10周期均线,在金叉的位置用红色箭头标记,在死叉的位置用绿色箭头标记。

麦语言

MA5:MA(C,5);

MA10:MA(C,10);

JC:交叉(MA5,MA10);

SC:交叉(MA10,MA5);

DRAWICON(JC,MA5,'ICO4');

DRAWICON(SC,MA5,'ICO5');

宽语言

瓦尔斯

数字 MA5;

数字 MA10;

数字 JC;

数字 SC;

开始

MA5=Ma(收盘价,5);

MA10=Ma(收盘价,10);

JC=十字(MA5,MA10);

SC=CrossDown(MA5,MA10);

DrawIcon(JC,MA5,"ICO4");

DrawIcon(SC,MA5,"ICO5");

结尾

练习10

5个周期均线,如果该均线连续2个周期,向上均线显示为红色;连续两个周期均线向下,显示为绿色。

麦语言

MA5:MA(C,5);

AA:=EVERY(MA5>REF(MA5,1),2);//均线是否连续周期两个向上

PARTLINE(AA,MA5,COLORRED);//如果连续2个周期向上,5个周期均线显示为红色

BB:=EVERY(MA5<REF(MA5,1),2);//均线是否连续周期两个下一代

PARTLINE(BB,MA5,COLORGREEN);//如果连续两个周期均线持续,5个周期均线显示为绿色

宽语言

瓦尔斯

数字 MA5;

数字 MA10;

开始

MA5=Ma(收盘价,5);

MA10=Ma(收盘价,10);

PartLine(Every(MA5>Ref(MA5,1),2),MA5,红色);

PartLine(Every(MA5<Ref(MA5,1),2),MA5,绿色);

结尾

 

练习11

如果K线实体部分在5周期均线上方,则K线显示为红色实心,如果K线实体部分在5周期均线下方,则K线显示为绿色实心,如果实体部分穿越该均线,则K线显示为黄色实心。

麦语言

MA5:MA(C,5);//5周期均线

AA:=MIN(C,O)>=MA5;//收盘价和开盘价同时大于5周期均线,说明K线实体部分在5周期均线之上

BB:=MAX(C,O)<=MA5;//收盘价和开盘价同时小于5周期均线,说明K线实体部分在5周期均线下方

CC:=(C>MA5&&O<MA5)||(C<MA5&&O>MA5);//当开盘价小于收盘价时,开盘价小于5周期均线,且收盘价大于5周期均线;当开盘价大于收盘价时价时,开盘价大于5个周期均线,并且收盘价小于5个周期均线,这两种情况都有一种成立,则说明部分实体突破该线

DRAWCOLORKLINE(AA,COLORRED,0);//如果K线实体部分在5周期均线之上,则K线显示为红色实心

DRAWCOLORKLINE(BB,COLORGREEN,0);//若K线实体部分在5周期均线下方,则K线显示为绿色实心

DRAWCOLORKLINE(CC,COLORYELLOW,0);//如果实体部分该突破均线,则K线显示为黄色实心

宽语言

瓦尔斯

数字 MA5;

数字 MA10;

数字 aa;

数字 bb;

开始

MA5=Ma(收盘价,5);

MA10=Ma(收盘价,10);

aa=Min(收盘,开盘)>=MA5;

bb=Max(收盘价,开盘价)<=MA5;

DrawColorKLine(aa,红色,0);

DrawColorKLine(bb,绿色,0);

DrawColorKLine(aa==0&&bb==0,黄色,0);

结尾

练习12

有夜盘的显示,在夜盘K线上5根周期均线,白盘K线不显示均线。K线根数不足5根的时候,按照实际的K线根数计算均线的数值。

麦语言

N:BARSLAST(DATE<>REF(DATE,1))+1;//当日实际K线根数

AA:=IF(N>=5,MA(C,5),MA(C,N));//若满足K线根数大于等于5,按照5计算均线的数值;若满足K线根数小于5,按照当日实际K线根数计算均线的数值

BB:=TIME<=2400&&TIME>=2100||TIME>=2400&&TIME<=0900;//夜盘时间

MA5或n:IF(BB,AA,NULL);//符合AA条件的均线只在夜盘显示

宽语言

瓦尔斯

数字 N;

数字 aa;

数字 bb;

开始

N=BarsLast(Date!=Ref(Date,1))+1;//分钟周期,当日k线数。

如果(N>=5)

{

aa=Ma(收盘价,5);

}

别的

{

aa=Ma(收盘价,N);

}

bb=时间<=2400&&时间>=2100||时间>=2400&&时间<=0900;

PartLine(bb,aa,红色);

结尾

 

练习13

在周期分钟上,画当日的黄金分割率线。分别取前一天的最高价、最低价作为黄金分割的两个基点,在这两个基点之间分别做黄金分割,画出比例为0.618、 0.382、0.5的水平线,以及两个基点的水平线。

麦语言

N:=BARSLAST(DATE<>REF(DATE,1))+1;//当日K线根数固定表达方式

H1:=REF(HHV(H,N),N);//前一日的最高价

H2:=REF(LLV(L,N),N);//前一日的最低价

H3:=H1-(H1-H2)*0.382;//在前一日的最高价和前一日的最低价之间做比例为0.382的黄金分割

H4:=H1-(H1-H2)*0.5;//在前一日的最高价和前一日的最低价之间做比例为0.5的黄金分割

H5:=H1-(H1-H2)*0.618; //前一日的最高价和前一日的最低价之间做比例为0.618的黄金分割

DRAWSL(ISLASTBAR,H1,0,1,1,COLORRED);//向左延伸,画前一日的最高价的1个周期长的水平线

DRAWSL(ISLASTBAR,H2,0,1,1,COLORRED);//向左延伸,画前一日的最低价的1个周期长的电平线

DRAWSL(ISLASTBAR,H3,0,1,1,COLORRED);//向左延伸,画前一日的比例为0.382的1个周期长的水平线

DRAWSL(ISLASTBAR,H4,0,1,1,COLORRED);//向左延伸,画前一行的比例为0.5的1个周期长的水平线

DRAWSL(ISLASTBAR,H5,0,1,1,COLORRED);//向左延伸,画前一日的比例为0.618的1个周期长的水平线

宽语言

瓦尔斯

数字 h1;

数字 h2;

数字 h3;

数字 h4;

数字 h5;

开始

h1=Ref(HHV(最高价,DayBarPos),DayBarPos);

h2=Ref(LLV(低,DayBarPos),DayBarPos);

h3=h1-(h1-h2)*0.382;

h4=h1-(h1-h2)*0.5;

h5=h1-(h1-h2)*0.618;

DrawSL(BarStatus==2,h1,0,1,1,红色);

DrawSL(BarStatus==2,h2,0,1,1,红色);

DrawSL(BarStatus==2,h3,0,1,1,红色);

DrawSL(BarStatus==2,h4,0,1,1,红色);

DrawSL(BarStatus==2,h5,0,1,1,红色);

结尾

函数总结

// 宽语言中没有islastbar

BarStatus 返回K线图当根K线的状态值。

 

方式:BarStatus 返回K线替换当根K线的状态值。

返回值0表示为第一根K线,返回1表示为中间的普通的K线,返回值为2表示最后一根K线。

 

我用BarStatus==2代替islastbar

 

练习14

IF合约,30分钟周期上,把每日的最高价最低价框起来。

麦语言

N:=BARSLAST(DATE<>REF(DATE,1))+1;//分钟周期,当日K线数。

DRAWLINE(DAYBARPOS=1,REFX(HHV(H,N),18),DAYBARPOS=1,REFX(LLV(L,N),18),COLORBLUE),LINETHICK1;//第一条竖线,条件是每天的第一根K线,画线的位置是当日的最高价到最低价。

DRAWLINE(ISLASTKLINE=1,HHV(H,N),ISLASTKLINE=1,LLV(L,N),COLORBLUE),LINETHICK1;//第二条竖线,是每天的最后一根细K线

DRAWSL(ISLASTKLINE=1,HHV(H,N),0,-(N-1),0,COLORBLUE),LINETHICK1;//第一条横线

DRAWSL(ISLASTKLINE=1,LLV(L,N),0,-(N-1),0,COLORBLUE),LINETHICK1;//第二条横线

宽语言

开始

DrawLine(BarStatus==2,HHV(High,daybarpos),BarStatus==2,LLV(low,DayBarPos),blue);

DrawSL(BarStatus==2,LLV(Low,DayBarPos),0,-(DayBarPos-1),0,蓝色);

结尾

 

//宽语言无法在定位当天第一根k线的前提条件下,刚性取当天最高价和最低价,所以我只画生长右侧和下面的线条,没有完全框起来。

 

练习15

当MACD死叉后,

判断本次死叉到金叉之间DIFF的顶峰、K线最高价,

和上次死叉到金叉之间的DIFF顶点、K线最高价作比较。

如果K线创新高,但是DIFF值没有创新高,

现在认为顶背离条件成立。

麦语言

DIFF..EMA(CLOSE,12)-EMA(CLOSE,26);//短周期与长周期的收盘价的指数平滑移动干做差。

DEA..EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均

MACD:2*(DIFF-DEA),NODRAW;//定义MACD,不画线

JC: CROSS(DIFF,DEA);//MACD金叉

SC:CROSSDOWN(DIFF,DEA);//MACD死叉

N:=BARSLAST(JC)+1;

HDIFF1:VALUEWHEN(JC,HHV(DIFF,BARSLAST(SC)+1));//本次死叉到金叉之间DIFF的顶点、

HH1:VALUEWHEN(JC,HHV(H,BARSLAST(SC)+1));//本次死叉到金叉之间K线最高价

HDIFF2:REF(HHV(DIFF,N),N);//上次死叉到金叉之间的DIFF顶部 死叉,金叉,死叉,金叉

HH2:REF(HHV(H,N),N);//上次死叉到金叉之间的K线顶部;

DBL:HDIFF1<=HDIFF2&&HH1>=HH2;//如果K线创新高,但DIFF值没创新高,则认为顶背离条件成立。

宽语言

参数

数字短长度(12);

数字 LongLength(26);

数字 M(9);

瓦尔斯

数字差异;

数值 DEA;

数字 jc;

数字 sc;

数字N1;

数字N2;

数字 HH1;

数字 HH2;

数字 HDIFF1;

数字 HDIFF2;

数字 DBL;

开始

DIFF = Ema(Close, ShortLengh) - Ema(Close, LongLength);//短周期与长周期的收盘价的指数平滑移动干做差。

DEA = Ema(DIFF,M);//DIFF的M个周期指数平滑移动平均

jc=交叉(DIFF,DEA);

sc=CrossDown(DIFF,DEA);

N1=最后一根柱(jc)+1;

N2=最后的柱数(sc)+1;

HDIFF1=ValueWhen(jc,HHV(DIFF,N2));

HH1=ValueWhen(jc,HHV(高,N2));

HDIFF2=Ref(HHV(高,N1),N1);

HH2=Ref(HHV(高,N1),N1);

DBL=HDIFF1<=HDIFF2&&HH1>=HH2;

PlotNumeric("顶背离",DBL);

结尾

练习16

当价格同时向上突破5周期均线、10周期均线、20周期均线以及这三条均线多头排列的时候,买开仓

当价格同时向下突破5周期均线、10周期均线、20周期均线以及这三条均线空头排列的时候,卖开仓

5周期均线下穿10周期均线,卖平仓

5周期均线穿10周期均线,买平仓

麦语言

MA5:MA(C,5);

MA10:MA(C,10);

MA20:MA(C,20);

AA:MA5>MA10&&MA10>MA20;//多头排列

BB:CROSSUP(C,MA5)&&CROSSUP(C,MA10)&&CROSSUP(C,MA20);//价格同时向上突破5周期均线、10周期均线、20周期均线

AA&&BB,BK(1);//当价格同时向上突破5周期均线、10周期均线、20周期均线并且这三条均线多头排列的时候,买开仓

CC:MA5<MA10&&MA10<MA20;//空头排列

DD:CROSSDOWN(C,MA5)&&CROSSDOWN(C,MA10)&&CROSSDOWN(C,MA20);//价格同时向下突破5周期均线、10周期均线、20周期均线

CC&&DD,SK(1);//当价格同时向下突破5周期均线、10周期均线、20周期均线并且这三条均线空头排列的时候,卖开仓

CROSSDOWN(MA5,MA10),SP(1);//5个周期均线穿下10个周期均线,卖平仓

CROSSUP(MA5,MA10),BP(1);//5个周期均线上穿10个周期均线,买平仓

宽语言

瓦尔斯

数字 MA5;

数字 MA10;

数字MA20;

开始

MA5=Ma(收盘价,5);

MA10=Ma(收盘价,10);

MA20=Ma(收盘价,20);

if(MA5>MA10&&MA10>MA20&&交叉(收盘价,MA5)&&交叉(收盘价,MA10)&&交叉(收盘价,MA20))

{

BK(1);

}

if(MA5<MA10&&MA10<MA20&&CrossDown(收盘价,MA5)&&CrossDown(收盘价,MA10)&&CrossDown(收盘价,MA20))

{

SK(1);

}

if(CrossDown(MA5,MA10))

{

SP(1);

}

如果(交叉(MA5,MA10))

{

血压(1);

}

结尾

练习17

K值在20以下,金叉开多。

K值突破65平仓,

K值在20到65之间无论金叉死叉都不平仓。

K在65以上,死叉空仓,

K值到20,平仓。

在20到65之间,无论死叉金叉都不开平仓。

麦语言

RSV:=(收盘-LLV(低,9))/(HHV(高,9)-LLV(低,9))*100;

K:=SMA(RSV,3,1);

D:=SMA(K,3,1);

K>20&&CROSS(K,D),BK;

K>65,SP;

K>65&&交叉(K,D),SK;

K<20,BP;

自动过滤器;

宽语言

参数

数字长度(9);

数字长度1(3);

数字长度2(3);

瓦尔斯

数字 RSV;

数字K;

数字 D;

开始

RSV = (Close - LLV(Low,Length)) / (HHV(High,Length) - LLV(Low,Length)) * 100;//收盘价与N周期最低值做差,N最高周期值与N周期最低做差值,做比值之间的两差定义为RSV

K = Sma(RSV,Length1,1);//RSV的移动平均

D = Sma(K,Length2,1);//K值的移动平均值

如果(K<20&&交叉(K,D))

{

BK;

}

如果(K>65)

{

SP;

}

如果(K>65&&CrossDown(K,D))

{

SK;

}

如果(K<20)

{

血压;

}

结尾

练习18

5,10周期均线金叉,开仓1手多单

目前的5均线连续2个周期上涨开多仓3手,

未平仓前

价格每上涨2个点加仓1手

5,10均线死叉同时KD死叉平仓

麦语言

MA5:MA(C,5);

MA10:MA(C,10);

MASC:CROSSDOWN(MA5,MA10);//5,10周期均线死叉

MAJC:CROSS(MA5,MA10);//5,10周期均线金叉

BKVOL=0&&MAJC,BK(1);//多头理论持仓为0且5,10周期均线金叉时,开仓1手多单

BB:EVERY(MA5>REF(MA5,1),2)=1//当前的5均线连续2个上涨周期

BKVOL=1&&BB,BK(3);//多头理论持仓为1且当前的5均线连续2周期上涨时,开多仓3手

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//未排队随机值(RSV)=(收盘价-N日内最低价)/(N日内最高价-N日内最低价)*100

K:SMA(RSV,3,1);//K=RSV的M1日加权移动平均

D:SMA(K,3,1);//.D=K的M2日加权移动平均

KDSC:=CROSS(D,K);//KD死叉

BKVOL>0&&C>BKPRICE+MINPRICE*2,BK(1);//价格每上涨2个点加仓1手

BKVOL>0&&MASC&&KDSC,CLOSEOUT;//5,10均线死叉同时KD死叉平仓

宽语言

参数

数字长度(9);

数字长度1(3);

数字长度2(3);

瓦尔斯

数字 MA5;

数字 MA10;

数字 RSV;

数字K;

数字 D;

开始

MA5=Ma(收盘价,5);

MA10=Ma(收盘价,10);

RSV = (Close - LLV(Low,Length)) / (HHV(High,Length) - LLV(Low,Length)) * 100;//收盘价与N周期最低值做差,N最高周期值与N周期最低做差值,做比值之间的两差定义为RSV

K = Sma(RSV,Length1,1);//RSV的移动平均

D = Sma(K,Length2,1);//K值的移动平均值

如果(BKVol==0&&交叉(MA5,MA10))

{

BK(1);

}

if(BKVol==1&&Every(MA5>Ref(MA5,1),2)==1)

{

BK(3);

}

If(BKVol>0&&平仓>BK价格+最低价格*2)

{

BK(1);

}

If(BKVol>0&&CrossDown(MA5,MA10)&&CrossDown(K,D))

{

SP(BKVol);

}

结尾

 

练习19

K线向上突破120周期均线,并且当根K线开盘价小于收盘价,且均线向上,

当价格突破均线的那根K线的最高价买入时,开仓占用可用资金的30%

多单:止损1%,止盈5%

K线后续突破120周期均线,并且当根k线开盘价大于收盘价,且均线向上,

当价格突破均线的那根K线的最低价卖出,开仓占用可用资金的30%

空单:止损1%,止盈5%

麦语言

MA120:=MA(C,120);//定义120周期均线,加载时不显示线

AA:=CROSSUP(C,MA120);//K线向上突破120周期均线

BB:=OPEN<CLOSE;//当根K线开盘价小于收盘价

CC:=MA120>REF(MA120,1);//均线向上

AAA:=AA&&BB&&CC;//K线向上突破120周期均线,并且当根K线开盘价小于收盘价,且均线向上,

HH:=VALUEWHEN(AAA,H);////突破均线的那根K线的最高价

K:=MONEY*0.3/(C*MARGIN*UNIT+FEE);//模组子账户可用资金的30%可以开仓的手数

AAA&&C>HH,BK(K);//当价格突破均线的那根K线的最高价买入,开仓占用可用资金的30%

TMP1:=C<BKPRICE*(1-0.01),SP(BKVOL);//多单止损1%

TMP3:=C>BKPRICE*(1+0.05),SP(BKVOL);//多单止盈5%

DD:=CROSSDOWN(C,MA120);//K线突破120周期均线

EE:OPEN>CLOSE;//当根K线开盘价大于收盘价

FF:MA120>REF(MA120,1);//均线向上,

DD&&EE&&&FF;//K线突破120周期均线,并且当根K线开盘均价大于收盘价且,线向上,

LL:=LLV(L,AA);/突破均线的那根K线的最低价

C>LL,SK(Z);//当价格突破均线的那根K线的最低价卖出,开仓占可用资金的30%

TMP2:=C>SKPRICE*(1+0.01),BP(SKVOL);//空单止损1%

TMP4:=C<SKPRICE*(1-0.05),BP(SKVOL);//空单止盈5%

宽语言

瓦尔斯

数字MA120;

数字 AA;

数字 BB;

数字法学硕士;

数字 HH;

开始

MA120=Ma(收盘价,120);

AA=十字(收盘,MA120)&&开<收盘&&MA120>Ref(MA120,1);

HH=ValueWhen(AA,高);

如果(AA&&关闭>HH)

{

BK(资金*0.3/(平仓*保证金比例+费用));

}

If(收盘价<BK价格*(1-0.01))

{

SP(bkvol);

}

if(收盘价>BK价格*(1+0.05))

{

SP(BKVol);

}

BB=CrossDown(收盘,MA120)&&开盘>收盘&&MA120>Ref(MA120,1);

LL=ValueWhen(BB,低);

如果(收盘>LL)

{

SK(资金*0.3/(平仓*保证金比例+费用));

}

If(收盘价>SK价格*(1+0.1))

{

血压(SKVol);

}

If(收盘价<SK价格*(1-0.05))

{

血压(SKVol);

}

结尾

 

//wh9里面没有找到unit函数

练习20

当工业品5日均线大于20日均线后,

5寸,

如果铜的5日均线大于10日均线,

则入场铜,

超过5天,

风险加大,招生力度不大;

如果铜的5日均线大于10日均线先出现,

工业品5日均线大于20日均线就入场。

开仓后

涨幅超过开仓价+开仓时2.5倍ATR业绩盈利条件,

下跌超过开仓价-开仓时1.5倍ATR业绩亏损条件。

麦语言

//新建被引用指标JC,JC1

MA5:MA(C,5);

MA20:MA(C,20);

JC1:=MA5>MA20;

//保存指标,命名为AA

 

//加载到铜k线上

//定义ATR(真实平均波动范围,该指标主要用于缓慢价格的波动)

TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//求最高减价最低价,一个周期前的收盘价下降最高价的绝对值,一个周期前的收盘价下降最低价的绝对值,这三个值中的顶峰

ATR:MA(TR,14);//求14个周期内的TR的简单移动平均值

//查到工业品的文华码是7193

//创建跨合同模型

#CALL[7193,AA] 作为吉普赛人

MA5:MA(C,5);

MA10:MA(C,10);

JC1:GYP.JC1;

JC:=MA5>MA10;

NN:=BARSLAST(JC);

JC1&&NN<=5&&JC,BK;//当工业品5日均线大于20日均线后,5美元,如果铜的5日均线大于10日均线,则入场铜

VALUEWHEN(JC&&JC1,BARSLAST(JC1)<BARSLAST(JC))=1,BK;//如果铜的5日均线大于10日均线先出现,工业品5日均线大于20日均线就入场。

ISLASBK&&C>BKPRICE+2.5*REF(ATR,BARSBK),SP;//上涨超过开仓价+开仓时2.5倍ATR走势盈利条件,

ISLASBK&&C<BKPRICE-1.5*REF(ATR,BARSBK),SP;//下跌超过开仓价-开仓时1.5倍ATR盈利状况。

自动过滤器;

//保存模型,命名为LX20

宽语言

//新建被引用指标JC1

瓦尔斯

数字 MA5;

数字MA20;

数字JC1;

开始

MA5=Ma(收盘价,5);

MA20=Ma(收盘价,20);

JC1=MA5>MA20;

结尾

//保存指标,命名为lx20AA

//加载到铜线上

//创建跨合同模型

参数

数字长度(26);

瓦尔斯

数字TR;

数值 ATR;

数字 MA5;

数字 MA10;

数字 JC;

数字JC1;

数值神经网络;

进口

#Call["7193",lx20AA] 作为 GYP

开始

TR = 真实范围;

ATR = Ma(TR, Length);//求长度个周期内的TR的简单移动平均

绘图数值(“TR”,TR);

绘图数值(“ATR”,ATR);

//查到工业品的文华码是7193

 

JC1=GYP.JC1;

JC=MA5>MA10;

NN=最后一根柱子(JC);

如果(JC1&&NN<=5&&JC)

{

BK;

}

If(JC&&JC1&&BarsLast(JC1)<BarsLast(JC))

{

BK;

}

if(IsLastBK&&Close>BKPrice+2.5*Ref(ATR,BarsBK))

{

SP;

}

if(IsLastBK&&Close<BKPrice-1.5*Ref(ATR,BarsBK))

{

SP;

}

结尾

 

/*跨合约必须写到设置跨合约跨周期引用关键字部分中,如下图

不能写到主程序里,写在主程序中测试不会通过*/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867118.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

整车刷写工具 - DPS

当代汽车行业的技术发展日新月异,ECU控制器的更新迭代频率也在不断攀升,如何能高效、安全地刷新ECU程序成为行业内共同关注的话题。对此,经纬恒润自主研发了一款刷写工具INTEWORK-DPS(Diagnostic Programing System),满足整车厂和零部件供应商的工程师刷写需求。概述当代汽…

一个适用于 .NET 的开源整洁架构项目模板

前言 项目架构模式在软件开发中扮演着至关重要的角色,它们为开发者提供了一套组织和管理代码的指导原则,以提高软件的可维护性、可扩展性、可重用性和可测试性。今天大姚给大家分享一个适用于 .NET 的开源整洁架构项目模板。 .NET常见的几种项目架构模式 https://mp.weixin.q…

ETL之kettle版本安装包免费下载地址

想真正学习或者提升自己的ETL领域知识的朋友欢迎进群,一起学习,共同进步。由于群内人员较多无法直接扫描进入,公众号后台加我微信入群,备注kettle/hop。 1、群里经常有小伙伴询问kettle安装包或者私下找我要,今天群里的三倍镜大佬分享了一个kettle全家桶版本,今天我整理下…

Win电脑日历、日程表怎么固定到桌面显示?

使用Win电脑办公,想要随时查看今天的待办任务怎么办?如何快速记录临时安排的工作事项呢?如果能够把日历、日程表固定到电脑桌面上显示就很方便了! 那么Win电脑桌面日历/日程表,怎么固定到桌面显示呢?其实用敬业签就可以轻松实现! 它是一款能一直悬挂在Win桌面上显示的便…

【每日一题】20250110

可人生就是要不断地做选择啊。总不能因为怕选择,就永远停留在原地吧。【每日一题】从区间 \([0,1]\) 随机抽取 \(2n\) 个数 \(x_1,x_2,\ldots,x_n,y_1,y_2,\ldots,y_n\),构成 \(n\) 个数对 \(( x_1, y_1)\), \(( x_2, y_2) , \ldots\), \(( x_n, y_n)\),其中两数的平方和小于…

龙哥量化:文华8程序化名词解释WH8程序化交易:支持一开一平的信号过滤模型,也支持多次开仓多次平仓的加减仓模型;支持一根K线一个信号的模型,也支持一根K线多个信号的模型。

如果您需要代写技术指标公式, 请联系我。 龙哥QQ:591438821 龙哥微信:Long622889 也可以把您的通达信,文华技术指标改成TB交易开拓者、金字塔、文华8的自动交易量化策略 WH8程序化交易:支持一开一平的信号过滤模型,也支持多次开仓多次平仓的加减仓模型;支持一根K线一个信…

2024年终总结-gxngxngxn

2024年终总结-gxngxngxn 引言 原本应该早就写完这一篇年终总结的,但由于期末和一些琐事,一直没时间,一拖再拖。到了最近放假了,才得空下笔。 想写年终总结的想法起源于去年的这个时候,也就是2024年的一月份左右。 那时我如往常一样打开收藏的大佬们的博客,映入眼帘的便是…

AI正在悄悄接管互联网:超过半数内容已是 AI 生成!

序言:这个世界任何时候都会因为利益冲突而变得精彩,人工智能写作是不是一种侵权行为,美国人内部闹得很欢,人工智能对人类的模仿到底算不算侵权? 如果法律裁定这种行为就是侵权,那也将是划时代的,因为:模仿不付费将会犯罪,那这个世界会不会就因此停滞发展呢?因为人类的…

【模拟电子技术】04-二极管的直流等效电路

【模拟电子技术】04-二极管的直流等效电路 上节提到PN结形成到二极管,并且了解到二极管V-A特性曲线每一段都能利用,并且可以规定电流路径。使用二极管的时候需要关注它的主要参数这四个参数中的每一个在使用的时候都需要考虑,如果没有选择好规格的话,使用时就可能烧坏。不难…

详解GaussDB事务和并发控制机制,提升事务并发处理效率

本文着重介绍了GaussDB的事务管理和并发控制机制,GaussDB采用多版本并发控制和两阶段锁相结合的机制。摘要:本文着重介绍了GaussDB的事务管理和并发控制机制,GaussDB采用多版本并发控制和两阶段锁相结合的机制。本文分享自华为云社区《华为云开发者云主机体验【玩转华为云】…

php NFA灾难回溯

php NFA灾难回溯正则分为NFA和DFA两种,而php中使用的是NFA.php通过pcre.backtrack_limit来限制回溯次数,如果超过了这个限制,就会返回false.pcre.backtrack_limit默认值是100万. 因此我们可以通过传入大量的垃圾字符或是触发灾难性回溯来超过限制,从而绕过preg_match. 除此以外…