st2050
Гуру форума
Человек с таким лексиконом - наш человекПокурил доки...
И в код может писать [и конкурсы интересные] !
Человек с таким лексиконом - наш человекПокурил доки...
спс ... да индюка бы кинул сразу )Вот тебе кусок кода, чтобы сделать аналогичный MTF.
for(i=depth;i>0;i--)
{
tCCI_TF1=iCCI(Symbol(),PERIOD_M5,perCCI,PRICE_CLOSE,i)/333.3333;
tSTO_TF1=(iStochastic(Symbol(),PERIOD_M5,perSTO,3,3,MODE_LWMA,0,MODE_MAIN,i)-50.0)/50.0;
tRSI_TF1=(iRSI(Symbol(),PERIOD_M5,perRSI,PRICE_CLOSE,i)-50.0)/50.0;
tCCI_TF2=iCCI(Symbol(),PERIOD_M15,perCCI,PRICE_CLOSE,i)/333.3333;
tSTO_TF2=(iStochastic(Symbol(),PERIOD_M15,perSTO,3,3,MODE_LWMA,0,MODE_MAIN,i)-50.0)/50.0;
tRSI_TF2=(iRSI(Symbol(),PERIOD_M15,perRSI,PRICE_CLOSE,i)-50.0)/50.0;
}
int ii;
for(i=depth;i>=0;i--)
{
ii=iBarShift(Symbol(),PERIOD_M5,Time);
CCI_TF1=tCCI_TF1[ii];
STO_TF1=tSTO_TF1[ii];
RSI_TF1=tRSI_TF1[ii];
ii=iBarShift(Symbol(),PERIOD_M15,Time);
CCI_TF2=tCCI_TF2[ii];
STO_TF2=tSTO_TF2[ii];
RSI_TF2=tRSI_TF2[ii];
}
А у меня его нет - это просто я аналогично MTF прикручиваю ...спс ... да индюка бы кинул сразу )
Хочу чуть меньше вертикальный масштаб.
//Считываем текущее состояние максимума и минимума окна
double Max=ChartGetDouble(0,CHART_PRICE_MAX);
double Min=ChartGetDouble(0,CHART_PRICE_MIN);
//Здесь меняем значения Max и Min окна с учетом их ценовой шкалы Max=... Min=...
// и далее смена каждого предела по вертикали
ChartSetInteger(0,CHART_SCALEFIX,true);
ChartSetDouble(0,CHART_FIXED_MAX,Max);
ChartSetDouble(0,CHART_FIXED_MIN,Min);
ChartRedraw();
Я тут недавно в "Доработке" экспериментировал с одним индюком - может пригодится. Там график индюка сильно сужал сам ценовой график.Надеюсь получится заточить и при листании графика.
Защита и триал - две разные вещи. Защит можно много придумать и мало кто будет ими делиться. Триал - просто сделай проверку на текущее время с заранее заданным и еще желательно, чтобы была проверка на наличие в торгах ордеров - правильно, если сов не будет останавливать торговлю до отрабатывания всех текущих позиций, если триал закончился. Т.е. проверяешь, есть ли открытые ордера, и если нет, делаешь проверкуХочу добавить в советник защиту с триалом
if(TimeCurrent()>StringToTime("yyyy.mm.dd hh:mi")) {Print("Триал закончил работу"); ExpertRemove();}
Большое спасибо, буду дальше учиться. А куда именно это вставить( какой строкой?)Защита и триал - две разные вещи. Защит можно много придумать и мало кто будет ими делиться. Триал - просто сделай проверку на текущее время с заранее заданным и еще желательно, чтобы была проверка на наличие в торгах ордеров - правильно, если сов не будет останавливать торговлю до отрабатывания всех текущих позиций, если триал закончился. Т.е. Проверяешь, есть ли открытые ордера и если нет, делаешь проверку
yyyy.mm.dd hh:mi - стандартный стринговый формат ввода даты и времени (окончания действия триала) - можешь в документации по StringToTime посмотреть или еще где.C#:if(TimeCurrent()>StringToTime("yyyy.mm.dd hh:mi") {Print("Триал закончил работу"); ExpertRemove();}
У меня есть такая функция, но это только на текущий деньБольшое спасибо, буду дальше учиться. А куда именно это вставить( какой строкой?)
Это функция ограничения времени торгов по часам в сутки - на каждый торговый день, а не по дате и времени окончания работы триала сова.У меня есть такая функция, но это только на текущий день
ну вот так проще всегоУважаемые прогеры, пожалуйста помогите. Хочу добавить в советник защиту с триалом, пытался сам найти и на официальном сайте mql5 Защищайтесь, господа разработчики! (ссылка создана не в целях рекламы, уважаемые админы если запрещено удалите пожалуйста)
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
datetime trial=D'31.01.2020';
if(TimeCurrent()>trial)
{
Alert("Nicht schießen!");
return(INIT_FAILED);
}
//---
return(INIT_SUCCEEDED);
}
Большое спасибону вот так проще всего
PHP://+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- datetime trial=D'31.01.2020'; if(TimeCurrent()>trial) { Alert("Nicht schießen!"); return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); }
Если вставлять в инит, то можно запустить сова на год на VPS и забыть и он без перезагрузки так и будет пахать.ну вот так проще всего