Aleksey Vyazmikin: Ищу функцию для поиска в директории файла по маске, поиск должен проходить во всех поддиректориях, функция должна возвращать массив с полным путем к файлу. Прошу поделится такой функцией.
Если такой вопрос возникает, значит задачу такую рановато решать, надо подучить матчасть. Но сейчас вместо злого меня придут добрые дяденьки и всё спокойно объяснят.
А я просто спрошу - а ты смотрел что в этом методе происходит вообще?
Вероятно, я правильно изначально понял, что метод не будет вызываться, потому что функцию я переопределил и собираюсь реализовать свой алгоритм. В методе уже реализованный алгоритм обработки ордеров. MQL5 знаю только по C/C++, а писал на них давно. Пожалел, что задал вопрос :)
Всем добрый день. Пытаюсь написать советник на пользовательском индикаторе.
На графике он рисует стрелки вот такого плана
У индикатора вот столько настроек. первая часть.
и вторая часть настроек
Индикатор ищет дивергенции по одному из 4-х классических индикаторов- ао, стохастик, rsi, macd.
Особенность индикатора заключается в том, что сигнальную стрелку он рисует при открытие свечи то естьна нулевомбаре и пока свеча формируется стрелка висит, а после закрытия свечи не перерисовывается.
В индикаторе 8 буферов. Т.к может нарисоваться 8 стрелок- 4 на продажу по каждому из стандартных индикаторов и 4 на покупку.
Выглядит это дело в окне данных вот так:
Как японимаю нулевой буфер это стрелка по стохастику на сел. Первый буфер это стрелка по стохастику на бай. Второй буфер стрелка по ао на сел. Третий буфер это стрелка по ао на бай. Четвёртый буфер это стрелка по rsi на сел. Пятый это стрелка rsi на бай. Шестой это стрелка по MACDна сел. И седьмой буфер это стрелка по MACD на бай.
Я перенёс в советник все входные параметры индикатора:
enum enumCoincidence
{
enCoinAccurate=1, // Точный
enCoinApproximate=0, // Приближенный
};
enum enumYN
{
enYes=1, // Да
enNo=0, // Нет
};
enum enumModeLINE
{
enMdMain=MODE_MAIN, // Main
enMdSign=MODE_SIGNAL,// Signal
};
enum enumSignalsMode
{
enBuy=0, // Только Buy
enSell=1, // Только Sell
enBoth=2, // Buy и Sell
};
externstring Params = "-- ПАРАМЕТРЫ ОТКРЫТИЯ СДЕЛКИ --";//======================================externdouble lot= 0.01; // ЛОТ ОРДЕРАexternint slippages= 5; // ПРОСКАЛЬЗЫВАНИЕexterndouble sl= 100; // СТОП ЛОС СДЕЛКИexterndouble tp= 100; // ТЕЙК ПРОФИТ СДЕЛКИexternstring coment= "trendova9_divepgenci9"; // КОМЕНТАРИЙ СОВЕТНИКАexternint magik_number= 123; // МАГИЧЕСКИЙ НОМЕР СОЕВТНИКАexterncolor Color = clrRed; // ЦВЕТ ОРДЕРОВ СОВЕТНИКАexternstring Params_tranclirpvani9 = "-- ПАРАМЕТРЫ ТРАНСЛИРОАВНИЯ СИГНАЛОВ --";//======================================externstring CTS_Params = "-- Параметры транслирования сигналов В CTS --";//======================================extern enumSignalsMode ModeSignalsCTS = enBoth; // Транслировать сигналы в CTS:externint LifetimeOfSignal = 5; // Время жизни сигнала в барах рабочего ТФexternstring CTS_Name = "123"; // Имя для CTSint lifetimeOfSignal; // Время жизни сигнала в барах рабочего тфexternstring Div_Params = "-- Параметры поиска дивергенций --";//======================================externENUM_TIMEFRAMES PeriodForWork = PERIOD_H4; // ТФ ДИВЕРГЕНЦИИENUM_TIMEFRAMES periodForWork; // ТАЙМФРЕЙМ, НА КОТОРОМ ИСКАТЬ ДИВЕРГЕНЦИИextern enumCoincidence SearchAccuracy = enCoinApproximate; // РЕЖИМ ПОИСКА СОВПАДЕНИЙexternint NumBarAccuracy = 3; // КОЛИЧЕСТВО БАРОВ НЕТОЧНОСТИ ПОИСКА ПИКОВint numBarAccuracy; // КОЛИЧЕСТВО БАРОВ НЕ ТОЧНОСТИ ПОИСКА ПИКОВexternint KoeffDistanceBetween = 5; // КОЭФФИЦИЕНТ "РАЗНИЦЫ" МЕЖДУ ЭКСТРЕМУМАМИ2double koeffForDistanceBetween; // КОЭФФИЦИЕНТ "РАЗНИЦЫ" МЕЖДУ ЭКСТРЕМУМАМИ2externint WidthChartLine = 2; // ТОЛЩИНА ЛИНИЙ НА ГРАФИКЕ ЦЕНЫint widthChartLine; // ТОЛЩИНА ЛИНИЙ НА ГРАФИКЕ ЦЕНЫexternint WidthIndicatorstLine = 2; // ТОЛЩИНА ЛИНИЙ В ОКНЕ ИНДИКАТОРОВint widthIndicatorstLine; // ТОЛЩИНА ЛИНИЙ В ОКНЕ ИНДИКАТОРОВ//--- используемые индикаторыexterndouble ShiftArrow = 1.0; // СМЕЩЕНИЕ ЗНАЧКОВdouble shiftArrow;
externstring AO_Params = "-- Параметры AO --";//======================================extern enumYN UseAO = enYes; // ИСКАТЬ ДИВЕРГЕНЦИИ НА АО?externcolor ColorUpperAO = clrRed; // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ АОexterncolor ColorLowerAO = clrBlue; // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ АО//---externstring Stoch_Params = "-- Параметры Stochastic --"; //======================================extern enumYN UseStoch = enNo; // ИСКАТЬ ДИВЕРГЕНЦИИ НА STOCHASTIC??extern enumModeLINE ModeLineSTO = enMdMain; // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:externint Period_K = 5; // ПЕРИОД %K STOCHASTICint period_K; // Период %K Stochasticexternint Period_D = 3; // ПЕРИОД %D STOCHASTICint period_D; // Период %D Stochasticexternint Slowing = 3; // ЗАМЕДЛЕНИЕ STOCHASTICint slowing; // Замедление StochasticexternENUM_STO_PRICE AppledPriceSTO = STO_CLOSECLOSE; // ЦЕНЫ РАСЧЁТА STOCHASTICexternENUM_MA_METHOD MethodMAStoch = MODE_SMA; // МЕТОД MA STOCHASTICexternint UpperLevelSTO = 80; // ВЕРХНИЙ УРОВЕНЬ STOCHASTICint upperLevelSTO; // Верхний уровень Stochasticexternint LowerLewelSTO = 20; // НИЖНИЙ УРОВЕНЬ STOCHASTICint lowerLewelSTO; // Нижний уровень Stochasticexterncolor ColorUpperSTO = clrRed; // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTICexterncolor ColorLowerSTO = clrBlue; // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTICexternstring RSI_Params = "-- ПАРАМЕТРЫ RSI --"; //======================================extern enumYN UseRSI = enNo; // ИСКАТЬ ДИВЕРГЕНЦИИ НА RSI?externint PeriodRSI = 14; // ПЕРИОД RSIint periodRSI;
externENUM_APPLIED_PRICE AppledPriceRSI = PRICE_CLOSE; // ПРИМЕНИТЬ К:externint UpperLevelRSI = 70; // ВЕРХНИЙ УРОВЕНЬ RSIint upperLevelRSI; // Верхний уровень RSIexternint LowerLewelRSI = 30; // НИЖНИЙ УРОВЕНЬ RSIint lowerLewelRSI; // Нижний уровень RSIexterncolor ColorUpperRSI = clrRed; // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSIexterncolor ColorLowerRSI = clrBlue; // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSIexternstring MACD_Params = "-- ПАРАМЕТРЫ MACD --"; //======================================extern enumYN UseMACD = enNo; // ИСКАТЬ ДИВЕРГЕНЦИИ НА MACDextern enumModeLINE ModeLineMACD = enMdMain; // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:externint FastEMA_MACD = 12; // БЫСТРОЕ EMA MACDint fastEMA_MACD; // Быстрое EMA MACDexternint SlowEMA_MACD = 26; // МЕДЛЕННОЕ EMA MACDint slowEMA_MACD; // Медленное EMA MACDexternint PeriodSignalMACD = 9; // ПЕРИОД СИГНАЛЬНОЙ SMA MACDint periodSignalMACD; // Период сигнальной SMA MACDexternENUM_APPLIED_PRICE AppledPriceMACD = PRICE_CLOSE; // ПРИМЕНИТЬ К:externcolor ColorUpperMACD = clrRed; // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACDexterncolor ColorLowerMACD = clrBlue; // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD//---//--- ОПОВЕЩЕНИЯexternstring Notifications_Params = "-- ПАРАМЕТРЫ ОПОВЕЩЕНИЙ --"; //======================================extern enumYN UseAlerts = enYes; // ОПОВЕЩАТЬ В ТЕРМИНАЛЕ О СИГНАЛЕextern enumYN UseMail = enNo; // ОПОВЕЩАТЬ НА E-MAIL О СИГНАЛЕextern enumYN UsePush = enNo; // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ//--- КОНЕЦ ВХОДНЫХ ПАРАМЕТРОВ
Дальше в он тик для начала хочу реализовать самую простую логику- появилась стрелка на любом из буферов открываю ордер…
voidOnTick()
{
double ao_sell; // СИГНАЛ ПО АО НА СЕЛЛdouble ao_buy; // СИГНАЛ ПО АО НА БАЙdouble stohastic_sell; //СИГНАЛ ПО СТОХАСТИКУ НА СЕЛ double stohastic_buy; // СИГНАЛ ПО СТОХАСТИКУ НА БАЙ//double iCustom( // string symbol, // имя символа // int timeframe, // таймфрейм // string name, // папка/имя_пользовательского индикатора // ... // список входных параметров индикатора // int mode, // источник данных // int shift // сдвиг //---АО НА СЕЛЛ
ao_sell = iCustom(Symbol(),PeriodForWork, //Таймфрейм на котором искать дивергенции"1)SEARCH_DIVERGENCE",
Params, // Параметры транслирования сигналов
ModeSignalsCTS, // транслировать сигналы в cts?
LifetimeOfSignal, //Время жизни сигнала в баарх рабочего тф
CTS_Name, // имя для cts
Div_Params, // параметры поиска дивергенции
PeriodForWork, // Таймфрейм на котором искать дивергенции
SearchAccuracy, // Режим поиска совпадений
NumBarAccuracy, // количество баров не точности поиска пиков
KoeffDistanceBetween,// коэффициент разницы между экстремумами
WidthChartLine, // толщина линий на графике цены
WidthIndicatorstLine,// толщина линий в окне индикаторов
ShiftArrow, // смещение значков
AO_Params, // Параметры АО
UseAO, // Искать дивергенции на АО
ColorUpperAO, // цвет верхних линий дивергенций АО
ColorLowerAO, // цвет нижних линий дивергенций АО
Stoch_Params, // параметры стохастик
UseStoch, // искать дивергенции на стохастик
ModeLineSTO, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:
Period_K, // период %К стохастик
Period_D, // период %Д стохастик
Slowing, // замедление стохастик
AppledPriceSTO, // цены расчёта стохастик
MethodMAStoch, // метод МА стохастик
UpperLevelSTO, // верхний уровень стохастик
LowerLewelSTO, // нижний уровень стохастик
ColorUpperSTO, // цвет верхних линий дивергенций стохастик
ColorLowerSTO, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC
RSI_Params, // ПАРАМЕТРЫ RSI
UseRSI, // ИСКАТЬ ДИВЕРГЕНЦИИ НА RSI?
PeriodRSI, // ПЕРИОД RSI
AppledPriceRSI, // ПРИМЕНИТЬ К
UpperLevelRSI, // ВЕРХНИЙ УРОВЕНЬ RSI
LowerLewelRSI, // НИЖНИЙ УРОВЕНЬ RSI
ColorUpperRSI, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
ColorLowerRSI, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
MACD_Params, // ПАРАМЕТРЫ MACD
UseMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ НА MACD
ModeLineMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:
FastEMA_MACD, // БЫСТРОЕ EMA MACD
SlowEMA_MACD, // МЕДЛЕННОЕ EMA MACD
PeriodSignalMACD, // ПЕРИОД СИГНАЛЬНОЙ SMA MACD
AppledPriceMACD, // ПРИМЕНИТЬ К:
ColorUpperMACD, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
ColorLowerMACD, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
Notifications_Params, // ПАРАМЕТРЫ ОПОВЕЩЕНИЙ
UseAlerts, // ОПОВЕЩАТЬ В ТЕРМИНАЛЕ О СИГНАЛЕ
UseMail, // ОПОВЕЩАТЬ НА E-MAIL О СИГНАЛЕ
UsePush, // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ 2, //ВТОРОЙ БУФЕР- АО СЕЛЛ0// СИГНАЛ НА НУЛЕВОЙ СВЕЧЕ ИЗ-ЗА ОСОБЕННОСТЕЙ ИНДИКАТОРА
);
//---АО НА БАЙ
ao_buy= iCustom(Symbol(),PeriodForWork, //Таймфрейм на котором искать дивергенции"1)SEARCH_DIVERGENCE",
Params, // Параметры транслирования сигналов
ModeSignalsCTS, // транслировать сигналы в cts?
LifetimeOfSignal, //Время жизни сигнала в баарх рабочего тф
CTS_Name, // имя для cts
Div_Params, // параметры поиска дивергенции
PeriodForWork, // Таймфрейм на котором искать дивергенции
SearchAccuracy, // Режим поиска совпадений
NumBarAccuracy, // количество баров не точности поиска пиков
KoeffDistanceBetween,// коэффициент разницы между экстремумами
WidthChartLine, // толщина линий на графике цены
WidthIndicatorstLine,// толщина линий в окне индикаторов
ShiftArrow, // смещение значков
AO_Params, // Параметры АО
UseAO, // Искать дивергенции на АО
ColorUpperAO, // цвет верхних линий дивергенций АО
ColorLowerAO, // цвет нижних линий дивергенций АО
Stoch_Params, // параметры стохастик
UseStoch, // искать дивергенции на стохастик
ModeLineSTO, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:
Period_K, // период %К стохастик
Period_D, // период %Д стохастик
Slowing, // замедление стохастик
AppledPriceSTO, // цены расчёта стохастик
MethodMAStoch, // метод МА стохастик
UpperLevelSTO, // верхний уровень стохастик
LowerLewelSTO, // нижний уровень стохастик
ColorUpperSTO, // цвет верхних линий дивергенций стохастик
ColorLowerSTO, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC
RSI_Params, // ПАРАМЕТРЫ RSI
UseRSI, // ИСКАТЬ ДИВЕРГЕНЦИИ НА RSI?
PeriodRSI, // ПЕРИОД RSI
AppledPriceRSI, // ПРИМЕНИТЬ К
UpperLevelRSI, // ВЕРХНИЙ УРОВЕНЬ RSI
LowerLewelRSI, // НИЖНИЙ УРОВЕНЬ RSI
ColorUpperRSI, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
ColorLowerRSI, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
MACD_Params, // ПАРАМЕТРЫ MACD
UseMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ НА MACD
ModeLineMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:
FastEMA_MACD, // БЫСТРОЕ EMA MACD
SlowEMA_MACD, // МЕДЛЕННОЕ EMA MACD
PeriodSignalMACD, // ПЕРИОД СИГНАЛЬНОЙ SMA MACD
AppledPriceMACD, // ПРИМЕНИТЬ К:
ColorUpperMACD, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
ColorLowerMACD, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
Notifications_Params, // ПАРАМЕТРЫ ОПОВЕЩЕНИЙ
UseAlerts, // ОПОВЕЩАТЬ В ТЕРМИНАЛЕ О СИГНАЛЕ
UseMail, // ОПОВЕЩАТЬ НА E-MAIL О СИГНАЛЕ
UsePush, // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ 3, // ТРЕТИЙ БУФЕР- АО БАЙ0// СИГНАЛ НА НУЛЕВОЙ СВЕЧЕ ИЗ-ЗА ОСОБЕННОСТЕЙ ИНДИКАТОРА
);
stohastic_sell = iCustom(Symbol(),PeriodForWork, //Таймфрейм на котором искать дивергенции"1)SEARCH_DIVERGENCE",
Params, // Параметры транслирования сигналов
ModeSignalsCTS, // транслировать сигналы в cts?
LifetimeOfSignal, //Время жизни сигнала в баарх рабочего тф
CTS_Name, // имя для cts
Div_Params, // параметры поиска дивергенции
PeriodForWork, // Таймфрейм на котором искать дивергенции
SearchAccuracy, // Режим поиска совпадений
NumBarAccuracy, // количество баров не точности поиска пиков
KoeffDistanceBetween,// коэффициент разницы между экстремумами
WidthChartLine, // толщина линий на графике цены
WidthIndicatorstLine,// толщина линий в окне индикаторов
ShiftArrow, // смещение значков
AO_Params, // Параметры АО
UseAO, // Искать дивергенции на АО
ColorUpperAO, // цвет верхних линий дивергенций АО
ColorLowerAO, // цвет нижних линий дивергенций АО
Stoch_Params, // параметры стохастик
UseStoch, // искать дивергенции на стохастик
ModeLineSTO, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:
Period_K, // период %К стохастик
Period_D, // период %Д стохастик
Slowing, // замедление стохастик
AppledPriceSTO, // цены расчёта стохастик
MethodMAStoch, // метод МА стохастик
UpperLevelSTO, // верхний уровень стохастик
LowerLewelSTO, // нижний уровень стохастик
ColorUpperSTO, // цвет верхних линий дивергенций стохастик
ColorLowerSTO, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC
RSI_Params, // ПАРАМЕТРЫ RSI
UseRSI, // ИСКАТЬ ДИВЕРГЕНЦИИ НА RSI?
PeriodRSI, // ПЕРИОД RSI
AppledPriceRSI, // ПРИМЕНИТЬ К
UpperLevelRSI, // ВЕРХНИЙ УРОВЕНЬ RSI
LowerLewelRSI, // НИЖНИЙ УРОВЕНЬ RSI
ColorUpperRSI, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
ColorLowerRSI, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
MACD_Params, // ПАРАМЕТРЫ MACD
UseMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ НА MACD
ModeLineMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:
FastEMA_MACD, // БЫСТРОЕ EMA MACD
SlowEMA_MACD, // МЕДЛЕННОЕ EMA MACD
PeriodSignalMACD, // ПЕРИОД СИГНАЛЬНОЙ SMA MACD
AppledPriceMACD, // ПРИМЕНИТЬ К:
ColorUpperMACD, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
ColorLowerMACD, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
Notifications_Params, // ПАРАМЕТРЫ ОПОВЕЩЕНИЙ
UseAlerts, // ОПОВЕЩАТЬ В ТЕРМИНАЛЕ О СИГНАЛЕ
UseMail, // ОПОВЕЩАТЬ НА E-MAIL О СИГНАЛЕ
UsePush, // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ 0, // НУЛЕВОЙ БУФЕР-- СТОХАСТАИК НА СЕЛЛ0// СИГНАЛ НА НУЛЕВОЙ СВЕЧЕ ИЗ-ЗА ОСОБЕННОСТЕЙ ИНДИКАТОРА
);
stohastic_buy = iCustom(Symbol(),PeriodForWork, //Таймфрейм на котором искать дивергенции"1)SEARCH_DIVERGENCE",
Params, // Параметры транслирования сигналов
ModeSignalsCTS, // транслировать сигналы в cts?
LifetimeOfSignal, //Время жизни сигнала в баарх рабочего тф
CTS_Name, // имя для cts
Div_Params, // параметры поиска дивергенции
PeriodForWork, // Таймфрейм на котором искать дивергенции
SearchAccuracy, // Режим поиска совпадений
NumBarAccuracy, // количество баров не точности поиска пиков
KoeffDistanceBetween,// коэффициент разницы между экстремумами
WidthChartLine, // толщина линий на графике цены
WidthIndicatorstLine,// толщина линий в окне индикаторов
ShiftArrow, // смещение значков
AO_Params, // Параметры АО
UseAO, // Искать дивергенции на АО
ColorUpperAO, // цвет верхних линий дивергенций АО
ColorLowerAO, // цвет нижних линий дивергенций АО
Stoch_Params, // параметры стохастик
UseStoch, // искать дивергенции на стохастик
ModeLineSTO, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:
Period_K, // период %К стохастик
Period_D, // период %Д стохастик
Slowing, // замедление стохастик
AppledPriceSTO, // цены расчёта стохастик
MethodMAStoch, // метод МА стохастик
UpperLevelSTO, // верхний уровень стохастик
LowerLewelSTO, // нижний уровень стохастик
ColorUpperSTO, // цвет верхних линий дивергенций стохастик
ColorLowerSTO, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC
RSI_Params, // ПАРАМЕТРЫ RSI
UseRSI, // ИСКАТЬ ДИВЕРГЕНЦИИ НА RSI?
PeriodRSI, // ПЕРИОД RSI
AppledPriceRSI, // ПРИМЕНИТЬ К
UpperLevelRSI, // ВЕРХНИЙ УРОВЕНЬ RSI
LowerLewelRSI, // НИЖНИЙ УРОВЕНЬ RSI
ColorUpperRSI, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
ColorLowerRSI, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
MACD_Params, // ПАРАМЕТРЫ MACD
UseMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ НА MACD
ModeLineMACD, // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:
FastEMA_MACD, // БЫСТРОЕ EMA MACD
SlowEMA_MACD, // МЕДЛЕННОЕ EMA MACD
PeriodSignalMACD, // ПЕРИОД СИГНАЛЬНОЙ SMA MACD
AppledPriceMACD, // ПРИМЕНИТЬ К:
ColorUpperMACD, // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
ColorLowerMACD, // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
Notifications_Params, // ПАРАМЕТРЫ ОПОВЕЩЕНИЙ
UseAlerts, // ОПОВЕЩАТЬ В ТЕРМИНАЛЕ О СИГНАЛЕ
UseMail, // ОПОВЕЩАТЬ НА E-MAIL О СИГНАЛЕ
UsePush, // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ 1, // ПЕРВЫЙ БУФЕР-- СТОХАСТАИК НА БАЙ0// СИГНАЛ НА НУЛЕВОЙ СВЕЧЕ ИЗ-ЗА ОСОБЕННОСТЕЙ ИНДИКАТОРА
);
if(ao_buy!= EMPTY_VALUE && OrdersTotal()==0)
{
OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl*Point,Bid+tp*Point,"ДИВЕРГЕНЦИЯ НА БАЙ ao"); // ОТКРЫВАЕМ БАЙ ОРДЕР
} else
{
if(ao_sell!=EMPTY_VALUE&& OrdersTotal()==0)
{
OrderSend(Symbol(),OP_SELL,lot,Bid,slippages,Ask+sl*Point,Ask-tp*Point,"ДИВЕРГЕНЦИЯ НА СЕЛ СТОХАСТИК"); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
} else
{
if(stohastic_buy!=EMPTY_VALUE && OrdersTotal()==0 )
{
OrderSend(Symbol(),OP_BUY,lot,Ask,slippages,Bid-sl*Point,Bid+tp*Point,"ДИВЕРГЕНЦИЯ НА БАЙ ao"); // ОТКРЫВАЕМ БАЙ ОРДЕР
} else
{
if(stohastic_sell!=EMPTY_VALUE && OrdersTotal()==0)
{
OrderSend(Symbol(),OP_SELL,lot,Bid,slippages,Ask+sl*Point,Ask-tp*Point,"ДИВЕРГЕНЦИЯ НА СЕЛ СТОХАСТИК"); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
}
}
}
}
Для начала объявил переменные для получения сигналов по ао- на бай и на сел и через функцию iCustom получаю значение для ао бай из третьего буфера и для ао сел из второго.И точно так же получаю значения для стохастик бай из нулевогобуфера и для стохастик сел из первого буфера.
После того как получил значения из буферов в переменные делаю проверку на наличие стрелки на графике.
В тестере стратегий получается что если во входных параметрах включаю анализ по АО то сделки открываются- всё нормально… А если включаю анализ по стохастику то ничего не происходит- ни ошибок ни ещё чего-то. Подскажите мне пожалуйста- что я делаю не правильно в получении значения индикаторного буфера или в проверке что в нём что-то есть? Как исправить мою ошибку?
Заранее благодарю. p/s сразу отвечаю на возможныйвопрос, а почему коментарии написаны капсом- не больной ли я, так делать? Пишу так так как мне это удобно смотреть в силу моей инвалидности первойгруппы после комы в 1,5 месяца.
Для начала объявил переменные для получения сигналов по ао- на бай и на сел и через функцию iCustom получаю значение для ао бай из третьего буфера и для ао сел из второго.И точно так же получаю значения для стохастик бай из нулевогобуфера и для стохастик сел из первого буфера.
После того как получил значения из буферов в переменные делаю проверку на наличие стрелки на графике.
В тестере стратегий получается что если во входных параметрах включаю анализ по АО то сделки открываются- всё нормально… А если включаю анализ по стохастику то ничего не происходит- ни ошибок ни ещё чего-то. Подскажите мне пожалуйста- что я делаю не правильно в получении значения индикаторного буфера или в проверке что в нём что-то есть? Как исправить мою ошибку?
Заранее благодарю. p/s сразу отвечаю на возможныйвопрос, а почему коментарии написаны капсом- не больной ли я, так делать? Пишу так так как мне это удобно смотреть в силу моей инвалидности первойгруппы после комы в 1,5 месяца.
В каком смысле "формат маскирования "? Как обычно, к примеру "*.csv", отдельно указываем директорию для начала поиска.
ну "обычно" разное может быть. Стандартные для ОС можно же ещё расширить по своим нуждам. Например дату в названии задавать разными форматами и т.п.
Ищу функцию для поиска в директории файла по маске, поиск должен проходить во всех поддиректориях, функция должна возвращать массив с полным путем к файлу. Прошу поделится такой функцией.
FileFindFirst поддерживает поиск по маске. Осталось написать рекурсивную функцию для всех подкаталогов.
Если такой вопрос возникает, значит задачу такую рановато решать, надо подучить матчасть. Но сейчас вместо злого меня придут добрые дяденьки и всё спокойно объяснят.
А я просто спрошу - а ты смотрел что в этом методе происходит вообще?
ну "обычно" разное может быть. Стандартные для ОС можно же ещё расширить по своим нуждам. Например дату в названии задавать разными форматами и т.п.
Пока не вижу смысла усложнять.
FileFindFirst
FileFindFirst поддерживает поиск по маске. Осталось написать рекурсивную функцию для всех подкаталогов.
Теорию я знаю, спасибо.
Всем добрый день. Пытаюсь написать советник на пользовательском индикаторе.
На графике он рисует стрелки вот такого плана
У индикатора вот столько настроек. первая часть.
и вторая часть настроек
Индикатор ищет дивергенции по одному из 4-х классических индикаторов- ао, стохастик, rsi, macd.
Особенность индикатора заключается в том, что сигнальную стрелку он рисует при открытие свечи то есть на нулевом баре и пока свеча формируется стрелка висит, а после закрытия свечи не перерисовывается.
В индикаторе 8 буферов. Т.к может нарисоваться 8 стрелок- 4 на продажу по каждому из стандартных индикаторов и 4 на покупку.
Выглядит это дело в окне данных вот так:
Как я понимаю нулевой буфер это стрелка по стохастику на сел. Первый буфер это стрелка по стохастику на бай. Второй буфер стрелка по ао на сел. Третий буфер это стрелка по ао на бай. Четвёртый буфер это стрелка по rsi на сел. Пятый это стрелка rsi на бай. Шестой это стрелка по MACD на сел. И седьмой буфер это стрелка по MACD на бай.
Я перенёс в советник все входные параметры индикатора:
Дальше в он тик для начала хочу реализовать самую простую логику- появилась стрелка на любом из буферов открываю ордер…
Для начала объявил переменные для получения сигналов по ао- на бай и на сел и через функцию iCustom получаю значение для ао бай из третьего буфера и для ао сел из второго. И точно так же получаю значения для стохастик бай из нулевого буфера и для стохастик сел из первого буфера.
После того как получил значения из буферов в переменные делаю проверку на наличие стрелки на графике.
В тестере стратегий получается что если во входных параметрах включаю анализ по АО то сделки открываются- всё нормально… А если включаю анализ по стохастику то ничего не происходит- ни ошибок ни ещё чего-то. Подскажите мне пожалуйста- что я делаю не правильно в получении значения индикаторного буфера или в проверке что в нём что-то есть? Как исправить мою ошибку?
Заранее благодарю. p/s сразу отвечаю на возможный вопрос, а почему коментарии написаны капсом- не больной ли я, так делать? Пишу так так как мне это удобно смотреть в силу моей инвалидности первой группы после комы в 1,5 месяца.
Для начала объявил переменные для получения сигналов по ао- на бай и на сел и через функцию iCustom получаю значение для ао бай из третьего буфера и для ао сел из второго. И точно так же получаю значения для стохастик бай из нулевого буфера и для стохастик сел из первого буфера.
После того как получил значения из буферов в переменные делаю проверку на наличие стрелки на графике.
В тестере стратегий получается что если во входных параметрах включаю анализ по АО то сделки открываются- всё нормально… А если включаю анализ по стохастику то ничего не происходит- ни ошибок ни ещё чего-то. Подскажите мне пожалуйста- что я делаю не правильно в получении значения индикаторного буфера или в проверке что в нём что-то есть? Как исправить мою ошибку?
Заранее благодарю. p/s сразу отвечаю на возможный вопрос, а почему коментарии написаны капсом- не больной ли я, так делать? Пишу так так как мне это удобно смотреть в силу моей инвалидности первой группы после комы в 1,5 месяца.
Для начала в коде много лишних скобок
а чтобы посмотреть в чем проблема не вчитываясь в код, надо советника запустить в тестере
Туплю. 132 бара. У меня на каждом баре 6 значений. Как массивом записать? Структурой не хочется)
Эээээ
то?