привет посмотри может поможет
- www.mql5.com
ObjectGetValueByShift
эта функция поможет
Спасибо за отклик, ObjectGetValueByShift я его итак использую)) тренд удаляется когда Close[1] выше линии тренда, но мне надо чтобы удалился когда с цены 1 до цены 2 было Close[] больше линии тренда))
мне нужно проверить не было ли с цены 1 до цены 2 Close выше линии... если да то удалить линию
Спасибо за отклик, ObjectGetValueByShift я его итак использую)) тренд удаляется когда Close[1] выше линии тренда, но мне надо чтобы удалился когда с цены 1 до цены 2 было Close[] больше линии тренда))
мне нужно проверить не было ли с цены 1 до цены 2 Close выше линии... если да то удалить линию
берите время цены 1 и находите номер бара
также и для цены 2 нужно найти номер бара
затем перебираем все бары между ними и сравниваем закрытие с ценой трендовой линии
нужно условие сошлось - удаляем трендовую линию
берите время цены 1 и находите номер бара
также и для цены 2 нужно найти номер бара
затем перебираем все бары между ними и сравниваем закрытие с ценой трендовой линии
нужно условие сошлось - удаляем трендовую линию
Номера баров я узнал, а как перебирать?) можете пример показать? Спасибо
int bar2 = iBarShift(Symbol(),0,Time2);- номер бара второй координаты
if(bar1>bar2)//еще нужно проверить есть ли такая трендовая
{
for(int i=bar1-1; i>bar2; i--)
{
if(Close[i]>ObjectGetValueByShift("MyTrendLine",i))
Delete("MyTrendLine");
}
}
int bar2 = iBarShift(Symbol(),0,Time2);- номер бара второй координаты
if(bar1>bar2)//еще нужно проверить есть ли такая трендовая
{
for(int i=bar1-1; i>bar2; i--)
{
if(Close[i]>ObjectGetValueByShift("MyTrendLine",i))
Delete("MyTrendLine");
}
}
Спасибо, но что-то не получается...((
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com/aibekus2012"
#property version "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//---- input parameters
extern int nPeriod=10;
extern int Limit=300;
///---- int Widners Oscilator
int cnt,nCurBar=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
double r1=0,r2=0,r3=0,r4=0,r5=0,r6=0;
int rt1=0,rt2=0,rt3=0,rt4=0,rt5=0,rt6=0;
double s1=0,s2=0,s3=0,s4=0,s5=0,s6=0;
int st1=0,st2=0,st3=0,st4=0,st5=0,st6=0;
//---- Линии сопротивления и поддержки
if(Bars<Limit) Limit=Bars-nPeriod;
for(nCurBar=Limit; nCurBar>0; nCurBar--)
{
if(Low[nCurBar+(nPeriod-1)/2]==Low[Lowest(NULL,0,MODE_LOW,nPeriod,nCurBar)])
{
s6=s5; s5=s4; s4=s3; s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];
st6=st5; st5=st4; st4=st3; st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2;
}
if(High[nCurBar+(nPeriod-1)/2]==High[Highest(NULL,0,MODE_HIGH,nPeriod,nCurBar)])
{
r6=r5; r5=r4; r4=r3; r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2];
rt6=rt5; rt5=rt4; rt4=rt3; rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2;
}
}
if (r1<r2){
ObjectSet("Trend UP-0",OBJPROP_TIME1,rt1);
ObjectSet("Trend UP-0",OBJPROP_TIME2,rt2);
ObjectSet("Trend UP-0",OBJPROP_PRICE1,r1);
ObjectSet("Trend UP-0",OBJPROP_PRICE2,r2);
ObjectSet("Trend UP-0",OBJPROP_COLOR,Blue);
ObjectCreate("Trend UP-0",OBJ_TREND,0,0,0,1,0);
ObjectMove("Trend UP-0",1,Time[rt1],r1);
ObjectMove("Trend UP-0",0,Time[rt2],r2);}
//----
int bar1 = iBarShift(Symbol(),0,rt1);
int bar2 = iBarShift(Symbol(),0,rt2);
for(int i=bar1-1; i>bar2; i--)
{
if(Close[i]>ObjectGetValueByShift("Trend UP-0",i))
ObjectDelete("Trend UP-0");
Print ("Удален");
}
return(0);
}
//+------------------------------------------------------------------+
о! а вот и код, гадание на бараньей лопатке прекращается...
rt1 и rt2 это у вас int, а не datetime
int bar2 = rt2;
о! а вот и код, гадание на бараньей лопатке прекращается...
rt1 и rt2 это у вас int, а не datetime
int bar2 = rt2;
))) заменил, но всё равно не перебирает((
нет конечно, вы не делаете проверок,
все должно быть наоборот, так как rt1<rt2
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет! Работаю с линиями тренда и столкнулся с проблемой... Не знаю как проверить бары от цены 1 до цены 2 и если Close была выше линии тренда надо удалить линии) Помогите) Спасибо