после компиляции с #property strict советник тестируется только до 2012 года,а без #property strict нет ограничений с любой даты по любую.. - страница 2

 
Pavel Malyshko:

так читайте код - там прибыльных участков после 2012 года не прописано - вот и молчит, за такое в коде обычно расстреливают, а если это в маркет попытаетесь засунуть то атата будет

 
Aleksey Semenov:

так читайте код - там прибыльных участков после 2012 года не прописано - вот и молчит, за такое в коде обычно расстреливают, а если это в маркет попытаетесь засунуть то атата будет

о чём вообще идёт речь? если советник тестируется без property до 2019 года! откуда тогда берутся прибыльные участки на дистанции 2012-2019???если их не прописано в коде?
так что вам в другую ветку с подобными обвинениями

 
Aleksey Semenov:

так читайте код - там прибыльных участков после 2012 года не прописано - вот и молчит, за такое в коде обычно расстреливают, а если это в маркет попытаетесь засунуть то атата будет

win в коде это не сокращение от слова победа-winner ! это сокращение от winter ЗИМА!!!!

 
Pavel Malyshko:

win в коде это не сокращение от слова победа-winner ! это сокращение от winter ЗИМА!!!!

ужос какой - тогда всё логично - с проперти стрикт обращение к несуществующей ячейки массива выдаст крит - выход за пределы массива, без проперти стрикт крита не будет и будет работать дальше - либо заполните массив за 13-19 год либо вообще убрерите эту фигню из кода
 
Aleksey Semenov:
ужос какой - тогда всё логично - с проперти стрикт обращение к несуществующей ячейки массива выдаст крит - выход за пределы массива, без проперти стрикт крита не будет и будет работать дальше - либо заполните массив за 13-19 год либо вообще убрерите эту фигню из кода

сделал вот так,но  ничего не поменялось...что удалить полностью ,чтобы не было этой фигни?))подскажите пожалуйста)


//+----------------------------------------------------------------------------+ CHECK TIME FUNCTION +---------------+
void time(){
   tradetime=true;
   if(usetimefilter)if(checktime(summergmtshift,wintergmtshift,mondayfilter,mondayhour,mondayminute,weekfilter,
   starthour,startminute,endhour,endminute,tradesunday,fridayfilter,fridayhour,fridayminute))tradetime=false;
}
bool checktime(int summergmtshift,int wintergmtshift,bool mondayfilter,int mondayhour,int mondayminute,bool weekfilter,
int starthour,int startminute,int endhour,int endminute,bool tradesunday,bool fridayfilter,int fridayhour,int fridayminute){
   sum[2019-2011]=D'2019.03.28 02:00:00';win[2019-2011]=D'2019.10.31 03:00:00';sum[2019-2011]=D'2019.03.29 02:00:00';win[2019-2011]=D'2019.10.25 03:00:00';
   if(TimeCurrent()<win[TimeYear(TimeCurrent())-1999]
   && TimeCurrent()>sum[TimeYear(TimeCurrent())-1999])gmtshift=summergmtshift;
   else gmtshift=wintergmtshift;

   string svrdate=Year()+"."+Month()+"."+Day();

   if(mondayfilter){
      nmondayhour=mondayhour+(gmtshift);if(nmondayhour>23)nmondayhour=nmondayhour-24;
      if(nmondayhour<10)imondayhour="0"+nmondayhour;
      if(nmondayhour>9)imondayhour=nmondayhour;
      if(mondayminute<10)imondayminute="0"+mondayminute;
      if(mondayminute>9)imondayminute=mondayminute;
      tmonday=StrToTime(svrdate+" "+imondayhour+":"+imondayminute);
   }
   if(weekfilter){
      nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
      if(nstarthour<10)istarthour="0"+nstarthour;
      if(nstarthour>9)istarthour=nstarthour;
      if(startminute<10)istartminute="0"+startminute;
      if(startminute>9)istartminute=startminute;
      tstart=StrToTime(svrdate+" "+istarthour+":"+istartminute);

      nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
      if(nendhour<10)iendhour="0"+nendhour;
      if(nendhour>9)iendhour=nendhour;
      if(endminute<10)iendminute="0"+endminute;
      if(endminute>9)iendminute=endminute;
      tend=StrToTime(svrdate+" "+iendhour+":"+iendminute);
   }
   if(fridayfilter){
      nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
      if(nfridayhour<10)ifridayhour="0"+nfridayhour;
      if(nfridayhour>9)ifridayhour=nfridayhour;
      if(fridayminute<10)ifridayminute="0"+fridayminute;
      if(fridayminute>9)ifridayminute=fridayminute;
      tfriday=StrToTime(svrdate+" "+ifridayhour+":"+ifridayminute);
   }
   if(testhour!=24){
      ntesthour=testhour+(gmtshift);if(ntesthour>23)ntesthour=ntesthour-24;
      if(ntesthour<10)itesthour="0"+ntesthour;
      if(ntesthour>9)itesthour=ntesthour;
      itestminute="00";
      ttesthour=StrToTime(svrdate+" "+itesthour+":"+itestminute);
   }
   if(weekfilter)if((nstarthour<=nendhour && TimeCurrent()<tstart || TimeCurrent()>tend) || (nstarthour>nendhour && TimeCurrent()<tstart && TimeCurrent()>tend))return(true);
   if(tradesunday==false)if(DayOfWeek()==0)return(true);
   if(fridayfilter)if(DayOfWeek()==5 && TimeCurrent()>tfriday)return(true);
   if(mondayfilter)if(DayOfWeek()==1 && TimeCurrent()<tmonday)return(true);
   if(testhour!=24)if(TimeHour(TimeCurrent())!=TimeHour(ttesthour))return(true);
   return(false);
}
 
сделал вот так..ограничения теперь нет, сделки открывает на любой истории..но работает не так...видимо не так надо исправлять..

//+----------------------------------------------------------------------------+ CHECK TIME FUNCTION +---------------+
void time(){
 
   string svrdate=Year()+"."+Month()+"."+Day();

   if(mondayfilter){
      nmondayhour=mondayhour+(gmtshift);if(nmondayhour>23)nmondayhour=nmondayhour-24;
      if(nmondayhour<10)imondayhour="0"+nmondayhour;
      if(nmondayhour>9)imondayhour=nmondayhour;
      if(mondayminute<10)imondayminute="0"+mondayminute;
      if(mondayminute>9)imondayminute=mondayminute;
      tmonday=StrToTime(svrdate+" "+imondayhour+":"+imondayminute);
   }
   if(weekfilter){
      nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
      if(nstarthour<10)istarthour="0"+nstarthour;
      if(nstarthour>9)istarthour=nstarthour;
      if(startminute<10)istartminute="0"+startminute;
      if(startminute>9)istartminute=startminute;
      tstart=StrToTime(svrdate+" "+istarthour+":"+istartminute);

      nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
      if(nendhour<10)iendhour="0"+nendhour;
      if(nendhour>9)iendhour=nendhour;
      if(endminute<10)iendminute="0"+endminute;
      if(endminute>9)iendminute=endminute;
      tend=StrToTime(svrdate+" "+iendhour+":"+iendminute);
   }
   if(fridayfilter){
      nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
      if(nfridayhour<10)ifridayhour="0"+nfridayhour;
      if(nfridayhour>9)ifridayhour=nfridayhour;
      if(fridayminute<10)ifridayminute="0"+fridayminute;
      if(fridayminute>9)ifridayminute=fridayminute;
      tfriday=StrToTime(svrdate+" "+ifridayhour+":"+ifridayminute);
   }
   if(testhour!=24){
      ntesthour=testhour+(gmtshift);if(ntesthour>23)ntesthour=ntesthour-24;
      if(ntesthour<10)itesthour="0"+ntesthour;
      if(ntesthour>9)itesthour=ntesthour;
      itestminute="00";
      ttesthour=StrToTime(svrdate+" "+itesthour+":"+itestminute);
   }
   if(weekfilter)if((nstarthour<=nendhour && TimeCurrent()<tstart || TimeCurrent()>tend) || (nstarthour>nendhour && TimeCurrent()<tstart && TimeCurrent()>tend));
   if(tradesunday==false)if(DayOfWeek()==0);
   if(fridayfilter)if(DayOfWeek()==5 && TimeCurrent()>tfriday);
   if(mondayfilter)if(DayOfWeek()==1 && TimeCurrent()<tmonday);
   if(testhour!=24)if(TimeHour(TimeCurrent())!=TimeHour(ttesthour));
Причина обращения: