さようならロボット - こんにちはマラスムス - ページ 3

 

新しいビルドに切り替えることに不安はありましたが、すべてのインジケーター、EA、スクリプトがそのまま動作することがわかりました。ただし、コンパイルすると警告が出る。しかし、新しくコンパイルされたコードは、より高速に動作します。私が使っている新機能は、OnTimer()、ファイルを扱うための新しいオプション、インジケータバッファの数の増加、いくつかの新しい関数(その増加は時間の問題です)だけです。コード中の文字列表示で配列のオーバーランを制御することができ、非常に便利です。昔は、ゼロで割って、好きなところを見てください、という感じでした。また、エラーが発生しなければなおさらである。

"MQL4の新機能 "は、古いものを覚えている人向けに書くことができます。新人はもういないのか?

MQL4 Liteの説明をしたい場合、構造体、クラス、リソース、オブジェクトポインタ、OOP、デバッガ、シグナル、グラフィックイベント、この新しい知識を使用するすべての関数など、根本的に新しく、不要なものはドキュメントから除外してもかまいません。残されるものは、すべて旧来のMQL4とさほど変わらない複雑なものになるでしょう。新しいものに合わせてマニュアルを 少し修正すること、これはそのままにしています。

.

 

レナート 2014.09.09 02:55 #| 株式会社ゆめかな

もう一度理路整然と主張をし、機能の掛け算について説明し、古いコードを保存し、バグを修正する、などなど。これは何度も行われ、記事に記載され、フォーラムで議論されてきたことです。しかし、著者が絶対に間違っていて、何もないところから問題を作り出していると言う方が簡単で正確です。

レナートへの対応!

----------------------------------------------------------------

私のことを捏造しようとしてるのか!?

開発者であるあなたは、銀行に奉仕しているのです。

レースカーを作っているんだから。

ペダル式子供用自転車と一緒に!

だから、事実を伝えなければならないのです。

質問です。

User32. dllはどこ

を、インジケータであるeXpertからスクリプトを呼び出すための関数で表現しています。

すべてなくなりました!以下はその証拠です。

リンカ自身が有料でエーハートを作ってくれた。

を使用して、必要なときにスクリプトを呼び出すことができます。

現在は、スクリプトは手動で呼び出すだけです。

呼び出し自体が別のウィンドウに囲まれている-呼び出しを許可する

というウィンドウが表示されます。

マニュアル取引のみ可能です

ロボットは何をすべきなのか? そして、すべてのロボット作家は?

OOPやMT4の高速と言われる性能に反対しているわけではありません。

MT4を高速化したいのであれば、制限をかけたはずです。

5~6個使って、数百個のデートをゲット!

不要な記号はゴミになる。

と来るだけです!そこで、スピードとレスポンスの良さ

でも、銀行にとっては悪いことなんです!

パンサ

User32から関数を インポートする。もし、その目的がかなり即物的でないなら

// そのため、このようなドキュメントを作成することは、正直なところ、あまり意味がありません。 てをさしのべる が多い。必要なもの

// "DLLのインポートを許可する "をオンにする。

#import "user32.dll"

int RegisterWindowMessageA(string MessageName)。

int PostMessageA(int hwnd, int msg, int wparam, string Name);

void keybd_event(int VirtualKey, int ScanCode, int Flags, int ExtraInfo)。

#インポート

// これらの関数の hWnd パラメータはすべて WindowHandle() を使って取得されます。

// 例えば、EA/スクリプトは、以下のようにして自分自身のチャートのハンドルを取得することができます。

// WindowHandle(Symbol(), 0).EA/スクリプトが、他のチャート

// が開いている場合,そのハンドルは既知のシンボルと

// timeframe.のチャートが複数ある場合、動作が予測できない。

// 同じシンボルとタイムフレームを使用する。AutomaticallyAcceptDefaults はクリアされます。

// 新しいインジケータ/EA/スクリプトの設定ウィンドウをシミュレートしてください。

// 少し待った後、Enterキーを押す。長く待つと

// より堅牢であることが証明されました。どれも気の弱い人には無理だ...。

void StartStandardIndicator(int hWnd, string IndicatorName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA(")メタトレーダー4_Internal_Message」)。

PostMessageA(hWnd, MessageNumber, 13, IndicatorName)を実行します。

if (AutomaticallyAcceptDefaults) ClearConfigDialog();

}

void StartCustomIndicator(int hWnd, string IndicatorName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 15, IndicatorName)を実行します。

if (AutomaticallyAcceptDefaults) ClearConfigDialog();

}

void StartEA(int hWnd, string EAName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 14, EAName)を実行します。

if (AutomaticallyAcceptDefaults) ClearConfigDialog();

}

void StartScript(int hWnd, string ScriptName, bool AutomaticallyAcceptDefaults = false)

{

int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");

PostMessageA(hWnd, MessageNumber, 16, ScriptName)を実行します。

if (AutomaticallyAcceptDefaults) ClearConfigDialog();

}

void ClearConfigDialog()

{

Sleep(100)です。

keybd_event(13, 0, 0, 0);

}

 
pansa:

レナート 2014.09.09 02:55 #| 株式会社ゆめかな

もう一度理路整然と主張をし、機能の掛け算について説明し、古いコードを保存し、バグを修正する、などなど。これは何度も行われ、記事に記載され、フォーラムで議論されてきたことです。しかし、著者が絶対に間違っていて、何もないところから問題を作り出していると言う方が簡単で正確です。

レナートへの対応!

----------------------------------------------------------------

素で私の悪口を言っているのか!?

理解度が全く違うのに、なぜ褒めるのか?


user32.dllは、オペレーティングシステムのライブラリであるため、どこにも行きません。

A(nsi)関数の代わりにW(idechar/unicode)関数のバリエーションを使用します。

#import "user32.dll"

   int  RegisterWindowMessageW(string MessageName);
   int  PostMessageW(int hwnd, int msg, int wparam, string Name);

   void keybd_event(int VirtualKey, int ScanCode, int Flags, int ExtraInfo);

#import
 
マーケットウォッチウィンドウからシンボルを削除すると、そのシンボルからトラフィックが来なくなります。この仕組みは14年前から機能しています。
 

司会のレナーテさんへ!

理解度については、相対的なものです。

私は栄光の騎士ドン・キホーテと並んで、槍を携えています。

そして、私はその課題に取り組んでいます。

一方、あなたは、より高いレベルを満たす必要があります。

より高い要求を満たし、より高い製品を生産する。

より高い品質を実現します。

というのは、user32,dllはwindosを 指します。

AからWへというアドバイスも 効果 なし!?

eXpert!からスクリプトを実行してみてください。

文字を削除しても、CPUやネットワークの負荷に影響はありません。

画面呼び出しで、スレッドは同じです

ご賛同いただけると幸いです

パンザ

 

あなたもそうでしょう?

しかし、ここではプログラミングと、プログラマーが書いた プログラムの話をしているのです。使っているソースコードが理解できない場合は、学習する必要があります。私たちはそのために多くのことを行ってきました:広範なドキュメント、チュートリアル、記事、ソースベース、フリーランス、既製品のマーケットプレイス、シグナル、フォーラムなどです。

 
pansa:

スクリプト/インジケーター名の最初の文字の大文字と小文字を変えてみてください。なぜか私も苦労していたhttps://www.mql5.com/ru/forum/152533/page2#982156

P.S.: さて、文字列をchar[]に変更します。

 

Renat 様、私もEAをコンパイルした後、エラーは出ませんが、警告がたくさん出 ます。

質問があるのですが、これらの警告は何を意味しているのでしょうか(主に、return()行の前に出てきます)?また、Expert Advisorの動作に悪影響を与えないのでしょうか?

もちろん、また言語を勉強してEAを作り直したいとは思いません(私はトレーダーであって、プログラマーではありません)。

 
vasabu2012:

Renat 様、私もEAをコンパイルした後、エラーは出ませんが、警告がたくさん出 ます。

質問があるのですが、これらの警告は何を意味しているのでしょうか(主に、return()行の前に出てきます)?また、Expert Advisorの動作に悪影響を与えないのでしょうか?

もちろん、また言語を勉強してEAを作り直したいとは思いません(私はトレーダーであって、プログラマーではありません)。


エラー内容、またはエラーを起こしたExpert Advisorのコードを送ってください。
 
vasabu2012:

私も、EAをコンパイルした後、警告が大量に表示されましたが、エラーは出ませんでした。

そして、ほとんどのくだらない警告は、完全に合法的で正しく標準的な変数の関数への参照渡しが原因で、関数のテンプレート名と変数自体が標準的で典型的な使用法でこの構成にあるべきものと一致する場合、変数自体が自身の名前で関数に渡される場合です。

残念ながら、MCの方々は、「似たような名前があると、他の構成で誤解することがある」と、適切かつ論理的な説明をすることができませんでした。しかし、ここで矛盾が生じます。例えば、同じ名前でパラメータの数が異なる関数がある場合、警告はポップアップされません。

だから、この警告の背後にある論理はまったくないのに、宗教的な迷信や不明瞭な信念のせいとしなければならない。私はまだ、この現象を説明するためにスレッドの著者が提案したように、馬鹿のバージョンを考慮していない))。