Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах показать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Демонстрация будет на примере Visual...
for (z=OrdersTotal()-1; z>=0; z --)
{
OrderSelect (z, SELECT_BY_POS);
if (OrderSymbol()!=Symbol()) continue;
if (OrderMagicNumber()!=MAGIC) continue;
if(OrderType()==OP_BUY) CloseBUY();
}
これは間違いであり、他の例も同様です。
1.2356にストップを置き、新しいティックで再び1.2356にストップを置くと、エラー1が表示されます。
これは第1ブロックのものです。変更したが、エラーは残った。この停止条件は、EAが不必要なパスをしないようにするために実施したものです。そして新しいティックでは、EAは同じストップを再び設定しません。この条件の後、私は他の条件、例えばストップが設定したい値と等しいかどうかをチェックするからです。
これは第1ブロックのものです。変更したのですが、エラーが出たままです。この条件は、EAが無駄なパスをしないように、ストップで作りました。そして、新しいティックでは、EAは同じストップを再び置くことはありません - この条件がチェックされた後、他のもの、例えば、ストップが設定される値と等しい場合ので
オールオーダー......。() は正規化する必要があります
オールオーダー......。()は正規化する必要があります。
私もそうしました。でも、それも効果がありませんでした。同時に、以前のようにテスターでこのエラーが発生しないのに、MQLはなぜかこのエラーを見つけるのです
テキストファイルを他の端末から読み込めるように保存するには、どのようなパスを使用すればよいですか?
enum_terminal_info_string
識別子
商品説明
物件タイプ
端末言語
端末言語
列
端末会社
会社名
列
TERMINAL_NAME
端子名
列
TERMINAL_PATH
端末が動作しているフォルダ
列
端末データパス
端末のデータが保存されているフォルダ
列
端末のコモンドデータパス
コンピュータにインストールされているすべてのクライアント端末の共有フォルダ
列
ありがとう ございます。
https://www.mql5.com/ru/forum/160683/page833#comment_11584454 問題解決に貢献できるのは誰ですか?
は、記事から1対1の例を行うhttps://www.mql5.com/ru/articles/18
記事中のコードはmt4で100%動作します、今年の1月に確認しました。
または、64ビットDLL用にコンパイルされたプロジェクトがあり、MT4ターミナルが32ビットである場合、32ビット.DLL用にプロジェクトを構成してコンパイルする必要があります。
フォーラムユーザーの皆様、こんにちは。
どのような場合にコードが正しく書かれていて、どのような場合に正しく書かれていないのか、その理由を教えてください(以下参照)。
可能であれば、より詳細に。ありがとうございます。
フォーラムユーザーの皆様、こんにちは。
どのような場合にコードが正しく書かれていて、どのような場合に正しく書かれていないのか、その理由を教えてください(以下参照)。
可能であれば、より詳細に。ありがとうございます。
最初のケースでは、コンパイラが「OrderSelectの結果を 確認する必要があります」とハイライトしてくれます;-)。
最初の1つのために変更する場合 if (!OrderSelect(...)) continue; オプションは同じです。
最初のものは視覚的に直線的なコードで、2番目のものは階段のように見えます。私は最初の方法を好みます。読みやすく、一般に、深い論理的なタブ{{{ }}の出現は、何かを変更する時期であることを示唆します:-)。