вот так вот всегда, сначала ответьте на вопрос, потом напишите советник, а потом бесконечно его меняйте как прибудет новая идея, бедный артмедия, так скоро все программисты переведутся на нет, помогать некому будет )
Techno полностью с вами согласен, но я просьба адресованна исходя из ветки а не где нибудь в другой а начало ветке о чем гласит?
Любой вопрос новичка, чтоб не захламлять форум. Профи не проходите мимо. Без вас никуда.
согласны что именно здесь ложат начало все начинающие, потом модераторы могут перенести в отдельную тему если дискусии начнут не соответствовать данной ветке
и потом дело то сугубо добровольное, я не прошу написать за меня всю работу, а как сказал выше я учусь, и думаю что те новички, которые тока присоеденяются тоже многое познают,
ну пока что судя из выше написаного ТЗ вы предлагаете чтобы за вас все написали. Тема то рассчитана именно на вопросы, которые возникают у новичков во время программирования и обучения, а не на исполнения всех их желаний )
Techno: ну пока что судя из выше написаного ТЗ вы предлагаете чтобы за вас все написали. Тема то рассчитана именно на вопросы, которые возникают у новичков во время программирования и обучения, а не на исполнения всех их желаний )
я задавал вопросы сначало, но потом стало все очень сложно, а так как программа сложной структуры с вкл. файлами то и код показать не возможно, а так я начну все сначала и дойду до того места где остановился
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 ячеек был заполнен полностью