volshebnik: Да, большое спасибо за подробнейшее разъяснение. Поставил на оптимизацию по всем ТФ. По результатам после оптимизации+тестировании на разных участках отпишусь.
Вы спрашивали о возможности программно проводить перебор и оптимизацию возможных ТФ для получения с них значений индикаторов в эксперте. Это возможно следующим образом - для примера -
кускочки кода, в файле - эксперт из журнала, где подобная операция проведена - там все подробно расписано с комментариями
......
externint t_trend_period=7;
......
int trend_period=GetPeriod(t_trend_period); // это ф-ия для определения ТФ согласно заданному значению t_trend_period - заданному во внешней переменной (диапазон от 0 до 7)double t_stoch_main=iStochastic(NULL,trend_period,t_Kperiod,t_Dperiod,t_slowing,MODE_SMA,0,MODE_MAIN,0);
......
// сама ф-ия выбота ТФ для оптимизации по всем периодам int GetPeriod(int period)
{int periodres;
switch(period)
{
case1: periodres=1;break;
case2: periodres=5;break;
case3: periodres=15;break;
case4: periodres=30;break;
case5: periodres=60;break;
case6: periodres=240;break;
case7: periodres=1440;break;
default: periodres=1;break;
}
return(periodres);
}
Подскажите пожалуста! Как сделать, допустим открылся новый бар в часовом таймфреме (H1) и чтобы время отчитывал ну где-то на 50-минут в этом баре, после 50-мин. даст сигнал. Я слышал про Sleep.
Подскажите пожалуста! Как сделать, допустим открылся новый бар в часовом таймфреме (H1) и чтобы время отчитывал ну где-то на 50-минут в этом баре, после 50-мин. даст сигнал. Я слышал про Sleep.
int minutes=50;
if(TimeCurrent()>=iTime(NULL,PERIOD_H1,0)+minutes*60){
///
}
У меня получается странная вещь - пользовательский индикатор на графике и внутри советника выдаёт совсем разные цифры. Индикатор - MQL-аналог LinearReg из MetaStock. Написан он так
#property indicator_chart_window#property indicator_buffers 1#property indicator_color1 Magentaexternint RPeriod = 20;
int shift = 0, cnt = 0,loopbegin = 0;
bool first = True;
int prevbars = 0;
double sum =0, WT = 0;
int i = 0;
double val1[];
int init()
{
SetIndexBuffer(0,val1);
return(0);
}
int start()
{
if (RPeriod<1)
{
return(0);
}
loopbegin=Bars-RPeriod-1;
for (shift=loopbegin; shift>=0; shift--)
{
sum=0;
for (i=RPeriod; i>=1; i--)
{
sum=sum+(i-(RPeriod+1)/3)*Close[RPeriod-i+shift];
}
WT = sum*6/(RPeriod*(RPeriod+1));
val1[shift] = WT;
}
return(0);
}
При нанесении его на график он показывает ровно то же, что и в MetaStock'е. Но стоит его вставить в торговый советник, так на участке EURUSD, где котировки в районе 1,29 его значение оказывается больше 1,4 (при его свойстве indicator_chart_window). Естественно, воспроизведённые торговые системы для MetaStock работать не могут, получается, что они всегда держат одну позицию. Если я нажимаю результаты работы советника, то линия этого индикатора остаётся далеко, но если его просто перекомпилировать, тут же график становится правильным, как в MetaStock. Никак не могу понять, от чего такая разница.
Хочу попросить у вас помощи! А именно:Хочу попробовать состряпать свой первый советник,с задачами... 1-Пипсовщик 2-М5 3-С возможностью задавать параметры стопов и тейков 4-Что бы в место тейков можно было (по желанию) включать разворот позы каждый раз по достижении заданного уровня до остановки в ручную.Ну скажем по горячим клавишам. 5-Абсолютно без индюков. Кажись всё.Надеюсь не загрузил Собственно мне нужен хотя бы какой нить исходник,ну или макет,ну что бы не очень сложный Я так-то акромя скриптов ничего не делал, да и то, токмо готовые переделывал в основном, под себя. Надеюсь на вашу помощь
Хочу попросить у вас помощи! А именно:Хочу попробовать состряпать свой первый советник,с задачами... 1-Пипсовщик 2-М5 3-С возможностью задавать параметры стопов и тейков 4-Что бы в место тейков можно было (по желанию) включать разворот позы каждый раз по достижении заданного уровня до остановки в ручную.Ну скажем по горячим клавишам. 5-Абсолютно без индюков. Кажись всё.Надеюсь не загрузил Собственно мне нужен хотя бы какой нить исходник,ну или макет,ну что бы не очень сложный Я так-то акромя скриптов ничего не делал, да и то, токмо готовые переделывал в основном, под себя. Надеюсь на вашу помощь
спрашивайте поможем если есть непонятные моменты в части программирования, но не забывайте: "спасение утопающих - дело рук самих утопающих" = Вы показываете часть кода где есть непонятные моменты, код на 1,5 тыщи строк - увольте сами там разбирайтесь ;)
попробуйте визуально сравнить некий простой индикатор и данные которые получает советник через iCustom() из этого индикатора, думаю MovingAverage подходящий для экспериментов индикатор
наверно Вы неправильно пользуетесь ф-цией iCustom()
Если кто работает на instaforex мт4, может сталкивались с проблемой:
у них на демо четырехзнак, на реале пятизнак, но очень странный - bid и ask округляют до четырехзнака.
вот такой код:
if (Poz_Up)
{
ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,NormalizeDouble(Bid-300*Point,Digits),NormalizeDouble(Ask+300*Point,Digits),Komment,0,Green);
}
if (Poz_Dn)
{
ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,NormalizeDouble(Ask+300*Point,Digits),NormalizeDouble(Bid-300*Point,Digits),Komment,0,Green);
}
выдает SL&TP при открытии позиции то 300пп, то 3000пп, как будто определяет чему же равен Digits каждый раз по новому.
Может кто предложит как побороть это дело, и сталкивался ли кто с подобным, или это только у меня?
Да, большое спасибо за подробнейшее разъяснение. Поставил на оптимизацию по всем ТФ. По результатам после оптимизации+тестировании на разных участках отпишусь.
Вы спрашивали о возможности программно проводить перебор и оптимизацию возможных ТФ для получения с них значений индикаторов в эксперте. Это возможно следующим образом - для примера -
кускочки кода, в файле - эксперт из журнала, где подобная операция проведена - там все подробно расписано с комментариями
Может кому еще подобная инфа пригодится.
Подскажите пожалуста! Как сделать, допустим открылся новый бар в часовом таймфреме (H1) и чтобы время отчитывал ну где-то на 50-минут в этом баре, после 50-мин. даст сигнал. Я слышал про Sleep.
Подскажите пожалуста! Как сделать, допустим открылся новый бар в часовом таймфреме (H1) и чтобы время отчитывал ну где-то на 50-минут в этом баре, после 50-мин. даст сигнал. Я слышал про Sleep.
У меня получается странная вещь - пользовательский индикатор на графике и внутри советника выдаёт совсем разные цифры. Индикатор - MQL-аналог LinearReg из MetaStock. Написан он так
При нанесении его на график он показывает ровно то же, что и в MetaStock'е. Но стоит его вставить в торговый советник, так на участке EURUSD, где котировки в районе 1,29 его значение оказывается больше 1,4 (при его свойстве indicator_chart_window). Естественно, воспроизведённые торговые системы для MetaStock работать не могут, получается, что они всегда держат одну позицию. Если я нажимаю результаты работы советника, то линия этого индикатора остаётся далеко, но если его просто перекомпилировать, тут же график становится правильным, как в MetaStock. Никак не могу понять, от чего такая разница.Здравствуйте многоуважаемые спецы!
Хочу попросить у вас помощи! А именно:Хочу попробовать состряпать свой первый советник,с задачами...
1-Пипсовщик
2-М5
3-С возможностью задавать параметры стопов и тейков
4-Что бы в место тейков можно было (по желанию) включать разворот позы каждый раз по достижении заданного уровня
до остановки в ручную.Ну скажем по горячим клавишам.
5-Абсолютно без индюков.
Кажись всё.Надеюсь не загрузил
Собственно мне нужен хотя бы какой нить исходник,ну или макет,ну что бы не очень сложный Я так-то акромя скриптов ничего не делал, да и то, токмо готовые переделывал в основном, под себя.
Надеюсь на вашу помощь
Здравствуйте многоуважаемые спецы!
Хочу попросить у вас помощи! А именно:Хочу попробовать состряпать свой первый советник,с задачами...
1-Пипсовщик
2-М5
3-С возможностью задавать параметры стопов и тейков
4-Что бы в место тейков можно было (по желанию) включать разворот позы каждый раз по достижении заданного уровня
до остановки в ручную.Ну скажем по горячим клавишам.
5-Абсолютно без индюков.
Кажись всё.Надеюсь не загрузил
Собственно мне нужен хотя бы какой нить исходник,ну или макет,ну что бы не очень сложный Я так-то акромя скриптов ничего не делал, да и то, токмо готовые переделывал в основном, под себя.
Надеюсь на вашу помощь
Хочу попросить у вас помощи!
У меня получается странная вещь
попробуйте визуально сравнить некий простой индикатор и данные которые получает советник через iCustom() из этого индикатора, думаю MovingAverage подходящий для экспериментов индикатор
наверно Вы неправильно пользуетесь ф-цией iCustom()
Если кто работает на instaforex мт4, может сталкивались с проблемой:
у них на демо четырехзнак, на реале пятизнак, но очень странный - bid и ask округляют до четырехзнака.
вот такой код:
выдает SL&TP при открытии позиции то 300пп, то 3000пп, как будто определяет чему же равен Digits каждый раз по новому.
Может кто предложит как побороть это дело, и сталкивался ли кто с подобным, или это только у меня?