[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 64

 
почему значение индикатора ROC фактически не принимает значение меньше "0", а графически принимает?
 
vilard:
почему значение индикатора ROC фактически не принимает значение меньше "0", а графически принимает?

Какой ROC? Этот?
 
 

Всем привет. Ребят у меня есть условие найти максимум: но в пределах коридора.

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

оно не работает.
если убираю коридор Все ок:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

В чем может быть проблема?

Я так понимаю что max<1000 надо увеличить, пробовал но не получилось.

Вот пример в цифрах:

1. 4100<1.4150<1.4200 но вот 1.4150 должен попасть

в пределы low_level_s(1.4145), high_level_s(1.4155) . В этом примере попала.

Вот а если не попала, предположим у нас 1.4160, то ищем дальше. Проблема в том, что этот high може токазаться 3 года назад к примеру. программа не может его найти.

Что делать? Может можно как-то достать архив котировок?

 

Посмотрите по моей ссылки - это базовый вариант с описанием работы индикатора скорости изменения цены + советник на его основе (iCustom() индикатор поддается). Если у Вас другие торговые условия входа в рынок, правьте существующие и вперед, все тестируется прекрасно, сейчас сам, только что закончил его тестирование, как варианта теханализа (фильтра на вход в рынок), тем более есть описание и все остальное... Правьте, под Ваши условия и все. Советник - здесь.
 
Roman.:

Посмотрите по моей ссылки - это базовый вариант с описанием работы индикатора скорости изменения цены + советник на его основе (iCustom() индикатор поддается). Если у Вас другие торговые условия входа в рынок, правьте существующие и вперед, все тестируется прекрасно, сейчас сам, только что закончил его тестирование, как варианта теханализа (фильтра на вход в рынок), тем более есть описание и все остальное... Правьте, под Ваши условия и все. Советник - здесь.

спасибо
 

Фух!! Комп савсем отказал!! Реагирует с задержкой,выпрыгивают ни те окна,, не удаляеца, зависает.. Перегружал 20 раз- выключением из сети.

Спасибо!!

Мож, и вирус.

Папка пользователи там сорок пять тысяч мегабайт, боже мой! И сума вложеных в нее папок, сума чего она содержит, проверяя нажатием на свойства папки, никак не дает и тридцатой части.

Она не удаляецца!!! Просто тормозит, ничего не ругаеца

Ничего не закачуеца, не удаляеца, с трудом поудалял фотки и потом киношку про нинзя, место добавилось края как несущественно, милиметр красного.

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

код Трайлингстопа.

extern double  lots    = 1,

               No_Loss              = 7,     //перевод в безубыток
               TrailingStop         = 12;     //тралл  

extern string P_Performanc0= "-- 1 --";

extern int TP1BUY   = 222,  
           SL1BUY   = 99999;   

extern string P_Performanc1= "-- 2 --";  

extern int TP2SELL  = 222,
           SL2SELL  = 99999;
           
extern string P_Performanc2= "-- 3 --";         
           
extern int TP3BUY   = 222,         
           SL3BUY   = 99999;

extern string P_Performanc3= "-- 4 --";   
           
extern int TP4SELL  = 222,
           SL4SELL  = 99999;          

extern string P_Performanc4= "-- 5 --";        
           
extern int TP5BUY   = 222,
           SL5BUY   = 99999;
           
extern string P_Performanc5= "-- 6 --";              
           
extern int TP6SELL  = 222,        
           SL6SELL  = 99999;
           
extern string P_Performanc6= "-- 7 --";              
           
extern int TP7BUY   = 222,
           SL7BUY   = 99999; 
           
extern string P_Performanc7= "-- 8 --";              
           
extern int TP8SELL  = 222,
           SL8SELL  = 99999;                   

           
int        last_bar = 0;

int start()
{
   if (TrailingStop!=0) TrailingStop(0,TrailingStop);
   if (No_Loss!=0)      TrailingStop(1,No_Loss);
   string Name;
   //-----------------------------------------------------------------------   
double StopLevel =MarketInfo(Symbol(),MODE_STOPLEVEL);  // текущий уровень стопов  
   if (last_bar == Bars) return(0);
   last_bar = Bars;
   if (OrdersTotal() == 0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL1BUY*Point,Ask+TP1BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL3BUY*Point,Ask+TP3BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL5BUY*Point,Ask+TP5BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL7BUY*Point,Ask+TP7BUY*Point);

OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL2SELL*Point,Bid-TP2SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL4SELL*Point,Bid-TP4SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL6SELL*Point,Bid-TP6SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL8SELL*Point,Bid-TP8SELL*Point);
   } 
   return(0);
}
void TrailingStop(int NL, int tral)
{
   int tip,Ticket;
   bool error;
   double StLo,OSL,OOP;
   for (int i=0; i<OrdersTotal(); i++) 
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  tip = OrderType();
         if (tip<8 && OrderSymbol()==Symbol())
         {
            OSL   = OrderStopLoss();
            OOP   = OrderOpenPrice();
            Ticket = OrderTicket();
            if (tip==OP_BUY)             
            {
               if (NL==1 && OSL>OOP) continue;
               StLo = NormalizeDouble(Bid - tral*Point,Digits); 
               if (StLo > OSL && StLo > OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (NL==1 && (OSL<OOP&&OSL!=0)) continue;
               StLo = NormalizeDouble(Ask + tral*Point,Digits);
               if ((StLo < OSL||OSL==0) && StLo < OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            } 
         }
      }
   }
}
//--------------------------------------------------------------------
 
Подскажите, пожалуйста, возможно ли отображать различные линии ОДНОГО индикатора в РАЗНЫХ под-окошках графика. Спасибо.
 
Откройте индикатор в двух окнах и установите ненужную линию под цвет фона.
Причина обращения: