¿Qué quiere decir con"formato de enmascaramiento "? Como es habitual, por ejemplo, "*.csv", especifique por separado el directorio en el que se iniciará la búsqueda.
Bueno, "normalmente" puede ser diferente. Las estándar para el sistema operativo se pueden ampliar según sus necesidades. Por ejemplo, puede especificar la fecha en el nombre en diferentes formatos, etc.
Aleksey Vyazmikin: Busco una función para buscar el directorio de un archivo por máscara, la búsqueda debe pasar por todos los subdirectorios, la función debe devolver un array con la ruta completa del archivo. Por favor, comparta dicha función.
Si se plantea esta cuestión, significa que es demasiado pronto para resolver ese problema, hay que aprender lo básico. Pero ahora, en lugar del malvado yo, vendrán unas personas bondadosas a explicarlo todo con calma.
Y sólo voy a preguntar: ¿has mirado lo que pasa en este método en absoluto?
Seguramente he acertado inicialmente en que el método no será llamado, porque he anulado la función y voy a implementar mi algoritmo. Ya he implementado un algoritmo para el procesamiento de pedidos en el método. Sólo conozco MQL5 en C/C++ pero lo escribí hace mucho tiempo. Me arrepiento de mi pregunta :)
Bueno, "normalmente" puede ser diferente. El sistema operativo estándar también puede ampliarse para adaptarse a sus necesidades. Por ejemplo, la fecha en el nombre puede establecerse en diferentes formatos, etc.
Buenas tardes a todos. Estoy tratando de escribir un asesor sobre un indicador personalizado.
En el gráfico, dibuja flechas como esta
El indicador tiene tantas configuraciones. Primera parte.
y la segunda parte de la configuración
El indicador busca divergencias basadas en uno de los 4 indicadores clásicos: ao, estocástico, rsi, macd .
La peculiaridad del indicador es que dibuja una flecha de señal cuando se abre la vela, es decir en cero barra y mientras se forma la vela, la flecha cuelga, y después de que la vela se cierra, no se vuelve a dibujar.
El indicador tiene 8 buffers. Porque se pueden dibujar 8 flechas: 4 para la venta para cada uno de los indicadores estándar y 4 para la compra.
Se ve así en la ventana de datos:
Como yo Entiendo que el búfer cero es la flecha en el estocástico en las aldeas. El primer búfer es una flecha en el estocástico para una compra. La segunda flecha de amortiguación en el ao se sentó. El tercer búfer es una flecha ao para comprar. El cuarto búfer es una flecha en rsi para sentarse. La quinta es la flecha rsi para comprar. La sexta es la flecha MACD .al pueblo Y el séptimo búfer es la flecha MACD para una compra.
Transferí todos los parámetros de entrada del indicador al EA:
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; // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ//--- КОНЕЦ ВХОДНЫХ ПАРАМЕТРОВ
Más adelante, para empezar, quiero implementar la lógica más simple: apareció una flecha en cualquiera de los búferes, abro una orden ...
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 , "ДИВЕРГЕНЦИЯ НА СЕЛ СТОХАСТИК" ); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
}
}
}
}
Para empezar, declaré variables para recibir señales de ao buy y sat, ya través de la función iCustom obtengo el valor de ao buy del tercer búfer y de ao sat del segundo . Y de la misma manera obtengo valores para compra estocástica desde cero buffer y para el estocástico se sentó desde el primer buffer.
Después de recibir los valores de los búferes en las variables, verifico la presencia de una flecha en el gráfico.
En el probador de estrategias, resulta que si enciendo el análisis por AO en los parámetros de entrada, se abren tratos, todo está bien ... Y si enciendo el análisis por estocástico, entonces no pasa nada, no hay errores o Algo más. Dígame, por favor, ¿qué estoy haciendo mal al obtener el valor del búfer del indicador o al verificar que hay algo en él? ¿Cómo arreglar mi error?
Gracias de antemano. p/s respondo de inmediato lo posible la pregunta es, ¿por qué los comentarios están escritos en mayúsculas? ¿Estoy enfermo? ¿Debería hacer esto? Escribo porque me conviene verlo por mi primera discapacidad. grupos después del coma a los 1,5 meses.
Para empezar, declaré variables para recibir señales de ao buy y sat, ya través de la función iCustom obtengo el valor de ao buy del tercer búfer y de ao sat del segundo . Y de la misma manera obtengo valores para compra estocástica desde cero buffer y para el estocástico se sentó desde el primer buffer.
Después de recibir los valores de los búferes en las variables, verifico la presencia de una flecha en el gráfico.
En el probador de estrategias, resulta que si enciendo el análisis por AO en los parámetros de entrada, se abren tratos, todo está bien ... Y si enciendo el análisis por estocástico, entonces no pasa nada, no hay errores o Algo más. Dígame, por favor, ¿qué estoy haciendo mal al obtener el valor del búfer del indicador o al verificar que hay algo en él? ¿Cómo arreglar mi error?
Gracias de antemano. p/s respondo de inmediato lo posible la pregunta es, ¿por qué los comentarios están escritos en mayúsculas? ¿Estoy enfermo? ¿Debería hacer esto? Escribo porque me conviene verlo por mi primera discapacidad. grupos después del coma a los 1,5 meses.
¿Qué quiere decir con"formato de enmascaramiento "? Como es habitual, por ejemplo, "*.csv", especifique por separado el directorio en el que se iniciará la búsqueda.
Bueno, "normalmente" puede ser diferente. Las estándar para el sistema operativo se pueden ampliar según sus necesidades. Por ejemplo, puede especificar la fecha en el nombre en diferentes formatos, etc.
Busco una función para buscar el directorio de un archivo por máscara, la búsqueda debe pasar por todos los subdirectorios, la función debe devolver un array con la ruta completa del archivo. Por favor, comparta dicha función.
FileFindFirst admite la búsqueda por máscara. Sólo queda escribir una función recursiva para todos los subdirectorios.
Si se plantea esta cuestión, significa que es demasiado pronto para resolver ese problema, hay que aprender lo básico. Pero ahora, en lugar del malvado yo, vendrán unas personas bondadosas a explicarlo todo con calma.
Y sólo voy a preguntar: ¿has mirado lo que pasa en este método en absoluto?
Bueno, "normalmente" puede ser diferente. El sistema operativo estándar también puede ampliarse para adaptarse a sus necesidades. Por ejemplo, la fecha en el nombre puede establecerse en diferentes formatos, etc.
No veo el sentido de hacerlo más complicado.
FileFindFirst
FileFindFirst admite la búsqueda por máscara. Queda por escribir una función recursiva para todos los subdirectorios.
Conozco la teoría, gracias.
Buenas tardes a todos. Estoy tratando de escribir un asesor sobre un indicador personalizado.
En el gráfico, dibuja flechas como esta
El indicador tiene tantas configuraciones. Primera parte.
y la segunda parte de la configuración
El indicador busca divergencias basadas en uno de los 4 indicadores clásicos: ao, estocástico, rsi, macd .
La peculiaridad del indicador es que dibuja una flecha de señal cuando se abre la vela, es decir en cero barra y mientras se forma la vela, la flecha cuelga, y después de que la vela se cierra, no se vuelve a dibujar.
El indicador tiene 8 buffers. Porque se pueden dibujar 8 flechas: 4 para la venta para cada uno de los indicadores estándar y 4 para la compra.
Se ve así en la ventana de datos:
Como yo Entiendo que el búfer cero es la flecha en el estocástico en las aldeas. El primer búfer es una flecha en el estocástico para una compra. La segunda flecha de amortiguación en el ao se sentó. El tercer búfer es una flecha ao para comprar. El cuarto búfer es una flecha en rsi para sentarse. La quinta es la flecha rsi para comprar. La sexta es la flecha MACD . al pueblo Y el séptimo búfer es la flecha MACD para una compra.
Transferí todos los parámetros de entrada del indicador al EA:
Más adelante, para empezar, quiero implementar la lógica más simple: apareció una flecha en cualquiera de los búferes, abro una orden ...
Para empezar, declaré variables para recibir señales de ao buy y sat, ya través de la función iCustom obtengo el valor de ao buy del tercer búfer y de ao sat del segundo . Y de la misma manera obtengo valores para compra estocástica desde cero buffer y para el estocástico se sentó desde el primer buffer.
Después de recibir los valores de los búferes en las variables, verifico la presencia de una flecha en el gráfico.
En el probador de estrategias, resulta que si enciendo el análisis por AO en los parámetros de entrada, se abren tratos, todo está bien ... Y si enciendo el análisis por estocástico, entonces no pasa nada, no hay errores o Algo más. Dígame, por favor, ¿qué estoy haciendo mal al obtener el valor del búfer del indicador o al verificar que hay algo en él? ¿Cómo arreglar mi error?
Gracias de antemano. p/s respondo de inmediato lo posible la pregunta es, ¿por qué los comentarios están escritos en mayúsculas? ¿Estoy enfermo? ¿Debería hacer esto? Escribo porque me conviene verlo por mi primera discapacidad. grupos después del coma a los 1,5 meses.
Para empezar, declaré variables para recibir señales de ao buy y sat, ya través de la función iCustom obtengo el valor de ao buy del tercer búfer y de ao sat del segundo . Y de la misma manera obtengo valores para compra estocástica desde cero buffer y para el estocástico se sentó desde el primer buffer.
Después de recibir los valores de los búferes en las variables, verifico la presencia de una flecha en el gráfico.
En el probador de estrategias, resulta que si enciendo el análisis por AO en los parámetros de entrada, se abren tratos, todo está bien ... Y si enciendo el análisis por estocástico, entonces no pasa nada, no hay errores o Algo más. Dígame, por favor, ¿qué estoy haciendo mal al obtener el valor del búfer del indicador o al verificar que hay algo en él? ¿Cómo arreglar mi error?
Gracias de antemano. p/s respondo de inmediato lo posible la pregunta es, ¿por qué los comentarios están escritos en mayúsculas? ¿Estoy enfermo? ¿Debería hacer esto? Escribo porque me conviene verlo por mi primera discapacidad. grupos después del coma a los 1,5 meses.
Para empezar, hay muchos paréntesis innecesarios en el código
y para ver cuál es el problema sin leer el código, es necesario ejecutar el EA en el probador
Estúpido. 132 bares. Tengo 6 valores en cada barra. ¿Cómo lo escribo en forma de matriz? No quiero usar una estructura).
Uh...
¿Qué?