您的模型中引用了自定义函数Resistance,如下注释
// ------------------------------- 多头开仓-------------------------------
If(MarketPosition == 0 And High >= Resistance[1] + MinMove * PriceScale And Vol > 0)//持仓为0,最高价大于等于上一根的Resistance值加上1个点,成交量大于0
{
Buy(DefaultVol, Max(Open,Resistance[1] + MinMove * PriceScale));//按默认开仓手数,价格是开盘价和上一根的Resistance值加上1个点中的最大值,买开仓;
}
//------------------------------- 空头 开仓-------------------------------
If(MarketPosition == 0 And Low <= Support[1] - MinMove * PriceScale And Vol > 0)//持仓为0,最低价小于等于上一根的Resistance值减1个点,成交量大于0
{
SellShort(DefaultVol, Min(Open,Support[1] - MinMove * PriceScale));//按默认开仓手数,价格是开盘价和上一根的Resistance值减1个点中的最小值,卖开仓;
3楼源码和1楼有很多相似的地方
请参照2楼给您的注释,以及函数说明了解下语句的含义,
在模型编写平台,双击选中函数,右键查找函数说明中查看
参考:
/ 多头开仓时根据开仓BAR的ATR计算止盈价
If(MarketPosition == 1 And BarsSinceEntry == 0)//一次交易中首个开多仓位置
{
MyExitPrice = EntryPrice + ATRVal * ATRs;//MyExitPrice止盈线赋值给开仓价加 ATRVal * ATRs值
}
// 空头开仓时根据开仓BAR的ATR计算止盈价
If(MarketPosition == -1 And BarsSinceEntry == 0)
If(MarketPosition == 1 And BarsSinceEntry > 0 And Vol > 0)//持有多仓,成交量大于0
{
// 止盈出场
If(High >= MyExitPrice)//最高价大于等于止盈线MyExitPrice
{
Sell(DefaultVol, Max(Open,MyExitPrice));//止盈平仓
KText(High >= MyExitPrice,0,High,Red,"盈"); //标注“盈”
}
// 反向突破止损出场
Else If(Low <= Support[1] - MinMove * PriceScale)
{
Sell(DefaultVol, Min(Open,Support[1] - MinMove * PriceScale));
KText(Low <= Support[1] - MinMove * PriceScale,0,High,Green,"出");
7楼指标WAVGPRICE 未定义,无法编写的
另外,为方便论坛管理,新的问题请重新发帖进行提问,感谢您的配合!