初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 28

 
Vladimir Karputov:

延期となりました。

ゲボルグ・ハコビヤン さん 2016.12.08 15:26

こんにちは。Meta Trader 4に存在するすべての通貨ペアのリストを取得するにはどうすればよいですか?また、リストの変更に気づくにはどうすればいいのでしょうか?
https://docs.mql4.com/ru/marketinformation/symbolstotal
SymbolsTotal - Получение рыночной информации - Справочник MQL4
SymbolsTotal - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
SymbolsTotal - Получение рыночной информации - Справочник MQL4
 
Sergey Gritsay:

シンボル合計

利用可能な(MarketWatchで選択された、またはすべての)シンボルの数を返します。

intSymbolsTotal()
bool selected// true - MarketWatchのシンボルのみ
);

パラメータ

せんたんてき

[in] リクエストモード。値としてtrueまたはfalseを取ることができる。

戻り値

selected が true の場合、MarketWatch で選択された文字数が返される。falseの場合、全てのシンボルの総数を返す。

セルゲイさん、ありがとうございます。しかし、私は数量ではなく、既存のすべてのリストが必要で、市場で通貨の強さを処理し、計算するために。
 
Renatさん、ありがとうございます。しかし、私は数量ではなく、既存のすべてのリストが必要で、市場で通貨の強さを処理し、計算するために。

 
同じブローカーのデモ口座とリアル口座では、このリストの通貨ペアの数は異なります。存在する全通貨ペアのうち、選択した通貨のデータを計算するインジケータを書きます。インジケータはすべての口座で動作する必要があるため、これらのペアの可用性を事前に考慮する必要があります。
 
Gevorg Hakobyan:
Renatさん、ありがとうございます。ただ、量ではなく、既存のものをすべてリストアップして、マーケットでの通貨の強さを加工して計算する必要があります。

そこには多くの機能があり、その中から必要なものを見ることができる

https://docs.mql4.com/ru/marketinformation/symbolname

SymbolName - Получение рыночной информации - Справочник MQL4
SymbolName - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
SymbolName - Получение рыночной информации - Справочник MQL4
 
Gevorg Hakobyan:
Renatさん、ありがとうございます。しかし、私は数量ではなく、既存のすべてのもののリストが必要で、市場で通貨の強さを処理し、計算するために。

まず、全シンボルのリストを取得する。

//+------------------------------------------------------------------+
//|                                                   AllSymbols.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int count=SymbolsTotal(false); // false - all symbols in MarketWatch
   for(int i=0;i<count;i++)
      Print(i,": ",SymbolName(i,false));
  }
//+------------------------------------------------------------------+

ここでは、MarketWatchで利用可能なすべてのシンボルの列挙を使用しています。

しかし、ただリストアップするだけでは何も得られない。シンボルのプロパティを取得するためには、まずシンボルを選択する必要があります(SymbolSelect)。

ファイル:
 
Vladimir Karputov:

まず、すべてのシンボルのリストを取得します。

これは、MarketWatchで利用可能なすべてのシンボルに対する検索を使用します。

しかし、ただリストアップしただけでは何も得られない。シンボルのプロパティを取得するためには、まずシンボルを選択する必要があります(SymbolSelect)。

以下は誤植です:int count=SymbolsTotal(false);// false - MarketWatchの全シンボル- //falseの場合は、全シンボルの合計数を返します
このリストには、その人が求めたもの、つまりすべてのシンボルに関する情報が記載されます。そして、ひとつひとつを順番に選んで処理していく。
 
皆さん、ありがとうございました。解決策が見つかったようです。まず、私のリストとMarketWatchのリストを比較してみることにします。新しいペアがあればリストに追加し、ペアがなければ不要なものを削除するだけです。ただ今は新たな問題がある。結果は曖昧で、MarketWatchに依存することになるのだ。
 

皆さん、ごきげんよう。EAで注文削除を設定する方法を教えてください。

状況は次のとおりです。

異なる方向に2つの未決済注文を 出し、片方がトリガーされると同時にもう片方は削除され、出品されなくなる。

ご教示いただければ幸いです。

とてもありがたいことだと思います。

 
yaaarik777:

皆さん、ごきげんよう。EAで注文削除を設定する方法を教えてください。

状況は次のとおりです。

異なる方向に2つの未決済注文を 出し、片方がトリガーされると同時にもう片方は削除され、出品されなくなる。

ご教示いただければ幸いです。

ありがとうございます。

保留中の注文が2個以下であれば、残った1個を削除する。

もし、保留中の注文を戻したくない場合は、より難しく、注文を出した時間や条件を分析しなければなりません。