#property copyright "hoz"#property link ""#include <hoz_Base@Include.mqh>#include <hoz_Base@ListOfFunc.mqh>#include <hoz_MakeListOfInstruments@Include.mqh>#include <hoz_MakeListOfInstruments@ListOfFunc.mqh>
私が持っている各図書館。
1. Includnik(使用される変数のリストが含まれています。
2. インポートされた機能が一覧表示されるインクルードニック。
3.機能を持ったライブラリそのもの。
それでは、取引される 商品を扱うためのライブラリを例に、その方法を説明しましょう。
1.宣言された変数を含む。
//+---------------------------------------------------------------------------------------------------------------------------------------+//| hoz_MakeListOfInstruments@Include.mqh |//| hoz |//| |//+---------------------------------------------------------------------------------------------------------------------------------------+#property copyright "hoz"#property link ""//+---------------------------------------------------------------------------------------------------------------------------------------+//| ЗАГОЛОВОЧНЫЙ ФАЙЛ ДЛЯ БИБЛИОТЕКИ hoz_MakeListOfInstruments@library. |//+---------------------------------------------------------------------------------------------------------------------------------------+// ===================================================== Внешние параметры библиотеки ==================================================+externstring Make_List_Of_Symbols = " ______ Make List Of Symbols ______ ";
externstring i_ListOfWorkingSymbol = ""; // Список рабочих инструментовexternstring i_BASECurrencyList = "USD,EUR,JPY,CHF,GBP,CAD,AUD";
externstring i_BADCurrencyList = "NZD";
externint i_MAXSpread = 50; // MAX spread//+=======================================================================================================================================+// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ |//+=======================================================================================================================================+string bs_LibName = "hoz_MakeListOfInstruments@Library";
int bi_CntOfSMB; // Количество рабочих инструментовstring bsa_WorkingSMB[]; // Массив рабочих инструментов
2.図書館そのものです。
//+---------------------------------------------------------------------------------------------------------------------------------------+//| hoz_MakeListOfInstruments@Library.mq4 |//| hoz |//| |//+---------------------------------------------------------------------------------------------------------------------------------------+#property copyright "hoz"#property link ""#property library//+=======================================================================================================================================+//| БИБЛИОТЕКА СОЗДАНИЯ СПИСКА ТОРГУЕМЫХ ИНСТРУМЕНТОВ |//+=======================================================================================================================================+// ================================================== Включения и импорт внешних модулей =================================================+#include <hoz_Base@Include.mqh>#include <hoz_MakeListOfInstruments@Include.mqh>#import "hoz_Base@Library@ex4"string fCreat_StrFromArray (string fsa_Array[], string fs_Delimiter = ",");
int fGet_StrArrayFromLine (string fs_List, string& fsa_OUT[], string fs_Delimiter = ",");
void fInitializeArray_STR (string& fsa_Array[], string fs_Value = "");
#import//+---#import "hoz_LoggingToAnyWere@library.ex4"void fPrint (string fs_Text);
#import//+---#import "hoz_HandlingWithErrorS@library.ex4"string fErrorToString (int fi_Error);
#import//+=======================================================================================================================================+//=================================================== Перечень функций библиотеки ====================================================|//+=======================================================================================================================================+//+---------------------------------------------------------------------------------------------------------------------------------------+//| 0.0 Инициализация модуля. |//+--- Функции модуля. ------------------------------------------------------------------------------------------------------------------+//| 1.1 Создаём список рабочих инструментов и заносим их в массив. |//| 1.2 Функция возвращает список доступных символов. |//| 1.3 Проверяем на котируемость у ДЦ введённых символов. |//| 1.4 Проверка переданных в функцию внешних параметров. |//+---------------------------------------------------------------------------------------------------------------------------------------+//+=======================================================================================================================================+//| ИНИЦИАЛИЗАЦИЯ МОДУЛЯ. |//+=======================================================================================================================================+void fInitListOfInstrumentsMaking()
{
//---- Создаём список рабочих инструментов и заносим их в массив
bi_CntOfSMB = fCreat_WorkingSymbolsArray (bsa_WorkingSMB, i_ListOfWorkingSymbol, i_BASECurrencyList, i_BADCurrencyList, i_MAXSpread);
//---- Заново создаём список рабочих инструментов
bs_SymbolList = fCreat_StrFromArray (bsa_WorkingSMB, ",");
Print (bi_CntOfSMB, " : ", bs_SymbolList);
//---- Производим проверку передаваемых в библиотеку значенийif (!fCheck_ExternParameters())
{
Alert ("Проверьте параметры библиотеки hoz_MakeListOfInstruments !!!");
return;
}
//---- Контролируем возможные ошибки
fPrint (StringConcatenate ("fCheck_ExternParameters => ", fErrorToString (bi_Err)));
//----
}
/*
ДРУГИЕ ФУНКЦИИ...
*/// 1.4 Проверка переданных в функцию внешних параметров. ==================================================================================bool fCheck_ExternParameters()
{
bi_Err = -1;
//----if (i_MAXSpread < 0)
{
Print ("Поставьте MAX_Spread >= 0 !!!");
return (false);
}
//---- Контролируем возможные ошибки
fPrint (StringConcatenate ("fCheck_ExternParameters => ", fErrorToString (bi_Err)));
//----return (true);
}
3.インポートする関数の一覧です。
//+---------------------------------------------------------------------------------------------------------------------------------------+//| hoz_MakeListOfInstruments@ListOfFunc.mqh |//| hoz |//| |//+---------------------------------------------------------------------------------------------------------------------------------------+#property copyright "hoz"#property link ""//+---------------------------------------------------------------------------------------------------------------------------------------+//| Список функций библиотеки hoz_MakeListOfInstruments@Library.ex4 |//+---------------------------------------------------------------------------------------------------------------------------------------+#import "hoz_MakeListOfInstruments@Library.ex4"void fInitListOfInstrumentsMaking();
int fCreat_WorkingSymbolsArray (string& fsa_SMB[], string fs_ListOfWorkingSymbol, string fs_BaseCurrency, string fs_BadCurrency, int fi_MAXspread = 0, string fs_Delimiter = ",");
int fListOfSymbols (string& fs_Symbols[], bool fb_Looking);
int fCheck_PresenceSMBInMarket (string& fsa_WorkingSMB[]);
bool fCheck_ExternParameters();
#import
皆さん、ヒントを教えてください。かなり複雑なインジケータを持っているのですが、例えばインジケータのグローバル変数を使ってExpert Advisorにシグナルを送って取引することは可能でしょうか?それとも、インジケータをボーン単位で分解し、Expert Advisorのコードに貼り付けるべきでしょうか?
私は具体的な質問をしたのであって、出口を聞いたわけではありません :) 私は自分の状況の出口を知っているので、興味があります - それは私一人にとっても同じかどうか。もし私だけがそうなら、ブラウザで問題を探し、私だけがそうでないなら、問題を探す必要はなく、すべてが以前と同じように機能する。
ブラウザは関係ない。ブラウザは、リソースがどのように見えるかにのみ影響します。検索の仕方は、ブラウザとは無関係です。
mql4.comとかみんな検索しなくなったのは私だけでしょうか?例えば、Documentationから検索機能を打ち込むと、以前はうまくいったのに、何も見つからなかったという答えが返ってきます。
はい、検索がうまくいかないと、皆さんから問い合わせがありました。またやってしまった。結果は出ていません。ブラウザーは関係ありません。何かと物入りなんです。
読み込まれていないほうの関数を呼び出してみてください。すぐに読み込むことができます。
その仕組みについて ご紹介します。
このトピックに関しては、mq4プログラム実行時に、関数のインポートにレイトバインディングを使用するとしか書かれていません。適切なライブラリから適切な関数が呼び出されるまで、このライブラリはロードさ れないと説明されている。ここではすべてがクリアになる。
しかし、やはり、なぜEAの冒頭で関数を呼び出すのでしょうか?何が言いたいのか?ライブラリから関数を呼び出したことはないのですが、なぜか2つのライブラリが奇跡的に読み込まれます。
これがフクロウの始まりです。
私が持っている各図書館。
1. Includnik(使用される変数のリストが含まれています。
2. インポートされた機能が一覧表示されるインクルードニック。
3.機能を持ったライブラリそのもの。
それでは、取引される 商品を扱うためのライブラリを例に、その方法を説明しましょう。
1.宣言された変数を含む。
2.図書館そのものです。
3.インポートする関数の一覧です。
ライブラリをインポートする際に判明したこと。
#include <hoz_MakeListOfInstruments@ListOfFunc.mqh>
関数をロードして、ライブラリ自体を呼び出す必要がありますね。
ちゃんと構成したつもりなんだけどな?
もちろん、そうでしょう!?全部出してみようと思ったんだ?印象づけようとしてるみたいで :-)
では、なぜ去勢したのか。すべてがうまくいく。MT4を制御するクラスまで。ただ、授業はありません。
ライブラリ(DLL)は、クラスメソッドのラッパーです。クラスを使用するために必要ではありません。
====================
また妄想が...。被虐待児の立場。おもちゃをくれなかったね。今は私が悪者です。言ったでしょ、押し付けじゃないんです。与えることより、与えないことのほうが簡単なんです。より快適になりました。責任が軽い。ありのままを受け止めてください。
それだけに、なおさらだ。
なぜ、私たちのこのような対話が必要なのでしょうか?あ、スイッチ入っちゃいました。で、こういうソースはいらないって公言してからスイッチ入ったんだろ?私には必要ない、価値を見いだせない、ヴァディミさんにとって大きな誇りである、ただそれだけだ。もう一度念を押しておきますが、しがみついてるのがおかしいだけですよ・・・。それを旗のように頭上に掲げているのです。
なぜ、私たちのこのような対話が必要なのでしょうか?
なんとも興味深い質問ですね。私があなたの情報源を必要としていると?
私は誰にも悪気はないんです。大丈夫です。
デミは私を表に出し続け...:-))
繰り返される -彼の私に対するすべてのファンタジーに同意する。でも、彼はやめない。
誰にでも、あらゆるファンタジーを楽しむ権利があります。
これは最も衝撃的なことです。ヴァディム純子は、他人のファンタジーを非難するのです。本当は年代物の価値があるのですが、誰もがこのテーマに沿っているわけではなく、冗談が通じるわけでもありません。歴史に名を残すだけでなく、花崗岩に刻まれるにふさわしい。