Подскажите как дописать чтоб еще и советник смотрел на часовую свечку, ч
if(Close[1]>Open[1] && (Close[Period_h1]>Open[Period_h1
double iClose( string symbol, int timeframe, int shift) Возвращает значение цены закрытия указанного параметром shift бара с соответствующего графика (symbol, timeframe). В случае ошибки функция возвращает 0. Для получения дополнительной информации об ошибке необходимо вызвать функцию GetLastError(). Для текущего графика информация о ценах закрытия находится в предопределенном массиве Close[]. Параметры: symbol - Символьное имя инструмента. NULL означает текущий символ. timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика. shift - Индекс получаемого значения из таймсерии (сдвиг относительно текущего бара на указанное количество периодов назад). Пример: Print("Current bar for USDCHF H1: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ", iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ", iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
Остальное по аналогии.
Удачи.
У меня советник по свечкам, хочу добавить условие чтоб текущая свечка на вышем(часовом) была open>Ask для бай/селл.
extern int shift=0; // bar in the past to take in consideration for the signal
int signal=0;
if((down && harami && (Open[shift+2]>Close[shift+2]) && (Open[shift+1]>Close[shift+2]) && (Close[shift+1]<Open[shift+2]) && (Close[shift+1]>Open[shift+1]))
|| (cross && (Open[shift+2]>Close[shift+2]) && (Open[shift+1]>Close[shift+2])&& (Open[shift+1]<Open[shift+2])&& (Close[shift+1]>Open[shift+2]))
|| (engulf && (Close[shift+2]<Open[shift+2]) && (Open[shift+1]<Close[shift+2]) && (Close[shift+1]>Open[shift+2]))
|| (pierce && (Close[shift+2]<Open[shift+2]) && (Close[shift+1]>Open[shift+1]) && ((Open[shift+1]<Close[shift+2])) && (Close[shift+1]>Close[shift+2]+((Open[shift+2]-Close[shift+2])/2)))
|| (morningstar && (Close[shift+3]<Open[shift+3]) && (Open[shift+2]<Close[shift+3]) && (Close[shift+2]<Close[shift+3]) && ((Open[shift+1]>Close[shift+2]) && (Open[shift+1]>Open[shift+2])) && (Close[shift+1]>=Close[shift+3]))
|| (hammer && (Open[shift+1]-Low[shift+1]>MathMax(High[shift+1]-Close[shift+1],Close[shift+1]-Open[shift+1])*3) && (Close[shift+1]-Low[shift+1]>MathMax(High[shift+1]-Close[shift+1],Close[shift+1]-Open[shift+1])*3))
У меня советник по свечкам, хочу добавить условие чтоб текущая свечка на вышем(часовом) была open>Ask для бай/селл.
давайте для начала вы разгрузите свой код.
сделайте так.
double cl1=Close[i+1]; double cl2=Close[i+2]; double op1=Open[i+1]; double op2=Open[i+2]; bool IsHarami=(down && harami && op2>cl2 && op1>cl2 && cl1<op2 && cl1>op1); bool IsCross=(cross && op2>cl2 && op1>cl2 && op1<op2 && cl1>op2); ....
чтоб были видны простые базовые конструкции условий
а потом сливайте в кучу
if (IsHarami || IsCross || ... || iOpen(Symbol(), PERIOD_H1, i)>Ask)
{
...
}
я могу выгрузить весь код, но разгрузить наверное я не смогу так как не программер и не знаю как
вы непоняли слов выгрузить и разгрузить:)
я показал вам пример как облегчить себе жизнь в программировании. согласитесь, что предлагаемый мной код облегчает его же восприятие.
во вторых я добавил вам требуемое условие, которое вам нужно iOpen(Symbol(), PERIOD_H1, i)>Ask
Спасибо,
|| (pierce && (Close[shift+2]<Open[shift+2]) && (Close[shift+1]>Open[shift+1]) && ((Open[shift+1]<Close[shift+2])) && (Close[shift+1]>Close[shift+2]+((Open[shift+2]-Close[shift+2])/2))&&(iOpen(Symbol(),PERIOD_H1,i) < Ask ?
i - это текущая свечка?
Можно сделать еще вот так добавив тело свечки?
extern int size=20;
(iOpen(Symbol(),PERIOD_H1,i) < Ask +size*pt
Можно сделать еще вот так добавив тело свечки?
extern int size=20;
(iOpen(Symbol(),PERIOD_H1,i) < Ask +size*pt
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите как дописать чтоб еще и советник смотрел на часовую свечку, ч
if(Close[1]>Open[1] && (Close[Period_h1]>Open[Period_h1]