首页 > 学院 > 外汇技术面

【MetaTrader编程入门教程】---指标文件构成


      if(error==134) Print("Received 134 Error after OrderSend() !! ");            // not enough money
      if(error==135) RefreshRates();   // prices have changed
      }
      Sleep(5000);
       return ;    
    }
}
void CTP()     //跟踪止赢
{
 bool  bs = false;
  for (int i = 0; i < OrdersTotal(); i++)
  {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)        break;
    if (OrderType() == OP_BUY)
    {
      if ((Bid - OrderOpenPrice()) > (TrailingStop * MarketInfo(OrderSymbol(), MODE_POINT)))
      {
        if (OrderStopLoss() < Bid - TrailingStop * MarketInfo(OrderSymbol(), MODE_POINT))
        {
          bs = OrderModify(OrderTicket(), OrderOpenPrice(), Bid - TrailingStop * MarketInfo(OrderSymbol(), MODE_POINT), OrderTakeProfit(),0, Green);
        }
      }
    }
    else if (OrderType() == OP_SELL)
    {
      if ((OrderOpenPrice() - Ask) > (TrailingStop * MarketInfo(OrderSymbol(), MODE_POINT)))
      {
        if ((OrderStopLoss()) > (Ask + TrailingStop * MarketInfo(OrderSymbol(), MODE_POINT)))
        {     
          bs = OrderModify(OrderTicket(), OrderOpenPrice(),
            Ask + TrailingStop * MarketInfo(OrderSymbol(), MODE_POINT), OrderTakeProfit(),0, Tan);
  }
      }
    }
  }
}
MT编程入门教程(2)----指标画哪里?价格窗口还是独立窗口?
其实,都可以,不过是坐标的规格化,使得它们在相近的数据范围,就可以画在一起。
看你自己的习惯。画在价格窗口,方便和价格同时感受。
//+本例展示了如何把MA转换后画到独立窗口,同样也可以把独立窗口的指标改画在价格窗口
//要达到这些目的,需要考虑两个方面 1 估计数据的范围,以确定以什么为单位? 2 确定坐标偏移,也就是确定坐标零点。
//目的就是让你要画的多条线在同样的数值范围,这样才能同时画出,达到参考目的
//比如-1000到+1000和0到+4这样两套数据要变换后才能在同图画出,
//转换方法复习中学数学直角坐标系的缩放和平移部分-------------------------+
// 共画2条线
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Yellow
// Parameter
// MA-Properties
extern double MovingFast     = 7;   
extern   double MovingSlow     = 13;   
extern   double MovingSlow02     = 13;   
extern   int MaM=2;
extern   int MaP=2;
extern   int MaM0=3;
extern   int MaP0=3;
extern   int range1 = 11;
extern   int range2 = 4;
int i;
// Buffer
//// 共画2条线,用2个数组存储线数据
double bufferMA1[];
double bufferMA2[]; 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                 |
//+------------------------------------------------------------------+
int init() 
{
//// 设置2条线的顺序编号,画法,对应数组,
  SetIndexStyle( 0, DRAW_LINE );
  SetIndexBuffer( 0, bufferMA1 );
  SetIndexStyle( 1, DRAW_LINE );
  SetIndexBuffer( 1, bufferMA2 );
  return(0);
}
int deinit() {   return(0);}
int start() 
{
double Buffer10,Buffer11,Buffer20,Buffer21,Buffer30, Buffer31;
int countedBars = IndicatorCounted();
  //---- check for possible errors
if ( countedBars < 0 )   { return(-1);   }
if ( countedBars > 0 ) { countedBars--; }
int   barsToCount = Bars - countedBars;
for ( int i = barsToCount; i >= 0; i-- ) 
{
  //// 开始计算
  Buffer20 = iMA(NULL,0,MovingFast,0,MaM,MaP, i) ;//MovingFast
  Buffer30 = iMA(NULL,0,MovingSlow,0,MaM,MaP, i) ;//MovingSlow
  Buffer21 = iMA(NULL,0,MovingFast,0,MaM,MaP, i+range1) ;

【版权声明】

本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。

【风险提示】

请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。

 

Fx263.com - 全球财经中文网

官方交流微信号:FX263cn注明来意

重要声明 | 本站内容不适用于中国大陆地区访客。

Powered By Fx263.com - 版权所有

大中华地区全球财经中文网

本站内容仅供参考盈亏自负

FX263网 - 全球财经中文网