エラー、バグ、質問 - ページ 2964 1...295729582959296029612962296329642965296629672968296929702971...3185 新しいコメント fxsaber 2021.02.18 12:05 #29631 Roman:構造体を単一の変数に置き換える )) 譲渡不可。 Roman 2021.02.18 12:12 #29632 fxsaber:転送されないんです。 Expert Advisorで関数をインポート したのを覚えていますか? 構造の例を更新したのですが、そこはあまり間違っていませんでした。 一般に、構造体を扱う場合は、構造体オブジェクトをどのように宣言するか、グローバルに、あるいはローカルに考える。 また、一つの変数に対しては、これらすべては不要で、ただ変数を返せばそれでよい。 Документация по MQL5: Основы языка / Препроцессор / Импорт функций (#import) www.mql5.com Импорт функций (#import) - Препроцессор - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2021.02.18 12:44 #29633 Roman:EAに関数をインポート したのを覚えていますか? アイデアのインジケーターやEAのソースコードを提供してもらえるかどうか? Roman 2021.02.18 14:31 #29634 fxsaber:アイデアのインジケーターやEAのソースコードを提供してもらえるかどうか? そう、不思議なんです。mql4で関数のエクスポートが なぜかうまくいかない。 ライブラリやインジケータから結果が得られない。しかし、依存関係にある関数を見たことがあります。 ライブラリの例 #property library #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict double value = 0.0; //+------------------------------------------------------------------+ //| My function | //+------------------------------------------------------------------+ double SetValue(double v) export { value = v; return(value); } //+------------------------------------------------------------------+ double GetValue(void) export { return(value); } //+------------------------------------------------------------------+ 値を設定するインジケータ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_separate_window #import "Lib.ex4" double SetValue(double v); double GetValue(void); #import MqlTick tick; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { Comment(""); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { SymbolInfoTick(NULL, tick); SetValue(tick.bid); //Comment((string)GetValue()); return(rates_total); } //+------------------------------------------------------------------+ 関数で値を取得するはずのExpert Advisorが動作しない #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #import "Lib.ex4" double GetValue(void); #import //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { EventSetMillisecondTimer(10); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { Comment(""); EventKillTimer(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { double bid = GetValue(); Comment("\r\nЭксперт получил значение из индикатора = "+(string)bid); //ChartRedraw(); } //+------------------------------------------------------------------+ Andrey Khatimlianskii 2021.02.18 15:51 #29635 fxsaber:Sparam contains MqlTick, lparam - tick number.私はこの方法でインジケータからティックを送信しています。Expert Advisorは、OnChartEventで これらのティックをキャッチします。そして、現在のティックが最も実際のものであるかどうかを理解する必要があるのでしょうか?すなわち、ティックのキューがあるのか、それとも空なのか?そのために、インジケータが送信した最新のティックの番号(タスクはこの番号を読み取ることです)を読み取ります。ティックが同じ番号であれば、キューは空で、ティックを使って作業を開始することができます。また、OnTickの動作中、OrderSendの後に、インジケータがさらにティックを送信したかどうかをチェックする必要があります。そのためには、再びインジケータから数値を読み取る必要があります。また、1つのOnTickの間に、このようなチェックが100以上行われることもあります。だからこそ、早く読むことが必要なのです。 Expert Advisor が CopyTicks を通してティックを取得する場合、なぜキューが空であることを知る必要があるのでしょうか。 各イベントを処理させ、すでに処理された時間より短いイベントはスキップさせる。 fxsaber 2021.02.18 16:09 #29636 Andrey Khatimlianskii:Expert Advisor がCopyTicks でティックを取得している場合、なぜキューが空であることを知る必要があるのでしょうか? トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 fxsaber, 2021.02.17 21:26 この問題に対する私の考えを教えてください(MT4)。 インジケータはどこかにint-numberを書かないといけない。そして、EAはそれを読まなければならない。 Mikhail Mishanin 2021.02.18 16:16 #29637 fxsaber: のようなものがあればいいのでしょうか? https://www.mql5.com/ru/code/818 File Mapping без DLL www.mql5.com Класс MQL5, который работает напрямую с маппингом, без использования самописной DLL. fxsaber 2021.02.18 16:20 #29638 Mikhail Mishanin:のようなものがあればいいのでしょうか?https://www.mql5.com/ru/code/818 手軽なWinAPIオプションは上記で提案 しました。 Andrei Trukhanovich 2021.02.18 16:27 #29639 fxsaber:手軽なWinAPIのバリエーションが上で提案 されています。 このオプションはより危険であり、実行が困難です。 fxsaber 2021.02.18 16:31 #29640 Andrei Trukhanovich:このオプションはより危険であり、実行が困難です。 これを待って いる。 1...295729582959296029612962296329642965296629672968296929702971...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
構造体を単一の変数に置き換える ))
譲渡不可。
転送されないんです。
Expert Advisorで関数をインポート したのを覚えていますか?
構造の例を更新したのですが、そこはあまり間違っていませんでした。
一般に、構造体を扱う場合は、構造体オブジェクトをどのように宣言するか、グローバルに、あるいはローカルに考える。
また、一つの変数に対しては、これらすべては不要で、ただ変数を返せばそれでよい。
EAに関数をインポート したのを覚えていますか?
アイデアのインジケーターやEAのソースコードを提供してもらえるかどうか?
アイデアのインジケーターやEAのソースコードを提供してもらえるかどうか?
そう、不思議なんです。mql4で関数のエクスポートが なぜかうまくいかない。
ライブラリやインジケータから結果が得られない。しかし、依存関係にある関数を見たことがあります。
ライブラリの例
値を設定するインジケータ
関数で値を取得するはずのExpert Advisorが動作しない
Sparam contains MqlTick, lparam - tick number.私はこの方法でインジケータからティックを送信しています。
Expert Advisorは、OnChartEventで これらのティックをキャッチします。そして、現在のティックが最も実際のものであるかどうかを理解する必要があるのでしょうか?すなわち、ティックのキューがあるのか、それとも空なのか?
そのために、インジケータが送信した最新のティックの番号(タスクはこの番号を読み取ることです)を読み取ります。ティックが同じ番号であれば、キューは空で、ティックを使って作業を開始することができます。
また、OnTickの動作中、OrderSendの後に、インジケータがさらにティックを送信したかどうかをチェックする必要があります。そのためには、再びインジケータから数値を読み取る必要があります。また、1つのOnTickの間に、このようなチェックが100以上行われることもあります。だからこそ、早く読むことが必要なのです。
Expert Advisor が CopyTicks を通してティックを取得する場合、なぜキューが空であることを知る必要があるのでしょうか。
各イベントを処理させ、すでに処理された時間より短いイベントはスキップさせる。
Expert Advisor がCopyTicks でティックを取得している場合、なぜキューが空であることを知る必要があるのでしょうか?
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
fxsaber, 2021.02.17 21:26
この問題に対する私の考えを教えてください(MT4)。
のようなものがあればいいのでしょうか?
https://www.mql5.com/ru/code/818
のようなものがあればいいのでしょうか?
https://www.mql5.com/ru/code/818
手軽なWinAPIオプションは上記で提案 しました。
手軽なWinAPIのバリエーションが上で提案 されています。
このオプションはより危険であり、実行が困難です。
このオプションはより危険であり、実行が困難です。
これを待って いる。