固定手数操作,止损止盈按1:2、1:3或1:4等,这是很简单的系统。这个应该是我在哪个博客上看到的操作风格,那时还不怎么相信,觉得太随意了吧。但做久了,还真是发现按照概率来操作,结果就是这么牛逼,越简单的系统,只要在概率上多出一点优势,那结果确实是好的,反正给我的经验比所谓的技术分析好多了。

我们先来看下这个固定止盈止损代码的意思,后边再把这简单有效的的交易系统附上。

Vars

Numeric MinPoint; // 声明数值变量MinPoint,看单词都知道了最小变动单位,也就是一跳。//

Numeric MyEntryPrice; // 声明数值变量MyEntryPrice,依正文开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格。//

Numeric TakeProfitSet(30); // 声明数值变量TakeProfitSet,依正文看就是止赢设置初始为30了,这个初始值看个人习惯设定的,没有强制。//

Numeric StopLossSet(20); // 声明数值变量StopLossSet,止损设置为20了。//

Numeric MyExitPrice; // 声明数值变量MyExitPrice,正文里就是平仓价格了。//

Begin

...

MinPoint = MinMove*PriceScale;//固定公式,最小跳动价。//

MyEntryPrice = AvgEntryPrice;//开仓价等于建仓均价了,这个AvgEntryPrice是系统自带平均建仓意思,不需声明,直接用了。//

If(MarketPosition==1) // 有多仓的情况下。//

{

If(High >= MyEntryPrice + TakeProfitSet*MinPoint) // 止赢条件表达式,假如高价大于等于开仓均价加上止盈固定系数乘以最小跳动价格。//

{

MyExitPrice = MyEntryPrice + TakeProfitSet*MinPoint;//平仓价格等于 开仓价加上系数乘以最小跳动价。//

If(Open > MyExitPrice) MyExitPrice = Open; // 假如k线的开盘价有跳空触发时,则用开盘价代替平仓价格。//

Sell(0,MyExitPrice);//平仓。//

}

else if(Low <= MyEntryPrice - StopLossSet*MinPoint)// 止损条件表达式,假如低价小于等于开仓价格减去止损系数乘以最小跳动价。//

{

MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;//平仓价格等于开仓价减去止损系数乘以最小跳动价。//

If(Open < MyExitPrice) MyExitPrice = Open; // 假如k线的开盘价有跳空触发,则用开盘价代替平仓价格。//

Sell(0,MyExitPrice);//平仓。//

}

}

else if(MarketPosition==-1) // 有空仓的情况下,执行的操作,其实就是把多单反过来。//

{

If(Low <= MyEntryPrice - TakeProfitSet*MinPoint) // 止赢条件表达式,低价小于等于开仓价减去止盈固定系数乘以最小跳动价。//

{

MyExitPrice = MyEntryPrice - TakeProfitSet*MinPoint;//平仓价等于开仓价减去固定系数乘以最小跳动价。//

If(Open < MyExitPrice) MyExitPrice = Open; // 假如k线开盘价有跳空触发,则用开盘价代替平仓价。//

BuyToCover(0,MyExitPrice);//平仓。//

}

else if(High >= MyEntryPrice + StopLossSet*MinPoint)// 止损条件表达式,高价大于等于开仓价加上止损固定系数乘以最小跳动价。//

{

MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;//平仓价等于开仓价加上止损系数乘以最小跳动价。//

If(Open > MyExitPrice) MyExitPrice = Open; // 假如k线开盘价有跳空触发,则用开盘价代替平仓价。//

BuyToCover(0,MyExitPrice);//平仓。//

}

}

...

End

固定止盈止损模板就是如此了,我们直接用它。操作规则如下:

1.止损止盈比为1:4,就是说操作错四次,盈利一次就可以回来。

2.前一个k线收盘价大于(或小于)再前一个k线收盘价,直接用开盘价开仓了。

3.习惯性的加一条均线,在均线上方只开多,在下方只开空。 用这么简单的系统操作,代码如下:

Params

Numeric Length(200);

Vars

NumericSeries AvgValue3;

Numeric MinPoint;

Numeric MyEntryPrice;

Numeric TakeProfitSet(120);

Numeric StopLossSet(30);

Numeric MyExitPrice;

Begin

AvgValue3 = AverageFC(Close,Length);

PlotNumeric("MA3",AvgValue3);

If(!CallAuctionFilter()) Return;

MinPoint = MinMove*PriceScale;

MyEntryPrice = AvgEntryPrice;

if(MarketPosition <> 1 And Close[1] > Close[2] And Close[1]>AvgValue3)

{

Buy(1,Open);

}

If(MarketPosition <> -1 And Close[1] < Close[2] And Close[1]<AvgValue3)

{

SellShort(1,Open);

}

If(!CallAuctionFilter()) Return;

MinPoint = MinMove*PriceScale;

MyEntryPrice = AvgEntryPrice;

If(MarketPosition==1)

{

If(High >= MyEntryPrice + TakeProfitSet*MinPoint)

{

MyExitPrice = MyEntryPrice + TakeProfitSet*MinPoint;

If(Open > MyExitPrice) MyExitPrice = Open;

Sell(0,MyExitPrice);

}else if(Low <= MyEntryPrice - StopLossSet*MinPoint)

{

MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;

If(Open < MyExitPrice) MyExitPrice = Open;

Sell(0,MyExitPrice);

}

}else if(MarketPosition==-1)

{

If(Low <= MyEntryPrice - TakeProfitSet*MinPoint)

{

MyExitPrice = MyEntryPrice - TakeProfitSet*MinPoint;

If(Open < MyExitPrice) MyExitPrice = Open;

BuyToCover(0,MyExitPrice);

}else if(High >= MyEntryPrice + StopLossSet*MinPoint)

{

MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;

If(Open > MyExitPrice) MyExitPrice = Open;

BuyToCover(0,MyExitPrice);

}

}

End

结果就是这么好,不管你信不信,反正我是挺喜欢这个系统的,时常用这个来做指南,当然,它的收益回调也是挺让人头疼的,但一直按照程序操作,最终结果却是很可观的。还是老话,自己实盘观察一段时间,全面了解交易系统,才真正懂得如何操作。