Обсуждение статьи "Приобщаемся к объектно-ориентированному программированию в MQL5"

 

Опубликована статья Приобщаемся к объектно-ориентированному программированию в MQL5:

В статье показано, как создать объектно-ориентированного торгового советника с нуля, начиная с выработки торговой идеи и заканчивая созданием торгового советника на языке MQL5, воплощающего данную идею в жизнь. На мой взгляд, самый верный путь к успеху - это обучение на практике, поэтому в статье рассмотрен практический пример, демонстрирующий, как можно упорядочить свои идеи и приступить к программированию форекс-роботов. Кроме того, мне хотелось пробудить интерес читателей к объектно-ориентированному подходу.

Фрагмент фрески "Афинская школа" Рафаэля Санти

Автор: Jordi Bassaganas

 

День добрый!

В файле  CSimpleRandom.mqh автор упустил создание объекта класса CPositionInfo 

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

Без нее эксперт выдавал ошибку invalid pointer access in 'CSimpleRandom.mqh' 

Или специально пропустил, чтобы новички потренировались? Если да, то у него это получилось =)


 
vp999369 #:

День добрый!

В файле  CSimpleRandom.mqh автор упустил создание объекта класса CPositionInfo 

Без нее эксперт выдавал ошибку invalid pointer access in 'CSimpleRandom.mqh' 

Или специально пропустил, чтобы новички потренировались? Если да, то у него это получилось =)


В файле класса CSimplrRandom предлагаете создать объект этого же класса? Это не верно.

Смотрите файл \MQL5\Experts\expertsimplerandom.mq5. В нём как раз есть создание объекта этого класса. В строке 23:

//+------------------------------------------------------------------+
//|                                           ExpertSimpleRandom.mq5 |
//|                               Copyright © 2013, Jordi Bassagaсas |
//+------------------------------------------------------------------+

#property copyright     "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);
//+------------------------------------------------------------------+
//| Функция инициализации                                            |
//+------------------------------------------------------------------+


Компилировать и запускать нужно советник \MQL5\Experts\expertsimplerandom.mq5.

 
А, нет, это я Вас не понял. Действительно, нужно добавить создание объекта класса.
 
vp999369 #:

День добрый!

В файле  CSimpleRandom.mqh автор упустил создание объекта класса CPositionInfo 

Без нее эксперт выдавал ошибку invalid pointer access in 'CSimpleRandom.mqh' 

Или специально пропустил, чтобы новички потренировались? Если да, то у него это получилось =)


Файлы статьи перезалиты. Спасибо за сообщение.

Причина обращения: