量化交易软件策略:实用自动交易技术

概述: 本文不讨论众多盈利交易技术,而是集中于若干实用非标准技术的集合,解释它们为何有价值,并展示实战适用性。

部分持仓平仓算法,利用最后一根柱线的走势: 该算法用于当开仓后不确定价格方向时的交易。通过部分平仓,智能地弥补点差带来的亏损,甚至产生盈利。部分平仓有助于获得最大利润,特别是在不了解未来波浪性质的情况下。

理论: 分析波浪和价格趋势,该算法采用了走势回滚的可能性越大的烛条越强的假设。目的是在减少亏损的同时增加盈利。

方程式: 文章提供了一套数学方程式来计算需部分平仓的交易量,并通过不同的系数来实现灵活性。方程中包括了线性和幂函数,并进一步详细计算了特定系数。

代码: 文章给出了实现部分平仓的MQL4/MQL5代码示例,该代码计算了需平仓的手数,并提供了一个用于部分平仓的函数。

总结: 文章提出了一个新颖的交易技术,通过理论和数学模型的解释,展示了其如何实施和适用。这一非标准技术在理论上和实践中都具有实用性。

在代码中,该函数如下所示:

double CalcCloseLots(double orderlots0,double X)
   {
   double functionvalue;
   double correctedlots;
   if ( X < 0.0 ) return 0.0;
   functionvalue=StartLotsToOnePoint*MathPow(X ,MathLog(EndLotsToOnePoint/StartLotsToOnePoint)/MathLog(PointsForEndLots));
   correctedlots=GetLotAniError(functionvalue);
   if ( correctedlots > orderlots0 ) return orderlots0;
   else return correctedlots;
   }

调整手数的函数,确保手数仅采用正确的数值,以紫色高亮显示(没必要展示其内部代码)。 该函数本身是在绿色高亮显示的运算符下计算的,但它只是更通用函数的一部分,在此处称为:

void PartialCloseType()// close order partially
   {
   bool ord;
   double ValidLot;
   MqlTick TickS;
   SymbolInfoTick(_Symbol,TickS);
            
   for ( int i=0; i<OrdersTotal(); i++ )
      {
      ord=OrderSelect( i, SELECT_BY_POS, MODE_TRADES );
                            
      if ( ord && OrderMagicNumber() == MagicF && OrderSymbol() == _Symbol )
         {
         if ( OrderType() == OP_BUY )
            {
            ValidLot=CalcCloseLots(OrderLots(),(Open[0]-Open[1])/_Point);
            if ( ValidLot > 0.0 ) ord=OrderClose(OrderTicket(),ValidLot,TickS.bid,MathAbs(SlippageMaxClose),Green);
            }
         if ( OrderType() == OP_SELL )
            {
            ValidLot=CalcCloseLots(OrderLots(),(Open[1]-Open[0])/_Point);
            if ( ValidLot > 0.0 ) ord=OrderClose(OrderTicket(),ValidLot,TickS.ask,MathAbs(SlippageMaxClose),Red);
            }         
         break;
         }
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值