私のアプローチコアはエンジンです。 - ページ 158

 
Artyom Trishkin:

待ってください。と書いていますね。

では、誰がどのような軍隊を持っているのでしょうか?

まあ、「お利口さん」に対するあなたの無礼は、あなたがロシア語をあまり話せず、相手に対する蔑称・見下しという意味であることを理解していないからだと思うことにします。

なぜ、ユーモアのセンスを失ってしまったのか?

 
Vasiliy Sokolov:

残念ながら、そうです。根本的に異なる2つのシステム間のコールバック・インターフェースは不可能である。

実は、この質問はほとんど修辞的なものだった)

IMHOは、NET互換が追加されたので、ターミナルにコールバックを追加する必要があります。少なくとも1つ) 少なくとも、イベントを端末のキューに押し込むこと。

 
Artyom Trishkin:

タイマーを経由する場合、テスターでの作業はどのように行うのでしょうか?クロスプラットフォームコードをやってるんじゃなかったっけ?

アルチョム どんな質問ですか? タイマーが使えないと、他からエミュレートして...。

というのも、常に「戦闘ロボット」の中にある、EventSetTimer:-)

ps/ 軍国主義的なテーマには、何か惹きつけられるものがある。司令塔、戦闘ロボット...。"ギャラクテコ・デンジャー"

 
Dmitriy Skub:

実は、この質問はほとんど修辞的なものだった)

IMHOでは、NETとの互換性が加わったことで、ターミナルにコールバックを追加する必要性が強くなっています。少なくとも1つ)少なくとも、イベントを端末のキューに押し込む。

MT5でイベントをキャッチできない、Spy++がなぜかチャートイベントを見れない。 Windows標準のイベントではなく、自作クラスやイベントモデルが使われているようだ。

私もOnTimerを使っているので、現在のPCの速度では欲張りすぎかもしれませんが、リクエストで最小限のデータパケットを受け取るようにしています)))。

アルチョム・トリシキン

タイマーを経由する場合、テスターではどのように作業する予定ですか?クロスプラットフォームのコードを作るって言ってたよね?

МТ5を使おうとしたとき、C#で書くのは本当に楽しかったです。.dllを呼び出してすぐにフォームを起動し、すべてのグラフィックを別のスレッド(Thread)に置くだけで、その後はC#とМТ5間のデータ交換をするだけで、ボタンのあるグラフィックフォームは通常のウィドウアプリケーションとして動作します。МТ5からの要求は、以前にクリックした要素の状態を受け取るだけで何のブレーキもありませんし、これからそうなることもありません;)

 
Maxim Kuznetsov:

Artyomさん、どんな質問をされているのですか? タイマーが動かないということは、他からエミュレートしているのでは...?

これは、「戦闘ロボット」でも常にそうです。)

ps/ 軍国主義的なテーマには、何か惹きつけられるものがある。司令塔、戦闘ロボット...。"ギャラクテコ・デンジャー"

まあ...バシリにどうやるのか聞きたかったんだ。昔、自分で作ったものと比較するために(もちろん、ヴァシルのアドバイスがないわけではありませんが)

 
Igor Makanu:

MT5でイベントの捕捉に失敗しました。なぜかSpy++はチャートイベントを見ません。MT4では問題なくWidowsイベントを送信できましたが、自作のクラスとイベントモデルが使用されているようです。

私もOnTimerを使っているので、現在のPCの速度では欲張りすぎかもしれませんが、リクエストで最小限のデータパケットを受け取るようにしています)))。

MT5でOnTimerを使ってみたところ、テスターのタイマーは問題なく生成され、C#で書くのが本当に楽しくなりました。.dllを呼び出してすぐにフォームを開始し、すべてのグラフィックを別のスレッド(Thread)に置くと、その後はC#とMT5間のデータ交換で作業するだけで、ボタン付きのグラフィックフォームは通常のWindowsアプリケーションとして単独で機能し、MT5からのリクエストは先にクリックした要素の状態を受け取るだけなので何も遅くなることはない;)。

テスターのタイマーを使って5回でやりました。単純な使い方(ミリ秒のマルチタイマー)でも、テスターの深刻なスローダウンにつながるのです。したがって、単にビジュアライザーのタイマーを拒否する - それはティックに動作するように同じことです。タイマによるモデルとOnTick()によるフラグイベントによるモデルの2つを作成。リアルタイムではタイマーで、ビジュアライザーでは刻みで。

嘘 - 3つのモデル - OnChartEvent()を通して - そこでもリアルタイムのみ。

 
Igor Makanu:

MT5でイベントの取得に失敗しました。なぜかSpy++はチャートイベントを見る ことができません。MT4では問題なくWidowsイベントを送ることができましたが、自作のクラスとイベントモデルが使用されているようです。

私もOnTimerを使っているので、現在のPCの速度では欲張りすぎかもしれませんが、リクエストで最小限のデータパケットを受け取るようにしています)))。

MT5でOnTimerを使おうとしたところ、テスターのタイマーは問題なく生成され、C#でコードを書くのが楽しくなりました。.dllを呼び出し、すぐにフォームと別スレッド(Thread)のすべてのグラフィックスを開始し、それがすべてです。)

MQLレベルのModelなどもシャーペイで作ってくれたら最高です。そうすると、ロジックは別、ビューは別ということになります。フロントエンドはデザインやユーザビリティを扱うもので、トレーディングのバックエンドを扱うものではありません。フォーム上のボタンの構成を変更したり、フォームを2つまたは3つに分割しても、Expert Advisorのアルゴリズムに何ら影響を与えないはずです。

 
Vasiliy Sokolov:

Peter もしよろしければ、.Netのライブラリとの統合という新しい機能を使って、MQLでグラフィカルなアプリケーションをかなり簡単に作ることができるという記事を用意します。タイトルは「VisualStudioで.Net FrameworkとC#をベースにしたトレーディングエキスパートのためのカスタムフォームを作成する」となります。

あなたのアプローチとアイデアに、私は勇気づけられました。Expert Advisorのグラフィックフォームを、基本的なプログラミングスキルだけで、すばやく簡単に作成できないかと考えました。実験をしたところ、可能であることが判明しましたこんなフォームができました。

このアイデアは、ユーザーが VisualStudio エディターで必要なフォームを描き、このウィンドウと MQL コードの統合に必要な作業はすべて、舞台裏で自動モードで行われるというものでした。そのためには、C#のコントローラ、つまりカーネルのアナログのようなものを書かなければなりませんが、200行ほどのコードで済みます。

その仕組みは、私が始めた記事で読むことができます。

それだ、ヴァシリイ!カーネルを釜で覆ったんだ。

 
Dmitry Fedoseev:

それだ、ヴァシリー、お前は釜をかぶったんだ。

概ねこのような結末になると予想されますが、まだ具体的な記事はありません......。

カーネルエンジンの前にそういう記事が出る可能性は99%ないとは言えませんが。ピーターは残りのパーセンテージを守る必要がある。

 
Artyom Trishkin:

テスターのタイマーを介して5で行いました。それを使うだけでも(しかもミリ秒のマルチタイマー)、テスターの速度が著しく低下したのです。したがって、単にビジュアライザーのタイマーを拒否する - それはティックに動作するように同じことです。タイマによるモデルとOnTick()によるフラグイベントによるモデルの2つを作成。リアルタイムではタイマーで、レンダラーではティック(刻み)で。

ZS.私は嘘 - 3モデル - もOnChartEvent()を介して - そこも、唯一のリアルタイム。

デザインはまだ決めていません。テスターで問題なく動くことを確認しました。#defineコードで助けてくれた@fxsaberに 感謝します。インジェクタを接続すると自動的にOnTick(), OnTimer()ハンドラを追加します...。Expert Advisorの任意のセクションで必要な呼び出しを行うことができます。

タイマーをよく使うのですが、400msで、.NETからしか通話ができません。dll 2配列int 10-ele-vと2 int(どのように多くのボタンとどのように多くのチェックボックス、配列のような次元)、そこ単に物理的に遅くすることはできません、ボタンがクリックされた場合にも配列に書き込み、私はボタンを送信int番号で、配列が原則として必要ありません、予防措置としてユーザーが神経衰弱とそれが速く0.5秒よりもボタンを打つ場合)))

TSの構築に関してはグラフィックは必要ない、TSのデバッグや可視化に関してはテスターのスピードは必要ない、というようにタスクが違うんでしょうね ;)


マキシム・クズネツォフ

MQLレベルのModelも作って、あとはSharpayで作ってくれたら最高ですね。そうすると、ロジックは別、ビューは別ということになります。フロントエンドはデザインやユーザビリティを扱うもので、取引のバックエンドには関与しない。フォーム上のボタンの構成を変更したり、フォームを2つまたは3つに分割しても、Expert Advisorのアルゴリズムには影響がないはずです。

ナイスポストとして残しておきます!と説明書きに書いて、パブリックコメントを熟していれば

理由: