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

 
Nilog:
我试过这种方式。反正只有一个信号出来了。:((((((((((

如果(余额<损失)
{
switch(Delta) {

case 1: PlaySound("LossLimitReached.wav");Sleep(1000); break;

case 2: PlaySound("LossLimitReached.wav"); Sleep (1000); break;

case 3: PlaySound("LossLimitReached.wav");Sleep(1000); break;

case 4: PlaySound("LossLimitReached.wav");Sleep(1000); break;

case 5: PlaySound("LossLimitReached.wav"); Sleep (1000); break;

}

}也许如此,那么,我肯定没有任何其他选择,)。

 
gheka:

如果(余额<损失)
{
switch(Delta)

不对。

好吧,我两年前做了一只定制的火鸡,它的铃声是正确的,你可以设定多少次。我去翻翻邮件,看看能不能找到它。

 
gheka:
Necron:
这意味着账户中已经有未结头寸
我还没有动过我的账户。

我开了一个新的模拟账户,我从未碰过存款。

NormalizeDouble(),检查最大/最小手数限制,如果是五位数- 将止损和利润增加10倍。
 

你好!!

谁能推荐一个能显示蜡烛或柱子剩余时间的指标?

我在代码库中找不到它 .....

 
igrok2008:

你好!!

谁能推荐一个能显示蜡烛或柱子剩余时间的指标?

我在代码库中找不到它 .....

有很多不同的。

https://www.forex-tsd.com/indicators-metatrader-4/9487-candle-time.html

这里有一个。

附加的文件:
 

还有一个问题。

专家顾问比较了一个蜡烛(关闭)的黑色或白色....打开时黑色>关闭时白色...该图表是60分钟的。我想在30分钟图表上比较和关闭烛台。

请告知谁可以做什么。以下是代码

//+------------------------------------------------------------------+
//|                                                   e_po_baram.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double    Lots=0.01;
extern int       StopLoss=1500;
extern int       TakeProfit=100;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

        
   //-------------открытие позиции Buy покупка----------------- 
    if(
    (Open[i]>Close[i])&& //проверка свечи белая или чёрная для 60 мин
    () //проверка свечи белая или чёрная для 30 мин
    ) //торговое условие на покупку
     if(CheckOrders(OP_SELL))
      {
       if(StopLoss <= StopLevel+Spread)
         double SL = 0;
        else
         SL = Ask - StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         double TP = 0;
        else
         TP = Ask + TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    if(
    (Open[i]<Close[i])&& //проверка свечи белая или чёрная для 60 мин
    () //проверка свечи белая или чёрная для 30 мин
    )//торговое условие на продажу
     if(CheckOrders(OP_BUY))
      {
       if(StopLoss <= StopLevel+Spread)
         SL = 0;
        else
         SL = Bid + StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         TP = 0;
        else
         TP = Bid - TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
Nilog:

有很多不同的

https://www.forex-tsd.com/indicators-metatrader-4/9487-candle-time.html

谢谢你
 
我怎样才能知道是否有任何未结订单?
 
Necron:
做正常化处理(NormalizeDouble()),检查最大/最小手数限制,如果是五位数--将止损和利润增加10倍。

doublenormalizeDouble( double value, int digits)

价值 - 浮点 值。---它是什么?
数字 - 精度格式,小数点后的位数(0-8)。---如1.29800是5位数,对吗?

 
我如何识别未结订单的类型?