任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 71

 

我需要该指标在日线图上绘制箭头。我假设问题出在使用15分钟EMA上,一切都在15分钟EMA上运行。有没有可能做一个从15分钟时间框架计算出来的指标,在日线图上画箭头?

下面是代码本身。

#property copyright ""
#property link      ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Red

//--- input parameters

//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,217);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    signal_1,
    signal_2,
    MA_1_t,                                                 
    MA_2_t;
 
   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   
   for(int i=0;i<limit;i++)
   {
      MA_1_t=iMA(NULL,PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,i+0);  
      MA_2_t=iMA(NULL,PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,i+1);  
      signal_1 = (условие);
      signal_2 = (условие);
      if (signal_1 >= определенное число)
      ExtMapBuffer1[i]=High[i]+5*Point;
      else
         ExtMapBuffer1[i]=0.0;
      if(signal_2 >= определенное число)
         ExtMapBuffer2[i]=Low[i]-5*Point;         
      else
         ExtMapBuffer2[i]=0.0; 
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
satorifx:


dist = MathAbs((NormalizeDouble(Bid,Digits)-
NormalizeDouble(ObjectGetValueByShift(TrendLineName,0),Digits))*MathPow(10,Digits));

代码通过TrendLineName找到当前价格水平到趋势的距离。 但有一个问题:显然,趋势在两半之间的传输是不准确的,因此,不同的两半价格的距离是完全不同的。如何绕过这个问题?理想情况下,即使趋势线只显示在H1上,在开盘时间W1(事实上在任何开盘时间),计算出的距离应该是一样的。


与上面引文中的问题有关,还有一个问题:我如何模拟与图表上开放的时间框架不同的时间框架?例如,在D1打开的情况下,我是否应该按M30计算?
 
我在互联网上搜索,找到了一些东西,但我试了一下,就是不行!帮我添加一个跟踪止损))应该这样工作--如果价格在 "X "点上涨/下跌(盈利),在该价格的 "Y "点触发一个跟踪止损,并以增量 "Z "向盈利的方向移动。非常感谢谁的帮助))))))

//+------------------------------------------------------------------+
//| sobstvennyi_probnyi_sovetnic.mq4 ||
//| 安东尼科 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#财产版权"Antonico"
#属性链接 "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//|专家初始化功能 |
//+------------------------------------------------------------------+
双批=1。
外来的双数sl=30。
外来的双胞胎tp=30。
外置双倍数koeff=2。
int pon=1。
int vtor=0。
int sred=3。
int hetver=0。
int patn=0。


int init()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()

{ int otkrord=OrdersTotal();
如果(DayOfWeek()==pon || DayOfWeek()==vtor || DayOfWeek()==sred || DayOfWeek()==hetver || DayOfWeek()==patn || DayOfWeek()==6 || DayOfWeek()==0 || otkrord >0) 返回(0)。



如果(OrdersHistoryTotal()==0)
{lot=1;}

如果(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))

{
如果(OrderProfit()>0)
{
lot=1。
}
如果(OrderProfit()<=0)
{
lot=OrderLots()*koeff; //乘以2
}

}


int h=TimeHour(TimeCurrent())。
int m=TimeMinute(TimeCurrent())。
int s=TimeSeconds(TimeCurrent())。
double zena0=Open[3];
double zena01=Open[2];


如果(h==1 && m==00 && s==01 && zena0<zena01 )

{OrderSend(Symbol(, OP_BUY,lot,Ask,3,Bid-sl*Point,Ask+tp*Point,"",0,0,Green);}





if (h==1 && m==00 && s==01 && zena0>zena01)
{OrderSend(Symbol(), OP_SELL,lot,Bid,3,Ask+sl*Point,Bid-tp*Point,"",0,0,Red);}。
}


{如果(OrdersHistoryTotal()==0)
{lot=1;}

如果(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))

{
如果(OrderProfit()>0)
{
lot=1。
}
如果(OrderProfit()<=0)
{
lot=OrderLots()*koeff; // 亏损交易后乘以2
}

}




double zena1=Open[5];
double zena11=Open[4];

if (h==3 && m==00 && s==01 && zena1>zena11)
{



OrderSend(Symbol(), OP_BUY,lot,Ask,3,Bid-sl*Point,Ask+tp*Point,"",0,0,Green);}。
如果(h==14 && m==00 && s==01 && zena1<zena11)
{OrderSend(Symbol(), OP_SELL,lot,Bid,3,Ask+sl*Point,Bid-tp*Point,"",0,0,Red);}。

}
}

return(0);
}

//+------------------------------------------------------------------+
 

请告诉我如何将一个字符(字符串)翻译成ASCII码?

粗略地说,你需要CharToStr() 的逆运算。

 
Heroix:

请告诉我如何将一个字符(字符串)翻译成ASCII码?

粗略地说,你需要CharToStr() 的逆运算。


 

下午好。

帮助我需要代码

当前图表

一个新条形图 打开时,必须建立一个订单

确切地说,是新酒吧

 
sannin:

下午好。

帮助我需要代码

当前图表

当一个新条形图打开时,必须建立一个订单

确切地说,是新酒吧

没问题!

开始编写你需要的代码。如果遇到困难,可以提出问题并展示你写的代码片段,有经验的同志会告诉你哪里出错了。

 

大家好。

我有一个问题。在测试器中,如果我们看小时图,例如,本周开始于00:00。众所周知,外汇周在北京时间20:15开始。也就是说,为了从一个小时的测试仪小时GMT,大致上说,prebovlyayut 20小时,除以24的模子,对吗?

 
为什么正好是晚上8点15分,对你来说,它将在你的经纪人打开时打开。
 
大家好。请告知在哪里可以得到关于如何从窥探的目光中关闭EA的信息,以及你需要什么,使EA在一定时间内工作,然后停止有用的时刻,好吧,例如,引入一个继续工作的代码,像这样。 提前感谢!!。