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

 
Necron писал(а) >>

Часть 2.

// it is important to enter the market correctly, 
   // but it is more important to exit it correctly...   
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==Symbol())  // check for symbol
        {
OrderSend( 
         if(OrderType()==OP_BUY)   // long position is opened
Посмотри внимательно на этот кусок
 
Vinin >>:
Посмотри внимательно на этот кусок

Спасибо огромное!

 
мне мерещиться или некоторые переменные могут сохранять свои значения после перекомпиляции или перезапуска советника?
 
И последний вопрос. Возможно ли в советнике сделать так, чтобы сигнал (главный) использовался на одном таймфрейме (например H1), а к позиции добавляли по сигналам с младшего TF(например M5)? А то я написал, а он сделки открывает без остановок (или может Sleep() надо добавить). Вроде один сигнал на H1, а он сделок открыл целую сотню. В переменных все правильно вроде, сделано по предыдущему бару, а не по нулевому. Только в одном условии используется пробой максимума предыдущего бара (High(0)>High(1)), ну и минимума соответственно. Вообще возможно такое использование, или только на одном тайм-фрейме должен работать советник? Истории тоже хватает.
 
Necron писал(а) >>
И последний вопрос. Возможно ли в советнике сделать так, чтобы сигнал (главный) использовался на одном таймфрейме (например H1), а к позиции добавляли по сигналам с младшего TF(например M5)? А то я написал, а он сделки открывает без остановок (или может Sleep() надо добавить). Вроде один сигнал на H1, а он сделок открыл целую сотню. В переменных все правильно вроде, сделано по предыдущему бару, а не по нулевому. Только в одном условии используется пробой максимума предыдущего бара (High(0)>High(1)), ну и минимума соответственно. Вообще возможно такое использование, или только на одном тайм-фрейме должен работать советник? Истории тоже хватает.

А это уже как Вам будет угодно. Хоть по всем таймфреймам, да еще и по всем инструментам доступным.

 
Vinin >>:

А это уже как Вам будет угодно. Хоть по всем таймфреймам, да еще и по всем инструментам доступным.

А в переменных просто поставить 5 где таймфрейм и все (если для пятиминутки)?

high5=iHigh(NULL,5,1);

 
Necron писал(а) >>

А в переменных просто поставить 5 где таймфрейм и все (если для пятиминутки)?

high5=iHigh(NULL,5,1);

А как тогда часовики?

 
Vinin >>:

А как тогда часовики?

high=iHigh(NULL,60,1); Или что-то не так?

 

Подскажите, как передать функции одну размерность из двумерного массива?

что-то я запутался.

int testarray[5][2] = {1,2,3,4,5,6,7,8,9,10};

void testfunc(int &inarray[]){
string out_str="Result: "+inarray[0];

for (int i=1;i<5;i++){
out_str += (", "+inarray[i]);
}
Print(out_str);
}
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
Print("Call first:");
testfunc(testarray[][0]);
Print("Call second:");
testfunc(testarray[][1]);
//----
return(0);
}
//+-----------



Не компилится. :(

 

массив это цельный компонент, передавай его целиком и обрабатывай как нужно..

Причина обращения: