[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 244

 
皆さん、こんにちは。EAに他の通貨ペアや時間枠のデータを要求させたいのですが、どうすればいいですか?そのためには、数十枚のチャートを開いておかなければならない(EAは1枚のチャートにしかインストールされていないが)。このすべてが大量のメモリを「消費」し、VPSの速度を低下させます(たとえ設定が履歴/ウィンドウ内のバーの数を減らしても)。チャートをたくさん開かなくても、必要な時系列が存在し続ける方法はないでしょうか?ご回答をよろしくお願いいたします。
 
AndEv:
皆さん、ごきげんよう。質問:他の通貨やタイムフレームのデータを要求するEAを作りたいのですが、どうすればいいですか?そのために、数十枚のチャートを開いておかなければならない(Expert Advisorは1枚のチャートにしか表示されないが)。このすべてが大量のメモリを「消費」し、VPSの速度を低下させます(たとえ設定が履歴/ウィンドウ内のバーの数を減らしても)。チャートをたくさん開かなくても、必要な時系列が存在し続ける方法はないでしょうか?ご回答をよろしくお願いいたします。

他の通貨には、具体的にどのようなものが必要なのでしょうか?例えば、指標に任意の通貨と時間枠を指定し、そのようにデータを取得することができます。

double iMA(NULL, 0, ...) // по символу и таймфрейму текущего графика
double iMA("AUDUSD", PERIOD_W1, ...) // по AUDUSD и по недельному таймфрейму

また、AUDUSD, W1チャートを開いておく必要はありません。

 
paladin80:

他の通貨には、具体的にどのようなものが必要なのでしょうか?例えば、指標に任意の通貨と時間枠を指定し、そのようにデータを取得することができます。

また、AUDUSD, W1チャートを開いておく必要はありません。

どの指標も時系列(例では"AUDUSD"PERIOD_W1)に基づき計算を行い、時系列はチャートなしでは存在しないのです。問題は、これを回避する方法があるかどうかだ。MT4ではいろいろなことができなかったが、有能な人たち(たとえばZhunko)がいろいろなことを可能にしてくれた。おっしゃるとおりにデータを取得しようとしたのですが、Market Watchのウィンドウにペアは存在するものの、うまくいきませんでした。該当のチャートを開いたら、すぐに必要なデータを取得することができました。
 
AndEv:
どの指標も時系列(例では"AUDUSD"PERIOD_W1)に基づき計算され、時系列はチャートなしでは存在しません。問題は、これを回避する方法があるかどうかだ。MT4ではいろいろなことができなかったが、有能な人たち(たとえばZhunko)がいろいろなことを可能にしてくれた。おっしゃるとおりにデータを取得しようとしたのですが、Market Watchのウィンドウにペアは存在するものの、うまくいきません。該当するチャートを開くと、すぐに必要なデータを取得することができました。

タイムスリップは、チャートがなくても、もちろん商品が開いていて、このタイムフレームへの参照が常にある場合、存在します。この場合、チャートは全く必要ありません
 
AndEv:
どのインジケーターも時系列(例では"AUDUSD"PERIOD_W1)を基に計算を行いますが、時系列はチャートなしでは存在しないのです。問題は、これを回避する方法があるかどうかだ。MT4ではいろいろなことができなかったが、有能な人たち(たとえばZhunko)がいろいろなことを可能にしてくれた。おっしゃるとおりにデータを取得しようとしましたが、Market Watchのウィンドウにペアは存在するものの、うまくいきませんでした。該当のチャートを開くと、すぐに必要なデータを取得することができました。
このようなコードを作りました。

double MA_AUDUSD_M5, MA_AUDUSD_W1, MA_EURCAD_H1;
//+------------------------------------------------------------------+
int start()
  {
//----
MA_AUDUSD_M5=iMA("AUDUSD",PERIOD_M5,20,0,MODE_SMA,PRICE_CLOSE,0);
MA_AUDUSD_W1=iMA("AUDUSD",PERIOD_W1,20,0,MODE_SMA,PRICE_CLOSE,0);
MA_EURCAD_H1=iMA("EURCAD",PERIOD_H1,20,0,MODE_SMA,PRICE_CLOSE,0);

Comment ("MA_AUDUSD_M5 = ",DoubleToStr(MA_AUDUSD_M5,Digits),"\n",
         "MA_AUDUSD_W1 = ",DoubleToStr(MA_AUDUSD_W1,Digits),"\n",
         "MA_EURCAD_H1 = ",DoubleToStr(MA_EURCAD_H1,Digits));
//----
   return(0);
  }
//+------------------------------------------------------------------+
int init()
  {
   return(0);
  }
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+

EURUSDのビジュアライゼーションでテストすると、Dailyはこのようになります。


EURCADには本当に何か問題があったのです。この楽器は扱ってないし、もしかしたら履歴が残っていないかもしれないと思い出し、ダウンロード(F2など)してターミナルを再起動したら、このような状態になりました。


EURCADのデータがあります。もしかしたら、VPSに 必要な楽器の履歴を伝えるべきかもしれません。

 
AndEv:
どの指標も時系列(例では"AUDUSD"PERIOD_W1)に基づき計算され、時系列はチャートなしでは存在しません。問題は、これを回避する方法があるかどうかだ。MT4ではいろいろなことができなかったが、有能な人たち(たとえばZhunko)がいろいろなことを可能にしてくれた。おっしゃるとおりにデータを取得しようとしたのですが、Market Watchのウィンドウにペアは存在するものの、うまくいきませんでした。該当するチャートを開くと、すぐに必要なデータを取得することができました。

必要な機器のデータを事前に要求することで、チャートなしでも構築できるが、時間がかかる。
 
FAQ:

事前に目的の機器のデータを要求しておくと、グラフなしで構築されるが、時間がかかる。
そこがポイントで、もう一度お願いするとデータをもらえる可能性があるんです。でも、どうしたら最初から実現できるのでしょうか?
 
hoz:

そしてこちらが、実は七面鳥そのもの。

https://www.mql5.com/ru/code

取引シグナルとしてのインジケーター自体には興味がない。しかし、その面白い名前に目をつけ、その「はらわた」を見てみようと思ったのです。そこで偶然見つけたのが...

いつもの感じ」に持っていくことにしました(筆者お許しください)。手に入れたもの(ファイル内)
ファイル:
ssl.mq4  4 kb
 
AndEv:
そこがポイントで、もう一度お願いするとデータをもらえる可能性があるんです。でも、どうしたら最初からうまくいくのでしょうか?

エラー処理は試されましたか?
 
paladin80:

VPSは捏造されているツールの話をした方がいいのでは?

履歴をダウンロードしても、クエリーは常に新しいデータを必要とするため、何もできない。私もそのようなスクリプトを行い、フクロウにコードを移し、着信ティックから起動するようにしました。チャートを 開かないダイナミクスでは、2回クエリを実行する必要がありますが、この場合のみ新しいデータを取得することができます。繰り返し問い合わせをしないと、どうしたらいいのかわからない。