[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 186

 
NTH >> :

你好。

为什么买入时止损不转,卖出时一切正常。

如果(OrdersTotal()>0)
{
如果(Bid==bubuy||Bid==busell)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)。
OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue)。
}
return(0);
}

原来什么是if(Bid==buy||Bid==busell),....???????,你能告诉我。

而且可能应该是以下条件。

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*number of points,OrderTakeProfit(),0,Blue)

 

如果(Bid==bubuy||Bid==busell)

双重买入是一个水平,在触及该水平时,买入头寸的止损被移至该头寸的开仓水平。

双重布什尔是卖出位置的水平。

 
NTH >> :

如果(Bid==buy||Bid==busell)

双重买入是一个水平,在触及该水平时,买入头寸的止损被移至该头寸的开仓水平。

双重总线是卖出头寸的一个水平。

无论如何要检查一下情况。

 

想通了

如果(OrdersTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if(OrderType() ==OP_BUY) if(Bid>=buy) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if(OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(), OrderTakeProfit(), 0, Red);
return(0);
}

还有一个问题,如果数据取自几个TF,当EA在线工作时,是否有必要打开所有这些图表(在不同的图表中),或者我可以只取一个图表并在上面设置EA?假设EA工作在EUR/OD上,从H1 H4 D1框架中获取数据进行分析,并且它(EA)连接在H1上,我是否需要在其他图表中打开H4和D1?

 
NTH >> :

想通了

如果(OrdersTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)。
如果(OrderStopLoss()==OrderOpenPrice()) 返回(0)。
if(OrderType()==OP_BUY) if(Bid>=buy) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
如果(OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Red);
return(0);
}

还有一个问题,如果我的EA从几个TFs中获取数据,当EA在线工作时,我是否需要所有这些TFs都打开(在不同的图表中),还是我可以只取一个图表并在其上设置EA?假设EA工作在EUR/OD上,从H1 H4 D1框架中获取数据进行分析,并附加在H1上,它是否需要在其他图表H4和D1中打开?

不需要打开其他有时间框架的图表...EA将从时间框架本身计算出所有的数据。

 

你好,请你告诉我如何修复指标https://www.mql5.com/ru/code/7361。

事情是这样的:信号出现在当前的条形图上,每一个刻度 都会发出声音信号。如果信号没有被取消,我希望在条形图关闭后能有声音。

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4                                           |
//| Ramdass - Conversion only                                        |
//+------------------------------------------------------------------+
#property copyright "SilverTrend  rewritten by CrazyChart"
#property link      "http://viac.ru/"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violet
//---- input parameters
extern int RISK=3;
extern int CountBars=350;
extern int NumberofAlerts=2;
int SSP=9;
int counter=0;
//---- buffers
double val1[];
double val2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,234);
   SetIndexBuffer(0, val1);
   SetIndexBuffer(1, val2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| SilverTrend_Signal                                               |
//+------------------------------------------------------------------+
int start()
  {
   if ( CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars- CountBars+ SSP);
   SetIndexDrawBegin(1,Bars- CountBars+ SSP);
   int i, shift, counted_bars=IndicatorCounted();
   int i1, i2, K;
   double Range, AvgRange, smin, smax, SsMax, SsMin, price;
   bool uptrend, old;
//----
   if(Bars<= SSP+1) return(0);
//---- initial zero
   if( counted_bars< SSP+1)
     {
      for( i=1; i<= SSP; i++) val1[ CountBars- i]=0.0;
      for( i=1; i<= SSP; i++) val2[ CountBars- i]=0.0;
     }
//----
   K=33- RISK;
   for( shift= CountBars- SSP; shift>=0; shift--)
     {
      Range=0;
      AvgRange=0;
      for( i1= shift; i1<= shift+ SSP; i1++)
        { AvgRange= AvgRange+MathAbs(High[ i1]-Low[ i1]);
        }
      Range= AvgRange/( SSP+1);
//----
      SsMax=High[ shift]; SsMin=Low[ shift];
      for( i2= shift; i2<= shift+ SSP-1; i2++)
        {
         price=High[ i2];
         if( SsMax< price) SsMax= price;
         price=Low[ i2];
         if( SsMin>= price)  SsMin= price;
        }
      smin= SsMin+( SsMax- SsMin)* K/100;
      smax= SsMax-( SsMax- SsMin)* K/100;
      val1[ shift]=0;
      val2[ shift]=0;
      if (Close[ shift]< smin)
        {
         uptrend=false;
        }
      if (Close[ shift]> smax)
        {
         uptrend=true;
        }
      if ( uptrend!= old && uptrend==true)
        {
         val1[ shift]=Low[ shift]- Range*0.5;
         counter=0;
         if ( shift==0 && counter<= NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," BUY");
            counter= counter+1;
           }
        }
      if ( uptrend!= old && uptrend==false)
        {
         counter=0;
         val2[ shift]=High[ shift]+ Range*0.5;
         if ( shift==0 && counter<= NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," SELL");
            counter= counter+1;
           }
        }
      Comment( shift);
      old= uptrend;
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
人们遇到了谁遇到了专家Martingail两手2.07正是2.07或只是2.7可能不太正确写的名字,因为它是从一个网站下载的,随着其他一堆测试2周,他做了超过100%的两个星期konestno小,但我没有时间来进一步测试,因为我不得不农场的驱动器紧急。遇见谁?
 
我也有一个要求,把这个小费利润,我没有得到它,请。
附加的文件:
 

向大家问好!


帮助我解决以下问题。

有一个自定义指标,在图表上画出信号。

这些信号有一个延迟,我正试图确定每个信号的延迟,并将其写在图表的旁边。

我决定尝试输出信号出现的时间。

ObjectCreate(StringConcatenate("Text_",IndicatorNumber,"_",i), OBJ_TEXT, 0, "cur_time",short[i] + 0.0020)。
ObjectSetText(StringConcatenate("Text_",IndicatorNumber,"_",i), TimeToStr(CurTime(),TIME_SECONDS), 10, "Arial", Lime)。

但代码不起作用,我看不到时间。

我做错了什么?

 

你好。

我已经用 "报价档案 "下载了1999年的DAT格式的英镑/美元(M1)报价,我如何转换这些数据进行测试?

原因: