初心者の方からの質問 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の ような指標です。

いや、本心です。レナートが何かの記事で、チャートEAに縛られない補助的なものを作るとか言っていたような気がします。

 
BillionerClub:

いや、そういうことなんです。レナートが何かの記事で、補助的な、チャートのないEAを作るとか言っていたような気がします。

それは、「サービス」というものです。まだ持っていないんです。

 

MT4で、注文前にサーバーの稼働状況を確認する関数(パラメータ bool refreshrates - クォートの更新、int count - サーバーが利用できない場合の一時停止のチェック回数、結果は false - 取引可能、true サーバーが利用できないを返します。

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ヘルプのTerminalInfoInteger() リクエストパラメータ(MT4標準関数IsConnected()、IsTradeAllowed()のMT5での類似性を探しています)を正しく書き換えるのを助けてください。) と、RefreshRates() の実行方法を教えてください。

 
Igor Makanu:

MT4で、注文前にサーバーの稼働状況を確認する関数(パラメータ bool refreshrates - クォートの更新、int count - サーバーが利用できない場合の一時停止のチェック回数、結果は false - 取引可能、true サーバーが利用できないを返します。

MT5ヘルプのTerminalInfoInteger()リクエストパラメータ(MT4標準関数IsConnected()、IsTradeAllowed()のMT5での類似性を探しています)を正しく書き換えるのを助けてください。) と、RefreshRates() の実行方法を教えてください。

私はこれだけ使っていますが、十分だと思います。

TerminalInfoInteger(TERMINAL_CONNECTED)

 
Vitaly Muzichenko:

私はこれしか使っていませんが、これで十分なようです。

TerminalInfoInteger(TERMINAL_CONNECTED)

私はトリッキーなブローカーについて議論するつもりはありません、私が上に示した構造は、注文を配置し、このティックで注文を操作する可能性がない場合、ティックの受信時にOnTick()から終了することができます。

MT5 ftsの正確なアナログが必要です: IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmed ), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

 
Igor Makanu:

私はトリッキーなブローカーを議論する必要はありません、私が上に示した構造は、注文を配置するだけでなく、このティックで注文で動作する可能性がない場合はOnTick()を終了するためにティックを提供します。

MT5関数の正確なアナログが必要です:IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmed), IsTradeAllowed(), IsTradeContextBusy(), RefreshRates()です。

IsTradeContextBusy() は除外することができ、5番目のスレッドは常に自由です

RefreshRates() は、あらかじめ定義された Ask/Bid変数の 更新を行う。

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

とすれば、価格は常に最新のものである

 
Igor Makanu:

私はトリッキーなブローカーを議論する必要は ありません、私が上に示した構造は、注文を配置するだけでなく、このティックで注文で動作する可能性がない場合はOnTick()を終了するためにティックを提供します。

MT5 ftsの正確なアナログが必要です: IsConnected()(TerminalInfoInteger(TERMINAL_CONNECTED) - confirmed), IsTradeAllowed() , IsTradeContextBusy() , RefreshRates()

ティックは動いているが、取引は無効 になっているということでしょうか?

もしそうなら、私もそのようなチェックを受けたいのですが、今のところ誰も何も申し出てくれません。

 
Vitaly Muzichenko:

IsTradeContextBusy() は除外することができ、5番目のスレッドは常に自由である

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-нотацию (справедливости ради замечу...
理由: