記事"もうひとつ別の MQL5 OOP クラス"についてのディスカッション

 

新しい記事 もうひとつ別の MQL5 OOP クラス はパブリッシュされました:

本稿では一からオブジェクト指向 Expert Advisor を構築する方法をお伝えします。トレードの理論的考えを着想することからその考えを実験的世界で実現する MQL5 EA をプログラムするまでです。実践から学ぶことは IMHO で成功への確実な方法です。よってみなさんが最終的に Forex ロボットのコーディングをするために考えを整理できる方法を確認していただけるよう実例を示していきます。また私の目標はみなさんにオブジェクト指向の原理に忠実に従うようお勧めすることです。

実際い動作する完全なオブジェクト指向 EA (以降 OO EA )を構築することは私見ですが数多くの技能:理論的合理性、多様な発想、分析力と演繹的推理力、イ構想力など、を集結する必要のある難しいがやりがいのあ るタスクです。われわれがやり遂げるべき自動トレーディングシステムがチェスのゲームであるとするならトレーディングのアイデアはチェスの戦略です。また 戦法によってチェスの線略を実行することはテクニカルインディケータ、チャート図、基礎的な知識、コンセプト原理を利用してロボットをプログラムすること と言えるでしょう。

ラファエロ・サンティによるアテネ学派の詳細

作者: Jordi Bassaganas

削除済み  

良い記事だ。ありがとう。

 
FinGeR:

良い記事だ。ありがとう。

+1
 
素晴らしい仕事だ。
 

こんにちは!

CSimpleRandom.mqh ファイルにおいて、CPositionInfo クラスのオブジェクトの作成が省略されています。

82 строчка  m_positionInfo=new CPositionInfo();

これがないと、Expert Advisorは'CSimpleRandom.mqh'でinvalid pointer accessという エラーを発生します。

それとも、初心者が練習できるように、わざと省略したのだろうか?もしそうなら、成功だ =)。


 
vp999369 CPositionInfo クラスオブジェクトの作成を見逃していました。

これがないと、Expert Advisorは'CSimpleRandom.mqh'で無効なポインタアクセスエラーを 生成します。

それとも、初心者が練習できるようにわざと省略したのだろうか?もしそうなら、彼は成功したことになる =)。


CSimplrRandomクラス・ファイルでは、同じクラスのオブジェクトを作れということですか?それは正しくありません。

ファイルを参照してください。このクラスのオブジェクトが作成されて います。23行目

//+------------------------------------------------------------------+
//|ExpertSimpleRandom.mq5
//|著作権 © 2013, ジョルディ・バサガサス|英語
//+------------------------------------------------------------------+

#property copyright     "著作権 © 2013, laplacianlab"
#property link          "http://www.mql5.com/en/articles"
#property version       "1.00"

#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
#include <Indicators\Indicators.mqh>
#include <Mine\Enums.mqh>
#include <..\Experts\SimpleRandom\CSimpleRandom.mqh>

input int               StopLoss;
input int               TakeProfit;
input double            LotSize;
input ENUM_LIFE_EA      TimeLife;

MqlTick tick;
CSimpleRandom *SR=new CSimpleRandom(StopLoss,TakeProfit,LotSize,TimeLife);
//+------------------------------------------------------------------+
//| 初期化関数|
//+------------------------------------------------------------------+


Expert Advisorをコンパイルして実行します。

 
あ、いえ、理解できませんでした。確かに、クラス・オブジェクトの作成を 追加する必要がある。
 
vp999369 CPositionInfo クラスオブジェクトの作成を見逃していました。

これがないと、Expert Advisorは'CSimpleRandom.mqh'で無効なポインタアクセスエラーを 発生します。

それとも、初心者が練習できるようにわざと省略したのだろうか?もしそうなら、彼は成功したことになる =)。


記事ファイルを再アップロードしました。メッセージをありがとう。