新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1576

 
Eugen8519:

我已经做了这个功能,谢谢你的支持和帮助。


不客气)
 
Mihail Matkovskij:

这取决于你如何根据统计数字来计算停止和采取...不太清楚什么是 "按蜡烛图统计",你是如何计算的。

答案就像癌症的哨声,奇怪的是,它总是回答我的问题。

 
darirunu1:

答案就像小龙虾的口哨声,很奇怪,它总是回答我的问题。

你怎么能回答一个你不知道是什么的问题呢...?:)

为了了解如何计算停止和采取,在你的情况下,你需要知道你是如何通过蜡烛图计算统计的?因为 "烛台统计 "是一个非常广泛的术语...

另外,你想要什么样的停车和取车比例...?这里有一个完整的交易系统要为你想出来,因为你甚至不知道手头的任务......
 
Mihail Matkovskij:

你怎么能回答一个不清楚是什么的问题呢...?:)

为了了解如何计算停止和采取,在你的情况下,你需要知道你如何计算蜡烛图的统计?由于 "烛台统计 "是一个非常灵活的术语...

另外,你想要什么样的停车和取车比例...?这里有一个完整的交易系统要为你想出来,因为你甚至不知道手头的任务......

int cnt,ticket,total=0;

st = "一般时间 周一至周五 周三至周四至周五\n";

双重cHeight, gHeight, max;

int sat, sun, mon, thu, wen, ths, fri; //, NN;

int H = TimeHour(TimeCurrent()); // 确定当前的小时。

双倍NN = H + N*24; // 定义偏移量

如果(NN>Bars)NN=Bars。

for (int t=0; t<24; t++)

{

int HeightZ = 0; int z=0;

for (int i=0; i<=NNN; i++)

{

HeightZ =MathAbs(High[i]-Low[i])/Point ;

z++;

}

你有什么建议的方案?
 
darirunu1:

你有什么建议的方案?
int cnt,ticket,total=0;

st = "часы общ. пон. вт. ср. чт. пт. \n";

double cHeight, gHeight, Max;

int sat, sun, mon, thu, wen, ths, fri; //, NN;

int H = TimeHour(TimeCurrent()); // определим текущий час

double NN = H + N*24; // определим смещение

if (NN>Bars) NN=Bars;

for (int t=0; t<24; t++)

{

  int HeightZ = 0; int z=0;

  for (int i=0; i<=NN; i++)

  {

    HeightZ = (High[i]-Low[i])/Point;

    z++;
  }

}

据我所知,你的运动是按杆的高度计算的(MathAbs 是不需要的)。

и

double NN = H + N*24;

在这里,你要计算的是小节的数量...但对于初学者来说,最好只设置为一个正数。

你可以 这样计算平均棒的移动。

double avBarMove(int _period) {
  double cmMove = 0;
  for (int i = 0; i < _period; i++)
    cmMove += High[i]-Low[i];
  return cmMove / _period;
} 

现在,你可以尝试根据函数的结果来计算停止和取舍。

 



帮助我正确定位功能

SendNotification ("текст");




在这里插入了它的入仓信息

void OPENORDER(string ord)

  {
  
  double priceL=m_symbol.Ask();
   if(ord=="Sell")      
    SendNotification ("текст");

        //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_BUY,my_lot,priceL)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
      if(!m_trade.Sell(my_lot,Symbol(),m_symbol.Bid(),my_SL,my_TP,""))
         Print("BUY_STOP -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of Retcode: ",m_trade.ResultRetcodeDescription(),
               ", ticket of order: ",m_trade.ResultOrder());                     // Если sell, то не открываемся
     double priceS=m_symbol.Bid();
   if(ord=="Buy")
    SendNotification ("текст");
 //--- check for free money
            if(m_account.FreeMarginCheck(Symbol(),ORDER_TYPE_SELL,my_lot,priceS)<0.0)
               printf("We have no money. Free Margin = %f",m_account.FreeMargin());
            else
      if(!m_trade.Buy(my_lot,Symbol(),m_symbol.Ask(),my_SL,my_TP,""))
 
         Print("Buy -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription(),
               ", ticket of deal: ",m_trade.ResultDeal());
   return;
 }

而且我已经成功地在我的智能手机上收到了通知。




但如何以及在何处插入

SendNotification

当我达到止损获利 时,要得到一个信息?

 
Eugen8519:


帮助正确定位功能


在这里插入了它的入仓信息

而且我已经成功地在我的智能手机上收到了通知。


但如何以及在何处插入

当我达到止损获利 时,会收到一个信息?

见OnTradeTransaction

 

Eugen8519:

但如何以及在何处插入

当达到止损或止盈时,要发送一个信息?

首先,你需要创建一个函数来控制订单的关闭。

 
MakarFX:

首先,我们需要创建一个函数来控制订单的关闭。

当服务器上的任何止损单被触发时,OnTradeTransaction 将被触发。

 
MakarFX:

首先,我们必须创建一个函数来控制订单的关闭。

穿过去怎么样?

价值评估_REASON_SL
价值评估
原因: