[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 145

 
100yan:

Спасибо!
Но не получается - идет простой сдвиг..., а мне нужно узнать значение МА 56 баров назад! Мож кто подскажет? Заранее спасибо!
 
ma_shift - это сдвиг, shift - бар, на котором расчитывается МА
 
eddy:

double iMA( symbol, timeframe, period, ma_shift, ma_method, applied_price, shift)
Параметры:
ma_shift
- Сдвиг индикатора относительно ценового графика.
shift - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад).

Это я тоже прочитал..., может не так понял, но на практике пробовал по-разному... Не получается! Например Аллигатор: меняешь в индикаторе что ма_shift, что shift результат один - на графике сдвиг... Почему?
 
IgorM:
все правильно, только нет контроля, что уже выставлен ордер, т.е. у Вас сейчас каждый тик будет выставляться новый ордер

А как этот контроль выставить?
 
100yan:
Это я тоже прочитал..., может не так понял, но на практике пробовал по-разному... Не получается! Например Аллигатор: меняешь в индикаторе что ма_shift, что shift результат один - на графике сдвиг... Почему?

сдвига нет если ma_shift=0, наверно сдвиг тебе показался изза отсутствие значений после shift, т.е. потомушто кончается линия

 
Подскажите, как переместить или скопировать объекты (в моём случае вертикальные линии) с одного окна в другое?
 
AndrejFX:
Подскажите, как переместить или скопировать объекты (в моём случае вертикальные линии) с одного окна в другое?

в кодебазе есть синхронизатор объектов

но если только вертикальные, то этот лучше

 
sergeev:

в кодебазе есть синхронизатор объектов

но если только вертикальные, то этот лучше

нарядный скрипт, благодарствую!
 

eddy:

почему у меня MainBuffer[i] бывает больше 100? где ошибка?

нашёл где ошибка, но не пойму почему

HighesBuffer[i]=MathMax(HighesBuffer[i],High[k]); //if(High[k]>maximum) maximum=High[k];
 LowesBuffer[i]=MathMin(LowesBuffer[i],Low[k]);   // if(Low[k]<minimum) minimum=Low[k];

не то же самое что

if(High[k]>HighesBuffer[i]) HighesBuffer[i]=High[k];
if(Low[k]<LowesBuffer[i]) LowesBuffer[i]=Low[k];
 


Ребят помогите, что то не догоняю....
Вход на покупку: Когда два индикатора RSI с периодами 14 и 17 одновременно пересекают и закрываются выше уровеня 30 снизу вверх....

Вход на продажу: Когда два индикатора RSI с периодами 14 и 17 одновременно пересекают и закрываются ниже уровеня 70 сверху вниз....

Интересует как раз одновременный перекрест кровня...т.е. ПРИМЕР

diRSI1 и diRSI2 были оба меньше 30, а по закрытию следующей свечи оба больше 30... Аналогично с уровнем 70!


double diRSI1=iRSI(NULL,0,14,PRICE_CLOSE,0);
double diRSI2=iRSI(NULL,0,17,PRICE_CLOSE,0);
double diRSI3=iRSI(NULL,0,14,PRICE_CLOSE,1);
double diRSI4=iRSI(NULL,0,17,PRICE_CLOSE,1);

if(AccountFreeMargin()<(100*Lots)){
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
if (!ExistPositions()){

if (( diRSI1>30 && diRSI2>30 && diRSI3<30 && diRSI4<30)){
OpenBuy();
return(0);
}

if ((diRSI1<70 && diRSI2<70 && diRSI3>70 && diRSI4>70)){
OpenSell();
return(0);
}
}


если правильно то на тесте все равно открывает сделки, которые не подходят....

ПАРНИ ХЕЛП...

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