[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 597

 
谢谢你!
 

大家好。

请教如何找出分形形成后的最高价格

 

这里是开启头寸的交易功能。

//+-------------------------------------------------------------------------------------+
//| Открытие позиций                                                                    |
//+-------------------------------------------------------------------------------------+
bool Trade (int signal)
{
  double sl = 0, tp = 0;

  if(signal == SIGNAL_BUY && FindOrders() == 0)                                     // Если сигнал на покупку и открытых ордеров нет...
  {
    g_ticket = OpenBuy();                                                           // открываем лимитный ордер на покупку
  
    if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)  // Если ордер есть и он выбран..
    {
      if(i_sl != 0)                                                                 // Если входной параметр стоп-лосса не равен 0, то..
        sl = NormalizeDouble(OrderOpenPrice() - i_sl*Point,Digits);                 // Получаем значение стоп-лосса для выбранного ордера
      if(i_tp != 0)                                                                 // Если входной параметр тейкпрофита не равен 0, то..
        tp = NormalizeDouble(OrderOpenPrice() + i_tp*Point,Digits);                 // Получаем значение тейкпрофита для выбранного ордера
    }  
  }  
  else if(signal == SIGNAL_SELL && FindOrders() == 0)                               // Если сигнал на продажу и открытых ордеров нет..
  {
    g_ticket = OpenSell();                                                          // Открываем лимитный ордер на продажу
  
    if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)  // Если ордер есть и он выбран..
    {
      if(i_sl != 0)                                                                 // Если входной параметр стоп-лосса не равен 0, то..
         sl = NormalizeDouble(OrderOpenPrice() + i_sl*Point,Digits);                // Получаем значение стоп-лосса для выбранного ордера
      if(i_tp != 0)                                                                 // Если входной параметр тейкпрофита не равен 0, то..
         tp = NormalizeDouble(OrderOpenPrice() - i_tp*Point,Digits);                // Получаем значение тейкпрофита для выбранного ордера
    }
  }
  if(sl != 0 || tp != 0)                                                            // Если полученные значения sl и tp не равныы 0, то..
  {
    OrderModify(g_ticket,OrderOpenPrice(),sl,tp,OrderOpenTime() + 86400,Lime);      // Модифицируем ордер
    return(true);
  }
  return(true);
}

一切都很清楚,很简洁。错误130 在测试器中不断弹出,虽然专家顾问工作,但错误130 不断弹出。那是什么原因呢?

这个函数使用了位置开放 函数,这里是它们。

//+-------------------------------------------------------------------------------------+
//| Открытие длинной позиции                                                            |
//+-------------------------------------------------------------------------------------+
int OpenBuy()
{
  g_ticket = -1;
  string myNote = "сов баянул";
         
  g_ticket = OrderSend(Symbol(),OP_BUYLIMIT,0.1,GetPriceToInput(),3,0,0,myNote,myMagic,0,Blue);
  if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
  
  return(g_ticket);
}
//+-------------------------------------------------------------------------------------+
//| Открытие короткой позиции                                                           |
//+-------------------------------------------------------------------------------------+
int OpenSell()
{
  g_ticket = -1;
  string myNote = "сов шортанул";

  g_ticket = OrderSend(Symbol(),OP_SELLLIMIT,0.1,GetPriceToInput(),3,0,0,myNote,myMagic,0,Red);
  if(g_ticket > 0 && OrderSelect(g_ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
  
  return(g_ticket);
}

我以为这与停止水平有关,我加了检查,但这是不一样的。我暂时把它删除了,因为在Alpari上这个级别是0。请提示需要改正的地方,以避免这种错误。

 


 double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)];

以欧元兑美元为例,如何以1.30320的格式记录?
 
if(OrderTakeProfit()!=0&&OrderTakeProfit()!=OrderOpenPrice()+2*kio*Point&&Bid>OrderOpenPrice()+50*kio*Point)
               OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+2*kio*Point,0);
大家好,能不能告诉我错误1号的问题是什么,如何解决?谢谢你
 
rigonich:

声明一个数据时间类型的变量,并为其赋值Time[0]。 在订单被打开后,如果它不等于Time[0],你可以打开下一个订单,如果它等于Exit。至于标准,我没有看代码,但似乎如果是随机指数,它应该在超买/超卖水平(通常是>80和<20%)交叉时触发。为了清晰起见,在随机设置中把水平线设置为20%和80%。
里戈尼奇

声明一个日期类型的变量,为其赋值Time[0],在打开一个订单后,如果它不等于Time[0,你可以打开下一个订单,如果它等于--从开始退出。至于标准,我没有看代码,但似乎如果是随机指数,它应该在超买/超卖水平(通常是>80和<20%)交叉时触发。为了清楚起见,在随机设置中设置了20%和80%的水平。
谢谢你)
 
下午好,请帮助,我不明白为什么不必要的订单会打开(),在截图中用红色圈出,这里是标准
// Торговые критерии
   M_1=iStochastic(NULL,0,Kperiod,Dperiod,Slowing,MODE_SMMA,Price_field,MODE_MAIN,  0);
   M_2=iStochastic(NULL,0,Kperiod,Dperiod,Slowing,MODE_SMMA,Price_field,MODE_MAIN,  1);
   S_1=iStochastic(NULL,0,Kperiod,Dperiod,Slowing,MODE_SMMA,Price_field,MODE_SIGNAL,0);
   S_2=iStochastic(NULL,0,Kperiod,Dperiod,Slowing,MODE_SMMA,Price_field,MODE_SIGNAL,1);
 
   if (M_2 < S_2 && M_1>=S_1 ) 
      { 
       if (Total==1)
         {
          if (Vremya== Time [0]) 
          return; 
          T=Close_Order (Lts,Tip);
          Vremya= Time [0];
          if (T==true)
           { 
           Total=0;
           }
         } 
       if (Total==0)         
         { 
         if (Vremya== Time [0])  
         return;                                     
   
          Open_Order_B (Lts); 
          Vremya= Time [0];
            
         }                                      
      }
   if (M_2 > S_2 && M_1<=S_1 ) 
      { 
       if (Total==1)
          {
           if (Vremya== Time [0]) 
           return; 
           T=Close_Order (Lts,Tip); 
           Vremya= Time [0];
           if (T==true)
             {
             Total=0;
             }
          }
       if (Total==0)         
          {                                          
          if (Vremya== Time [0]) 
          return;                                     
          
          Open_Order_S (Lts); 
          Vremya= Time [0];                                              
          }
       }   
 
Equilibrium:
下午好,请帮助,我不明白为什么不需要的订单会打开(),在截图中它们被圈成红色,这里是标准

试着从1和2个柱子中提取指标值。类似这样的事情。
 
i999i:

大家好。

请教如何找出分形形成后的最高价格?


下一个顶级分形
 

double min=Low[iLowest(NULL,PERIOD_M15,MODE_LOW,32,0)];

下午好,请指教

例如,我如何记录欧元兑美元的1.30320?