Cosa intende per"formato di mascheramento "? Come al solito, ad esempio "*.csv", specificare separatamente la directory per iniziare la ricerca.
Beh, "di solito" può essere diverso. Quelli standard per OS possono essere estesi secondo le vostre esigenze. Per esempio, potete specificare la data nel nome in diversi formati, ecc.
Aleksey Vyazmikin: Cercando una funzione per cercare la directory di un file per maschera, la ricerca dovrebbe passare attraverso tutte le sottodirectory, la funzione dovrebbe restituire un array con il percorso completo del file. Per favore, condividete una tale funzione.
Se sorge una domanda del genere, significa che è troppo presto per risolvere un problema del genere, bisogna imparare le basi. Ma ora, al posto del malvagio me, verranno delle persone gentili a spiegare tutto con calma.
E ti chiedo solo - hai guardato cosa sta succedendo in questo metodo?
Probabilmente all'inizio ho capito bene che il metodo non sarà chiamato, perché ho sovrascritto la funzione e sto per implementare il mio algoritmo. Ho già implementato un algoritmo per l'elaborazione degli ordini nel metodo. Conosco solo MQL5 in C/C++ ma l'ho scritto molto tempo fa. Mi sono pentito della mia domanda :)
Beh, "di solito" può essere diverso. Il sistema operativo standard può anche essere esteso per soddisfare le vostre esigenze. Per esempio la data nel nome può essere impostata in diversi formati, ecc.
Non vedo il motivo di rendere tutto più complicato.
Buon pomeriggio a tutti. Sto cercando di scrivere un consulente su un indicatore personalizzato.
Sul grafico, disegna frecce come questa
L'indicatore ha così tante impostazioni. Prima parte.
e la seconda parte delle impostazioni
L'indicatore cerca le divergenze in base a uno dei 4 indicatori classici: ao, stochastic, rsi, macd .
La particolarità dell'indicatore è che disegna una freccia di segnalazione quando la candela si apre, cioè a zero barra e mentre la candela si sta formando, la freccia si blocca e, dopo che la candela è chiusa, non viene ridisegnata.
L'indicatore ha 8 buffer. Perché è possibile disegnare 8 frecce: 4 in vendita per ciascuno degli indicatori standard e 4 per l'acquisto.
Si presenta così nella finestra dei dati:
Come me Capisco che il buffer zero sia la freccia sugli stocastici sui villaggi. Il primo buffer è una freccia sullo stocastico per un acquisto. La seconda freccia del buffer sull'ao si sedette. Il terzo buffer è un ao per comprare una freccia. Il quarto buffer è una freccia su rsi per sedersi. Il quinto è la freccia rsi per l'acquisto. La sesta è la freccia MACDal paese E il settimo buffer è la freccia MACD per un acquisto.
Ho trasferito tutti i parametri di input dell'indicatore nell'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; // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ//--- КОНЕЦ ВХОДНЫХ ПАРАМЕТРОВ
Più in là spuntare, per cominciare, voglio implementare la logica più semplice: una freccia è apparsa su uno qualsiasi dei buffer, apro un ordine ...
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 , "ДИВЕРГЕНЦИЯ НА СЕЛ СТОХАСТИК" ); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
}
}
}
}
Per cominciare, ho dichiarato le variabili per la ricezione dei segnali per ao buy e sat, e tramite la funzione iCustom ottengo il valore per ao buy dal terzo buffer e per ao sat dal secondo . E allo stesso modo ottengo valori per acquisto stocastico da zero buffer e per lo stocastico si è seduto dal primo buffer.
Dopo aver ricevuto i valori dai buffer nelle variabili, controllo la presenza di una freccia sul grafico.
Nel tester di strategia, si scopre che se accendo l'analisi di AO nei parametri di input, vengono aperte le offerte - va tutto bene ... E se accendo l'analisi di stocastico, non succede nulla: nessun errore o qualunque altra cosa. Dimmi per favore - cosa sto facendo di sbagliato nell'ottenere il valore del buffer dell'indicatore o nel controllare che ci sia qualcosa in esso? Come correggere il mio errore?
Grazie in anticipo. p/s rispondo subito il possibile la domanda è: perché i commenti sono scritti in maiuscolo: sono malato, dovrei farlo? Scrivo perché mi fa comodo guardarlo a causa della mia prima disabilità. gruppi dopo il coma a 1,5 mesi.
Per cominciare, ho dichiarato le variabili per la ricezione dei segnali per ao buy e sat, e tramite la funzione iCustom ottengo il valore per ao buy dal terzo buffer e per ao sat dal secondo . E allo stesso modo ottengo valori per acquisto stocastico da zero buffer e per lo stocastico si è seduto dal primo buffer.
Dopo aver ricevuto i valori dai buffer nelle variabili, controllo la presenza di una freccia sul grafico.
Nel tester di strategia, si scopre che se accendo l'analisi di AO nei parametri di input, vengono aperte le offerte - va tutto bene ... E se accendo l'analisi di stocastico, non succede nulla: nessun errore o qualunque altra cosa. Dimmi per favore - cosa sto facendo di sbagliato nell'ottenere il valore del buffer dell'indicatore o nel controllare che ci sia qualcosa in esso? Come correggere il mio errore?
Grazie in anticipo. p/s rispondo subito il possibile la domanda è: perché i commenti sono scritti in maiuscolo: sono malato, dovrei farlo? Scrivo perché mi fa comodo guardarlo a causa della mia prima disabilità. gruppi dopo il coma a 1,5 mesi.
DanilaMactep, può valere la pena di accorciare considerevolmente la domanda. Suppongo che poche persone vogliano "risolvere la questione" gratuitamente.
Cosa intende per"formato di mascheramento "? Come al solito, ad esempio "*.csv", specificare separatamente la directory per iniziare la ricerca.
Beh, "di solito" può essere diverso. Quelli standard per OS possono essere estesi secondo le vostre esigenze. Per esempio, potete specificare la data nel nome in diversi formati, ecc.
Cercando una funzione per cercare la directory di un file per maschera, la ricerca dovrebbe passare attraverso tutte le sottodirectory, la funzione dovrebbe restituire un array con il percorso completo del file. Per favore, condividete una tale funzione.
FileFindFirst supporta la ricerca per maschera. Non resta che scrivere una funzione ricorsiva per tutte le sottodirectory.
Se sorge una domanda del genere, significa che è troppo presto per risolvere un problema del genere, bisogna imparare le basi. Ma ora, al posto del malvagio me, verranno delle persone gentili a spiegare tutto con calma.
E ti chiedo solo - hai guardato cosa sta succedendo in questo metodo?
Beh, "di solito" può essere diverso. Il sistema operativo standard può anche essere esteso per soddisfare le vostre esigenze. Per esempio la data nel nome può essere impostata in diversi formati, ecc.
Non vedo il motivo di rendere tutto più complicato.
FileFindFirst
FileFindFirst supporta la ricerca per maschera. Resta da scrivere una funzione ricorsiva per tutte le sottodirectory.
Conosco la teoria, grazie.
Buon pomeriggio a tutti. Sto cercando di scrivere un consulente su un indicatore personalizzato.
Sul grafico, disegna frecce come questa
L'indicatore ha così tante impostazioni. Prima parte.
e la seconda parte delle impostazioni
L'indicatore cerca le divergenze in base a uno dei 4 indicatori classici: ao, stochastic, rsi, macd .
La particolarità dell'indicatore è che disegna una freccia di segnalazione quando la candela si apre, cioè a zero barra e mentre la candela si sta formando, la freccia si blocca e, dopo che la candela è chiusa, non viene ridisegnata.
L'indicatore ha 8 buffer. Perché è possibile disegnare 8 frecce: 4 in vendita per ciascuno degli indicatori standard e 4 per l'acquisto.
Si presenta così nella finestra dei dati:
Come me Capisco che il buffer zero sia la freccia sugli stocastici sui villaggi. Il primo buffer è una freccia sullo stocastico per un acquisto. La seconda freccia del buffer sull'ao si sedette. Il terzo buffer è un ao per comprare una freccia. Il quarto buffer è una freccia su rsi per sedersi. Il quinto è la freccia rsi per l'acquisto. La sesta è la freccia MACD al paese E il settimo buffer è la freccia MACD per un acquisto.
Ho trasferito tutti i parametri di input dell'indicatore nell'EA:
Più in là spuntare, per cominciare, voglio implementare la logica più semplice: una freccia è apparsa su uno qualsiasi dei buffer, apro un ordine ...
Per cominciare, ho dichiarato le variabili per la ricezione dei segnali per ao buy e sat, e tramite la funzione iCustom ottengo il valore per ao buy dal terzo buffer e per ao sat dal secondo . E allo stesso modo ottengo valori per acquisto stocastico da zero buffer e per lo stocastico si è seduto dal primo buffer.
Dopo aver ricevuto i valori dai buffer nelle variabili, controllo la presenza di una freccia sul grafico.
Nel tester di strategia, si scopre che se accendo l'analisi di AO nei parametri di input, vengono aperte le offerte - va tutto bene ... E se accendo l'analisi di stocastico, non succede nulla: nessun errore o qualunque altra cosa. Dimmi per favore - cosa sto facendo di sbagliato nell'ottenere il valore del buffer dell'indicatore o nel controllare che ci sia qualcosa in esso? Come correggere il mio errore?
Grazie in anticipo. p/s rispondo subito il possibile la domanda è: perché i commenti sono scritti in maiuscolo: sono malato, dovrei farlo? Scrivo perché mi fa comodo guardarlo a causa della mia prima disabilità. gruppi dopo il coma a 1,5 mesi.
Per cominciare, ho dichiarato le variabili per la ricezione dei segnali per ao buy e sat, e tramite la funzione iCustom ottengo il valore per ao buy dal terzo buffer e per ao sat dal secondo . E allo stesso modo ottengo valori per acquisto stocastico da zero buffer e per lo stocastico si è seduto dal primo buffer.
Dopo aver ricevuto i valori dai buffer nelle variabili, controllo la presenza di una freccia sul grafico.
Nel tester di strategia, si scopre che se accendo l'analisi di AO nei parametri di input, vengono aperte le offerte - va tutto bene ... E se accendo l'analisi di stocastico, non succede nulla: nessun errore o qualunque altra cosa. Dimmi per favore - cosa sto facendo di sbagliato nell'ottenere il valore del buffer dell'indicatore o nel controllare che ci sia qualcosa in esso? Come correggere il mio errore?
Grazie in anticipo. p/s rispondo subito il possibile la domanda è: perché i commenti sono scritti in maiuscolo: sono malato, dovrei farlo? Scrivo perché mi fa comodo guardarlo a causa della mia prima disabilità. gruppi dopo il coma a 1,5 mesi.
Ci sono molte parentesi inutili nel codice per cominciare
e per vedere qual è il problema senza leggere il codice, è necessario eseguire l'EA nel tester
Stupido. 132 barre. Ho 6 valori su ogni barra. Come lo scrivo come array? Non voglio usare una struttura).
Uh...
Cosa?