MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1199 1...119211931194119511961197119811991200120112021203120412051206...1953 新しいコメント Tretyakov Rostyslav 2020.07.03 09:07 #11981 Program.mqhからデータを要求する方法を教えてください。次のようなコードがあります。//--- Определение точек double stS=0,opS=0,stB=0,opB=0; if(ObjectsTotal(0,0,OBJ_TREND)>0) { stS=NormalizeDouble(ObjectGet("OrderS",OBJPROP_PRICE1)+5*Point,Digits-1); opS=NormalizeDouble(ObjectGet("OrderS",OBJPROP_PRICE2)-5*Point,Digits-1); stB=NormalizeDouble(ObjectGet("OrderB",OBJPROP_PRICE1)-5*Point,Digits-1); opB=NormalizeDouble(ObjectGet("OrderB",OBJPROP_PRICE2)+5*Point,Digits-1); } EAにポイントデータを要求するには? Mihail Matkovskij 2020.07.03 11:18 #11982 MakarFX:Program.mqhからデータを要求する方法を教えてください。このようなコードがあります。 EAにポイントデータを要求するには? どのチャートからもオブジェクトを取得するのに必要なのは、オブジェクト名とチャート識別子だけ です。 #property script_show_inputs //--- input parameters input long chartID = 0; input string name = "OrderS"; input int subwin = 0; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- double stS = 0, opS = 0, stB = 0, opB = 0; if(ObjectsTotal(chartID, subwin, OBJ_TREND) > 0) { stS = NormalizeDouble(ObjectGetDouble(chartID, name, OBJPROP_PRICE1) * Point, Digits); opS = NormalizeDouble(ObjectGetDouble(chartID, name, OBJPROP_PRICE2) * Point, Digits); stB = NormalizeDouble(ObjectGetDouble(chartID, name, OBJPROP_PRICE1) * Point, Digits); opB = NormalizeDouble(ObjectGetDouble(chartID, name, OBJPROP_PRICE2) * Point, Digits); Print("stS: ", stS, "; opS: ", opS, "; stB: ", stB, "; opB: ", opB, "."); } } このように、MQL4では、どのプログラムからでも、どのオブジェクトのデータでも取得することができます。 Документация по MQL5: Операции с графиками / ChartID www.mql5.com Операции с графиками / ChartID - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Tretyakov Rostyslav 2020.07.03 11:31 #11983 Mihail Matkovskij:どのチャートからもオブジェクトを取得するのに必要なのは、オブジェクト名とチャート識別子だけ です。このように、MQL4では、どのプログラムからでも、どのオブジェクトのデータでも取得することができます。 誤解しているようだが... 上記のコードは、ファイル Program.mqh =>OnTimerEvent にあります。 ポイントの値は定期的に更新され、Expert Advisorはこの値を受信する必要があります。 そこで、Program.mqhにデータを要求する方法について質問します。 void CProgram::OnTimerEvent(void) { CWndEvents::OnTimerEvent(); //--- Индикатор выполнения static int count1=0; //--- Пауза между обновлением элементов static int count2=0; if(count2<200) { count2+=TIMER_STEP_MSC; return; } //--- Обнулить счётчик count2=0; //--- Определение точек double stS=0,opS=0,stB=0,opB=0; if(ObjectsTotal(0,0,OBJ_TREND)>0) { stS=NormalizeDouble(ObjectGet("OrderS",OBJPROP_PRICE1)+5*Point,Digits-1); opS=NormalizeDouble(ObjectGet("OrderS",OBJPROP_PRICE2)-5*Point,Digits-1); stB=NormalizeDouble(ObjectGet("OrderB",OBJPROP_PRICE1)-5*Point,Digits-1); opB=NormalizeDouble(ObjectGet("OrderB",OBJPROP_PRICE2)+5*Point,Digits-1); } } Mihail Matkovskij 2020.07.03 11:37 #11984 MakarFX:あなたは私を誤解している...上記のコードは、Program.mqh =>OnTimerEvent の中にあります。ポイントの値は定期的に更新され、Expert Advisorはこれらの値を受信する必要があります。そこで質問ですが、Program.mqhからデータを要求するにはどうしたらよいのでしょうか? 変数を宣言することは誰にも止められない。 double stS = 0, opS = 0, stB = 0, opB = 0; を宣言し、Expert Advisor から問題なくアクセスできるようになりました。 MakarFX: 誤解しているようだが... もちろん、問題の説明がもっと充実していなければならないので、すぐには理解できなかった。理想的には、ソースコードを追加することが望ましい。 Tretyakov Rostyslav 2020.07.03 11:43 #11985 Mihail Matkovskij:Program.mqh ファイルはEAに接続されていますか?もしそうなら、誰もあなたが変数を宣言することを止めはしません。のグローバルスコープを使用し、Expert Advisorから問題なくアクセスすることができます。 Program.mqh ファイルが接続されました... では、グローバルに変数を宣言してみます。 Mihail Matkovskij 2020.07.03 11:46 #11986 MakarFX:Program.mqh ファイルが接続されました...ここで、変数を gobally に宣言してみます。 Edited:https://www.mql5.com/ru/forum/160683/page1199#comment_17172497 最初、私を混乱させたので... Tretyakov Rostyslav 2020.07.03 11:53 #11987 Mihail Matkovskij:変数を宣言することは誰にも止められない。を CProgram クラスのパブリックエリアに配置し、Expert Advisor から問題なくアクセスできるようにしました。 はたらかない //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick(void) { if (program.stS<0)::Print("ERROR"); } Mihail Matkovskij 2020.07.03 12:02 #11988 MakarFX:ノーマークCProgram クラスのソースコードまたはコードが必要です。そうでないと、うまくいきませんから...。こういう風に作れという意味です。class CProgram : ... { ... public: double stS, opS, stB, opB; ... 3人組は、あなたのクラスでは知らないことです :) Tretyakov Rostyslav 2020.07.03 12:20 #11989 Mihail Matkovskij:CProgram クラスのソースコードまたはコードが必要です。そうでないと、仕事にならないから...。こういう風に作れという意味です。 3つの点、それはあなたのクラスについて知らないことです :) ありがとうございます!!!うまくいった。 私は無意識のうちに public: double stS=0, opS=0, stB=0, opB=0; ゼロを取ったらうまくいった。 ありがとうございました。 Mihail Matkovskij 2020.07.03 12:37 #11990 MakarFX:ありがとうございます!!!すべてうまくいった。私は無意識のうちにゼロを取ったらうまくいった。ありがとうございました。 もうひとつ。初期化を行った方が良い。 CProgram::CProgram(): stS(0), opS(0), stB(0), opB(0) { ... } そうでない場合、OnTick()で読み込みを行うと、Expert Advisorはタイマーのティック前にランダムな データを変数で受け取る可能性があります。 1...119211931194119511961197119811991200120112021203120412051206...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
Program.mqhからデータを要求する方法を教えてください。
次のようなコードがあります。
EAにポイントデータを要求するには?Program.mqhからデータを要求する方法を教えてください。
このようなコードがあります。
EAにポイントデータを要求するには?どのチャートからもオブジェクトを取得するのに必要なのは、オブジェクト名とチャート識別子だけ です。
このように、MQL4では、どのプログラムからでも、どのオブジェクトのデータでも取得することができます。
どのチャートからもオブジェクトを取得するのに必要なのは、オブジェクト名とチャート識別子だけ です。
このように、MQL4では、どのプログラムからでも、どのオブジェクトのデータでも取得することができます。
誤解しているようだが...
上記のコードは、ファイル Program.mqh =>OnTimerEvent にあります。
ポイントの値は定期的に更新され、Expert Advisorはこの値を受信する必要があります。
そこで、Program.mqhにデータを要求する方法について質問します。
あなたは私を誤解している...
上記のコードは、Program.mqh =>OnTimerEvent の中にあります。
ポイントの値は定期的に更新され、Expert Advisorはこれらの値を受信する必要があります。
そこで質問ですが、Program.mqhからデータを要求するにはどうしたらよいのでしょうか?
変数を宣言することは誰にも止められない。
を宣言し、Expert Advisor から問題なくアクセスできるようになりました。
誤解しているようだが...
もちろん、問題の説明がもっと充実していなければならないので、すぐには理解できなかった。理想的には、ソースコードを追加することが望ましい。
Program.mqh ファイルはEAに接続されていますか?
もしそうなら、誰もあなたが変数を宣言することを止めはしません。
のグローバルスコープを使用し、Expert Advisorから問題なくアクセスすることができます。
Program.mqh ファイルが接続されました...
では、グローバルに変数を宣言してみます。
Program.mqh ファイルが接続されました...
ここで、変数を gobally に宣言してみます。
Edited:https://www.mql5.com/ru/forum/160683/page1199#comment_17172497 最初、私を混乱させたので...
変数を宣言することは誰にも止められない。
を CProgram クラスのパブリックエリアに配置し、Expert Advisor から問題なくアクセスできるようにしました。
はたらかない
ノーマーク
CProgram クラスのソースコードまたはコードが必要です。そうでないと、うまくいきませんから...。
こういう風に作れという意味です。
3人組は、あなたのクラスでは知らないことです :)CProgram クラスのソースコードまたはコードが必要です。そうでないと、仕事にならないから...。
こういう風に作れという意味です。
3つの点、それはあなたのクラスについて知らないことです :)ありがとうございます!!!うまくいった。
私は無意識のうちに
ゼロを取ったらうまくいった。
ありがとうございました。
ありがとうございます!!!すべてうまくいった。
私は無意識のうちに
ゼロを取ったらうまくいった。
ありがとうございました。
もうひとつ。初期化を行った方が良い。
そうでない場合、OnTick()で読み込みを行うと、Expert Advisorはタイマーのティック前にランダムな データを変数で受け取る可能性があります。