[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 996
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Techno полностью с вами согласен, но я просьба адресованна исходя из ветки а не где нибудь в другой а начало ветке о чем гласит?
Любой вопрос новичка, чтоб не захламлять форум. Профи не проходите мимо. Без вас никуда.
согласны что именно здесь ложат начало все начинающие, потом модераторы могут перенести в отдельную тему если дискусии начнут не соответствовать данной ветке
и потом дело то сугубо добровольное, я не прошу написать за меня всю работу, а как сказал выше я учусь, и думаю что те новички, которые тока присоеденяются тоже многое познают,
Techno полностью с вами согласен, но..
ну пока что судя из выше написаного ТЗ вы предлагаете чтобы за вас все написали. Тема то рассчитана именно на вопросы, которые возникают у новичков во время программирования и обучения, а не на исполнения всех их желаний )
Хочу переписать свой советник из mq4 в mq5. Подскажите насколько быстрее будет тестироваться и оптимизироваться советник в mq5?
итак если все согласны с техзаданием и всем все ясно то приступим. Для начало прикрепляю все файлы шаблоны
Зачем так сложно?
Зачем так сложно?
начнем с функции Criterion
Для определения канала будем использовать индикатор ZigZag соответственно выведем в настройки его параметры,
//--------------------------------------------------------------------
// Criterion.mqh
//--------------------------------------------------------------- 1 --
// Функция вычисления торговых критериев.
// Возвращаемые значения:
// 10 - открытие Buy
// 20 - открытие Sell
// 11 - закрытие Buy
// 21 - закрытие Sell
// 0 - значимых критериев нет
// -1 - используется другой финансовый инструмент
//--------------------------------------------------------------- 2 --
// Внешние переменные:
eextern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
//-----------------------------------------------------------------------
int Criterion() // Пользовательская функция
{
string Sym="EURGBR";
if (Sym!=Symbol()) // Если не наш фин. инструмент
{
Inform(16); // Сообщение..
return(-1);
} // .. и выход
double
High,
Low ;
//------------------- Параметры технич. индикат: -------------------
High =iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,1,bar);
Low = iCustom (NULL,0, "Zigzag",ExtDepth,ExtDeviation, ExtBackstep,2,bar);
int TicSpred=100;
double Spread[1000];
if (Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}
for (int q=TicSpred;q>0;q--){
if (Spread[q]==0) Spread[q]=(Ask-Bid)/delta;}
for (q=TicSpred;q>0;q--) {Spread[p]=Spread[p-1];}
Spread[0]=(Ask-Bid)/delta;
double CountedSpred;
for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}
//--------------------------------------------------------------- 5 --
// Вычисление торговых критериев
if (Bid <= Low && Ask< High -CountedSpred/2*delta )
return(10);
if ( Bid>= High )
return(20);
// Вычисление торговых критериев
if (Bid <= Low && Ask< High -CountedSpred/2*delta )
return(10);
if ( Bid>= High )
return(20);
здесь вот и встал в стопор, согласно задания мы должны сначало набрать историю среднего спреда, как это сделать?
нужно что бы массив из 100 ячеек был заполнен полностью