新手上路,请教老师编写满足以下条件的图表程序化公式: 一、在股指1分钟K线上进行开平仓交易。 二、开仓条件:分形-----1.标准底分形形态的第三根K线走到50秒时为阳线立即开多单(前提是第三根K线走到50秒时已经形成标准底分形形态) 2.标准顶分形形态的第三根K线走到50秒时为阴线立即开空单(前提是第三根K线走到50秒时已经形成标准顶分形形态) 三、平仓条件:无论多单还是空单,3个点止盈出场,2个点止损出场。 四、每次下单只下一手。 五、持仓期间就算有开仓信号的出现也不进行开仓行为,只有当前一手平仓完成后才能进行下一次满足条件的开仓行为。 |
请具体定义一下
mm:=mod(currenttime,100);
{由三根K线组成,第一根K线和第三根K线的最高价必须都低于第二根K线的最高价,
最低价又必须都低于第二根K线的最低价,第三根K线是当下正在跳动的最后一根K线。}
fenxing:=ref(h,2)<ref(h,1) and h<ref(h,1) and ref(l,2)<ref(l,1) and l<ref(l,1);
if mm=50 and fenxing and isdown then tbuyshort(tholding=0,1,mkt);
这个需要用后台,如果用户没有专业版帐号则此代码无法实现
要求是当第三根K线在第50秒的时候已经和前两根K线形成顶分形的形态,并且在第50秒的时候是阴线的情况底下立即开空单。
底分形同样如此,只是方向相反,第一根K线和第三根K线的最高价必须都高于第二根K线的最高价,最低价又必须都高于第二根K线的最低价,第三根K线同样是当下正在跳动的最后一根K线。
要求是当第三根K线在第50秒的时候已经和前两根K线形成底分形的形态,并且在第50秒的时候是阳线的情况底下立即开多单。
mm:=mod(currenttime,100);
dingfenxing:=ref(h,2)<ref(h,1) and h<ref(h,1) and ref(l,2)<ref(l,1) and l<ref(l,1);
difenxing:=ref(h,2)>ref(h,1) and h>ref(h,1) and ref(l,2)>ref(l,1) and l>ref(l,1);
if mm=50 and dingfenxing and isdown then tbuyshort(tholding=0,1,mkt);
if mm=50 and difenxing and isup then tbuy(tholding=0,1,mkt);
if tholding>0 and (dynainfo(7)-tenterprice>3*mindiff) or (tenterprice-dynainfo(7)>2*mindiff) then tsell(1,0,mkt);
if tholding<0 and (tenterprice-dynainfo(7)>3*mindiff) or (dynainfo(7)-tenterprice>2*mindiff) then tsellshort(1,0,mkt);
3*mindiff和2*mindiff
改这两个,