[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 227

 
oyshen >>:

А как можно выбрать 2 последние сделки закрытые уже (из списка история счета)

Должно быть что -то в этом роде -

как правильно написать параметр для выбора?

Два последние ордера будут иметь номера OrdersHistoryTotal()-1 и OrdersHistoryTotal()-2.


Вот срипт для проверки

int start()
{
   int i,accTotal=OrdersHistoryTotal();
   for(i=0;i<accTotal;i++)
   {
     if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)
       {
        Alert("Ошибка при доступе к исторической базе (",GetLastError(),")");
        break;
       }
     Alert(i,":",TimeToStr(OrderCloseTime()));  
   }
}

Удачи!

 
alsu >>:

код совсем сырой.

смотрите: i=Bars-Period1+1 при первой же итерации цикла получаем k=i+Period1-1=Bars-Period1+1+Period1-1=Bars и дальше - Close[k], то есть уже выбиваемся из массива.

Правильно: i=Bars-Period1-1

..................

А можно ли как-нибудь найти максимум(мин.) отношения close[i]/close[i+1], но без помощи массивов??? Спасибо!

 
Mr-Franklyn >>:

А можно ли как-нибудь найти максимум(мин.) отношения close[i]/close[i+1], но без помощи массивов??? Спасибо!

вопрос в том, куда записать то, в чем будет искаться максимум. обычно это называется массив:) ArrayMax(in)imum - оптимальный вариант

 
alsu >>:

вопрос в том, куда записать то, в чем будет искаться максимум. обычно это называется массив:) ArrayMax(in)imum - оптимальный вариант

А если в буффер записать???

 
Mr-Franklyn >>:

А можно ли как-нибудь найти максимум(мин.) отношения close[i]/close[i+1], но без помощи массивов??? Спасибо!

Если я правильно понял вопрос. То можно поэкспериментировать не с close[i], а  примерно так:

макс= iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,Cbar,0));
мин= iLow (NULL,0,iLowest (NULL,0,MODE_LOW, Cbar,0));  

где Cbar,   -число последних баров, среди кот. ищется экстремум

 
rid >>:

Если я правильно понял вопрос. То можно поэкспериментировать не с close, а  примерно так:


где Cbar  -число последних баров, среди кот. ищется экстремум

Меня интересует именно абсолютное значение отношения Prace[i]/Price[i+1].

 
Mr-Franklyn >>:

А если в буффер записать???

А буфер это не массив?

 
alsu >>:

А буфер это не массив?

Да, но если я напишу Buffer[i]=close[i]/close[i+1], а за тем использую функцию iHighest, то ничего не получается!!!

 
Mr-Franklyn >>:

Да, но если я напишу Buffer[i]=close[i]/close[i+1], а за тем использую функцию iHighest, то ничего не получается!!!

потомушто iHighest работает только с таймсериями. Для остальных массивов аналог ArrayMaximum

 
double Buffer[];

int init()
{
   SetIndexBuffer(0,Buffer);
}

int start()
{
for(i=start;i>=0;i--)
{
   Buffer[i]=Close[i]/Close[i+1];
   double max=Buffer[ArrayMaximum(Buffer,period,i)];
   double min=Buffer[ArrayMinimum(Buffer,period,i)];
   double stddev=iStdDevOnArray(Buffer,period,8,0,MODE_EMA,i);
//TODO
}
///TODO
}
Причина обращения: