効果的なアドバイザーの書き方 - ページ 6 12345678910111213...41 新しいコメント Vitaly Murlenko 2021.11.16 03:18 #51 Vladimir Baskakov #: 0になることは既に分かっているはずだ。そうでないなら、このスレッドを作成することもないだろう。 他に理由はないのでしょうか? 要するに、くだらないおしゃべりにうんざりしているのだ。EAの話題以外で対話を続けるのであれば、あなたの書き込みは無視します。 あなたの予測は、すでに取引ロボットの有効性と矛盾しているので、おもしろくありません。私のビデオでは、利益を得るために、トレンドラインを管理する方法を紹介しています。覚えられなければ、使いこなせない。まるで楽器を演奏しているような感覚です。マスターである私は、この楽器の良さを主張します。私は15年以上FXのプログラミングをやっているからわかるんです。道具を渡したのは私です。使いこなすことができるようになるかというと、そうではありません。 そしてもうひとつ、ビデオで使ったツールはレイとは呼ばず、トレンドラインと呼びます。レイはこのツールのPARAMETERであり、希望によりオフにすることができます。 それで終わりです。これ以上、根拠のない予想には触れたくありません。 削除済み 2021.11.16 03:21 #52 Vitaly Murlenko #:他に理由はないのでしょうか?要するに、くだらないおしゃべりにうんざりしているのだ。EAの話題以外を話し続けるなら、あなたの書き込みは無視します。あなたの予測は、すでに取引ロボットの有効性と矛盾しているので、おもしろくありません。私のビデオでは、利益を得るために、トレンドラインを管理する方法を紹介しています。覚えられなければ、使いこなせない。まるで楽器を演奏しているような感覚です。マスターである私は、この楽器の良さを主張します。私は15年以上FXのプログラミングをやっているからわかるんです。道具を渡したのは私です。使いこなすことができるようになるかというと、そうではありません。そしてもうひとつ、ビデオで使ったツールはレイとは呼ばず、トレンドラインと呼びます。レイはこのツールのPARAMETERであり、希望によりオフにすることができます。それで終わりです。これ以上、根拠のない予想には触れたくありません。 どこの国?赤いローソク足と青いローソク足の本数を比較することは、トレンドの定義にはならない Vitaly Murlenko 2021.11.16 03:30 #53 Vladimir Baskakov #: どこの国? 赤いローソク足と青いローソク足の本数を比較することは、トレンド検出にはならない でも、実際の "ライブ "状態での中間結果をお見せしましょう。以下はスクリーンショットです。 お金は昨日の15時に入りました。ゼロだったのです(ここは私の言葉を信じてください)。 これがその状態です。 Vitaly Murlenko 2021.11.16 03:31 #54 この状態は、アナリティクスに役立つのでしょうか? 削除済み 2021.11.16 03:36 #55 Vitaly Murlenko #: この状態は、解析に役立つのでしょうか? これがステートです。ところで、トレンドの継続が50/50で逆転する可能性が高いのに、なぜわざわざトレンドを探すのか ファイル: Screenshot_2021-11-16-05-34-04-290_net.metaquotes.metatrader4.jpg 194 kb MrBrooklin 2021.11.16 03:50 #56 Vitaly Murlenko #:Expert Advisor(ファイル Binarnic_1.0.mq4) とビデオで使用したスクリプト(ファイル Script_0.mq4) を投稿に添付しています。誤解を避けるために、まずビデオをご覧ください。ヘッドホンで動画を見たのですが、音は問題ないようです。YouTubeで使いたかったのですが、googleがそこのセキュリティで何かやらかしたのか、携帯では理解すらできませんでした。とりあえず、クラウド上のmyl-ruにアップロードしてみました。ただ、このサーバーのビューワーは明らかに品質に問題があるので、ダウンロードしてください。ファイル形式はmp4です。ファイルサイズは252メガバイトです。ダウンロードはこちら:https://cloud.mail.ru/public/Ewoq/ymNxHFJ2Z 皆さん、おはようございます!ご機嫌いかがでしょうか? Vitaliyさん、あなたのExpert AdvisorのコードはMT4用だけですか、それともMT5用もあるのでしょうか?4については、私はMQL5のプログラミング言語を短期間独学で勉強したことがあるため、ほとんど何も追加することができません。残念! ウラジミールさん、ありがとうございます。 Georgiy Merts 2021.11.16 04:25 #57 MrBrooklin #:皆さん、おはようございます!ご機嫌いかがでしょうか?Vitaliy、あなたのExpert AdvisorのコードはMT4用だけですか、それともMT5用のバージョンもありますか?4については、私はMQL5のプログラミング言語を短期間独学で勉強したことがあるため、わかりません。残念!ウラジミールさん、よろしくお願いします。 MQL4はMQL5と変わりません。唯一の違いは、データへのアクセスと取引機能です。これらすべてを共通の仮想インターフェイスを持つクラスで「包む」ことで、何の変更もなく両方のケースでコンパイル可能な移植性の高いコードができあがります。 Aliaksandr Hryshyn 2021.11.16 04:35 #58 Georgiy Merts #:MQL4はMQL5と変わりません。唯一の違いは、データへのアクセスと取引機能です。これらすべてを共通の仮想インターフェイスを持つクラスで「包む」ことで、あちこちで変更なしにコンパイルできるポータブルなコードができあがります。https://www.mql5.com/ru/docs/basis/preprosessor/conditional_compilation PapaYozh 2021.11.16 04:38 #59 Georgiy Merts #:違いは、データアクセスと取引機能だけです。 それだけではありません。 Georgiy Merts 2021.11.16 04:46 #60 Aliaksandr Hryshyn #: https://www.mql5.com/ru/docs/basis/preprosessor/conditional_compilation その通りです。 条件付きコンパイルディレクティブを使うだけでこれらのディレクティブはすべて実際のクラス内部で動作します。取引アクションのための仮想ユニバーサルインターフェースを開発し、実装クラスでは条件付きコンパイルを用いてMQL4-MQL5の分岐を分離しています。そして、取引を行うオブジェクトを作成し、仮想インターフェイスを使ってアクセスするだけです。そして、一般的には、プラットフォーム間のさまざまな違いを忘れてしまっているのです。 例えば、ここに私のトレーディングプロセッサーの仮想インターフェースがあるとします。 // СTradeProcessorI - интерфейс торгового процессора #include <MyLib\Common\MyObject.mqh> #include <MyLib\Common\CurSymEnum.mq5> class CTradePosComponentI; class COrderInfoCore; class CTradeProcessorI : public CMyObject { public: void CTradeProcessorI() { SetMyObjectType(MOT_TRADE_PROCESSOR_I); }; virtual void ~CTradeProcessorI() {}; // Настроечный интерфейс virtual void SetSlippage(uint uiSlippage) = 0; // Торговый интерфейс // Все функции возвращают код возврата торгового сервера virtual int Buy(long & lTicket,ECurrencySymbol csSymbol,double dVolume,double dTP=0,double dSL=0,ulong ulMagic = 0,string strComment = NULL) = 0; // Всегда по цене Ask, если успешно - возвращается lTicket virtual int Sell(long & lTicket,ECurrencySymbol csSymbol,double dVolume,double dTP=0,double dSL=0,ulong ulMagic = 0,string strComment = NULL) = 0; // Всегда по цене Bid, если успешно - возвращается lTicket virtual int ModifyTPSL(CTradePosComponentI* ptpcComponent,double dTP=0,double dSL=0) = 0; virtual int ModifyTPSL(long lTPCTicket,double dTP=0,double dSL=0) = 0; virtual int CloseTradeComponent(CTradePosComponentI* ptpcComponent,double dCloseVolume=EMPTY_VALUE) = 0; // dCloseVolume - закрываемый объем. Если равен EMPTY_VALUE или равен или больше, чем объем торговой компоненты с указанным тикетом - закрывается вся торговая компонента. virtual int CloseTradeComponent(long lTPCTicket,double dCloseVolume=EMPTY_VALUE) = 0; // dCloseVolume - закрываемый объем. Если равен EMPTY_VALUE или равен или больше, чем объем торговой компоненты с указанным тикетом - закрывается вся торговая компонента. virtual int PendingSet(long & lTicket,ECurrencySymbol csSymbol,ENUM_ORDER_TYPE otOrderType,double dSetPrice,double dVolume,double dTP=0,double dSL=0,ulong ulMagic = 0,string strComment = NULL) = 0; // если успешно - возвращается lTicket virtual int PendingDelete(long lTicket) = 0; virtual int PendingDelete(COrderInfoCore* poiOrder) = 0; virtual int PendingModify(long lTicket,double dSetPrice,double dTP=0,double dSL=0) = 0; virtual int PendingModify(COrderInfoCore* poiOrder,double dSetPrice,double dTP=0,double dSL=0) = 0; // Проверка кода возврата virtual bool TradeOperationWasSuccessful(int iTradeResCode) const = 0; // Если функция возвращает true, то при возникновении пользовательских ошибок (iTradeResCode > ERR_USER_ERROR_FIRST) советник прекратит работу // В случае false - работа будет продолжена virtual bool IsUserErrorsFalal() const = 0; }; すべての機能は仮想的であり、プラットフォームに完全に依存しない。MT4の個別注文またはMT5のシンボルのオープンポジションを表す「取引コンポーネント」というプラットフォームに依存しない概念を導入しています。そして、私たちが取り組んでいるのは、このようなトレーディングの要素なのです。 このインタフェースを実装した実際のクラスは次のようになる。 // СTradeProcessor - переносимый класс торгового процессора // Именно этот класс необходимо использовать для торговли. // Класс реализует интерфейс CTradeProcessorI #ifdef __MQL5__ #include <MyLib\Trade\MT5TradeProcessor.mq5> #else // __MQL5__ #include <MyLib\Trade\MT4TradeProcessor.mq5> #endif //__MQL5__ #ifdef __MQL5__ class CTradeProcessor : public CMT5TradeProcessor #else // __MQL5__ class CTradeProcessor : public CMT4TradeProcessor #endif //__MQL5__ { public: void CTradeProcessor(uint uiSlippage = DEFAULT_TRADE_POINT_SLIPPAGE); void ~CTradeProcessor() {}; }; 実際には、プラットフォーム依存のクラスであるCMT5TradeProcessorとCMT4TradeProcessorの内部で全ての実装が行われます。 12345678910111213...41 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
0になることは既に分かっているはずだ。そうでないなら、このスレッドを作成することもないだろう。
他に理由はないのでしょうか?
要するに、くだらないおしゃべりにうんざりしているのだ。EAの話題以外で対話を続けるのであれば、あなたの書き込みは無視します。
あなたの予測は、すでに取引ロボットの有効性と矛盾しているので、おもしろくありません。私のビデオでは、利益を得るために、トレンドラインを管理する方法を紹介しています。覚えられなければ、使いこなせない。まるで楽器を演奏しているような感覚です。マスターである私は、この楽器の良さを主張します。私は15年以上FXのプログラミングをやっているからわかるんです。道具を渡したのは私です。使いこなすことができるようになるかというと、そうではありません。
そしてもうひとつ、ビデオで使ったツールはレイとは呼ばず、トレンドラインと呼びます。レイはこのツールのPARAMETERであり、希望によりオフにすることができます。
それで終わりです。これ以上、根拠のない予想には触れたくありません。
他に理由はないのでしょうか?
要するに、くだらないおしゃべりにうんざりしているのだ。EAの話題以外を話し続けるなら、あなたの書き込みは無視します。
あなたの予測は、すでに取引ロボットの有効性と矛盾しているので、おもしろくありません。私のビデオでは、利益を得るために、トレンドラインを管理する方法を紹介しています。覚えられなければ、使いこなせない。まるで楽器を演奏しているような感覚です。マスターである私は、この楽器の良さを主張します。私は15年以上FXのプログラミングをやっているからわかるんです。道具を渡したのは私です。使いこなすことができるようになるかというと、そうではありません。
そしてもうひとつ、ビデオで使ったツールはレイとは呼ばず、トレンドラインと呼びます。レイはこのツールのPARAMETERであり、希望によりオフにすることができます。
それで終わりです。これ以上、根拠のない予想には触れたくありません。
どこの国?
でも、実際の "ライブ "状態での中間結果をお見せしましょう。以下はスクリーンショットです。
お金は昨日の15時に入りました。ゼロだったのです(ここは私の言葉を信じてください)。
これがその状態です。
この状態は、解析に役立つのでしょうか?
Expert Advisor(ファイル Binarnic_1.0.mq4) とビデオで使用したスクリプト(ファイル Script_0.mq4) を投稿に添付しています。
誤解を避けるために、まずビデオをご覧ください。ヘッドホンで動画を見たのですが、音は問題ないようです。
YouTubeで使いたかったのですが、googleがそこのセキュリティで何かやらかしたのか、携帯では理解すらできませんでした。とりあえず、クラウド上のmyl-ruにアップロードしてみました。ただ、このサーバーのビューワーは明らかに品質に問題があるので、ダウンロードしてください。ファイル形式はmp4です。ファイルサイズは252メガバイトです。ダウンロードはこちら:https://cloud.mail.ru/public/Ewoq/ymNxHFJ2Z
皆さん、おはようございます!ご機嫌いかがでしょうか?
Vitaliyさん、あなたのExpert AdvisorのコードはMT4用だけですか、それともMT5用もあるのでしょうか?4については、私はMQL5のプログラミング言語を短期間独学で勉強したことがあるため、ほとんど何も追加することができません。残念!
ウラジミールさん、ありがとうございます。
皆さん、おはようございます!ご機嫌いかがでしょうか?
Vitaliy、あなたのExpert AdvisorのコードはMT4用だけですか、それともMT5用のバージョンもありますか?4については、私はMQL5のプログラミング言語を短期間独学で勉強したことがあるため、わかりません。残念!
ウラジミールさん、よろしくお願いします。
MQL4はMQL5と変わりません。唯一の違いは、データへのアクセスと取引機能です。これらすべてを共通の仮想インターフェイスを持つクラスで「包む」ことで、何の変更もなく両方のケースでコンパイル可能な移植性の高いコードができあがります。
MQL4はMQL5と変わりません。唯一の違いは、データへのアクセスと取引機能です。これらすべてを共通の仮想インターフェイスを持つクラスで「包む」ことで、あちこちで変更なしにコンパイルできるポータブルなコードができあがります。
違いは、データアクセスと取引機能だけです。
それだけではありません。
https://www.mql5.com/ru/docs/basis/preprosessor/conditional_compilation
その通りです。
条件付きコンパイルディレクティブを使うだけでこれらのディレクティブはすべて実際のクラス内部で動作します。取引アクションのための仮想ユニバーサルインターフェースを開発し、実装クラスでは条件付きコンパイルを用いてMQL4-MQL5の分岐を分離しています。そして、取引を行うオブジェクトを作成し、仮想インターフェイスを使ってアクセスするだけです。そして、一般的には、プラットフォーム間のさまざまな違いを忘れてしまっているのです。
例えば、ここに私のトレーディングプロセッサーの仮想インターフェースがあるとします。
すべての機能は仮想的であり、プラットフォームに完全に依存しない。MT4の個別注文またはMT5のシンボルのオープンポジションを表す「取引コンポーネント」というプラットフォームに依存しない概念を導入しています。そして、私たちが取り組んでいるのは、このようなトレーディングの要素なのです。
このインタフェースを実装した実際のクラスは次のようになる。
実際には、プラットフォーム依存のクラスであるCMT5TradeProcessorとCMT4TradeProcessorの内部で全ての実装が行われます。