初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1000

 
我在哪里可以找到终端的一个选项来开始创建,不与开放图表 相联系的辅助指标?
 
BillionerClub:
我在哪里可以找到终端的一个选项来开始创建,不与开放图表 相联系的辅助指标?

在创建HANDLE指标时,你所需要做的就是指定所需的时间框架和符号。例如,iRSI 指标。

int  iRSI( 
   string              symbol,            // имя символа 
   ENUM_TIMEFRAMES     period,            // период 
   int                 ma_period,         // период усреднения 
   ENUM_APPLIED_PRICE  applied_price      // тип цены или handle 
   );
 
Vladimir Karputov:

在创建HANDLE指标时,你所需要做的就是指定所需的时间框架和符号。例如,iRSI 指标。

不,我是说真的。我想Renat在一些帖子中说过,要创建辅助性的,不与图表EA或类似的东西挂钩。

 
BillionerClub:

不,这就是我的意思。我想Renat在某个帖子中说过,要创建辅助性的、非图表式的EA或类似的东西。

这就是所谓的服务。我们还没有他们。

 

我在MT4下有一个工作函数,在下单前检查服务器的可用性(参数bool refreshrates - 刷新报价和int count - 检查的次数,如果服务器不可用,结果返回false - 可以交易,true服务器不可用。即使用if(ServerDisable() return;)很方便。

bool ServerDisable(bool refreshrates=false,int count=10)
  {
   for(int i=0;i<count;i++)
     {
      if(IsConnected())
        {
         if(IsTradeAllowed())
           {
            if(!IsTradeContextBusy())
              {
                 {
                  if(refreshrates)RefreshRates();
                  return(false);
                 }
              }
           }
        }
      Sleep(157);
     }
   Print(__FUNCTION__," Торговый сервер не отвечает");
   return(true);
  }

帮助我为MT5正确改写这个结构,它在MT5帮助中被称为TerminalInfoInteger() 请求参数(即我在MT5中寻找与标准MT4函数IsConnected()、IsTradeAllowed()相似的参数...)和如何执行RefreshRates()?

 
Igor Makanu:

我在MT4下有一个工作函数,在下单前检查服务器的可用性(参数bool refreshrates - 刷新报价和int count - 检查的次数,如果服务器不可用,结果返回false - 可以交易,true服务器不可用。即使用if(ServerDisable() return;)很方便。

帮助我为MT5正确改写这个结构,它在MT5帮助中被称为TerminalInfoInteger()请求参数(即我在MT5中寻找与标准MT4函数IsConnected()、IsTradeAllowed()相似的参数...)和如何执行RefreshRates()?

我只用这一个,似乎已经足够了。

终端信息eger(TERMINAL_CONNECTED)

 
Vitaly Muzichenko:

我只用这个,似乎足够了

终端信息eger(TERMINAL_CONNECTED)

我不想讨论棘手的经纪人,我上面展示的结构提供了下单,以及如果没有可能在这个tick上处理订单,则在tick传入时从OnTick()退出。

我需要MT5期货的精确类似物:IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmed ), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

 
Igor Makanu:

我不想讨论棘手的经纪人,我上面展示的结构提供了下单,以及在tick上退出OnTick(),如果在这个tick上没有可能使用订单的话。

我需要MT5函数的精确类似物:IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmed), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

IsTradeContextBusy()可以被排除,第五个线程总是自由的。

RefreshRates() 正在更新预定义的 Ask/Bid变量。

#define Bid (::SymbolInfoDouble(_Symbol, ::SYMBOL_BID))
#define Ask (::SymbolInfoDouble(_Symbol, ::SYMBOL_ASK))

那么价格将始终是最新的

 
Igor Makanu:

我不想讨论棘手的经纪人,我上面展示的结构提供了下单,以及在tick上退出OnTick(),如果在这个tick上没有可能使用订单的话。

我需要MT5期货的精确类似物:IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmed), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

我想你的意思是,蜱虫正在运行,但交易被禁止

如果是这样,我也希望有这样的检查,但到目前为止还没有人提供任何东西。

 
Vitaly Muzichenko:

IsTradeContextBusy()可以被排除,第五个线程总是自由的。

https://www.mql5.com/ru/articles/4332

IsConnected() TerminalInfoInteger(TERMINAL_CONNECTED)

IsTradeAllowed() MQLInfoInteger(MQL_TRADE_ALLOWED)

RefreshRates() SymbolInfoDouble(_Symbol, ::SYMBOL_BID)

IsTradeContextBusy()需要模拟,或说明为什么不可以这样做


我需要一个模拟量,仅此而已 , 我昨天根据帮助重写了上述函数,但对正确的解释存在不确定性(描述的词语不同),现在我想在论坛上确认其正确性。

//_______________________________________________________________________
bool ServerDisable(bool refreshrates=false,int count=10)
  {
   if(MQLInfoInteger(MQL_TESTER)|| MQLInfoInteger(MQL_OPTIMIZATION))return(false);
   for(int i=0;i<count;i++)
     {
      if(TerminalInfoInteger(TERMINAL_CONNECTED))if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
        {
#ifdef __MQL5__
         if(refreshrates) SymbolInfoDouble(_Symbol,SYMBOL_BID);
         return(false);
#else
#ifdef __MQL4__
         if(!IsTradeContextBusy())
           {
            if(refreshrates) RefreshRates();
            return(false);
           }
#endif   // __MQL4__
#endif
        }
      Sleep(157);
     }
   Print(__FUNCTION__," Торговый сервер не отвечает");
   return(true);
  }
//___________________________________________________________________________
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...