Was meinen Sie mit"Maskierungsformat "? Wie üblich, z.B. "*.csv", geben Sie separat das Verzeichnis an, in dem die Suche beginnen soll.
Nun, "normalerweise" kann unterschiedlich sein. Die Standardeinstellungen für das Betriebssystem können je nach Bedarf erweitert werden. Sie können z. B. das Datum im Namen in verschiedenen Formaten angeben, usw.
Aleksey Vyazmikin: Gesucht wird eine Funktion, die das Verzeichnis einer Datei nach einer Maske durchsucht, die Suche soll alle Unterverzeichnisse durchlaufen, die Funktion soll ein Array mit dem vollständigen Pfad der Datei zurückgeben. Bitte teilen Sie uns eine solche Funktion mit.
Wenn eine solche Frage auftaucht, bedeutet das, dass es zu früh ist, um ein solches Problem zu lösen, Sie müssen die Grundlagen lernen. Aber jetzt werden anstelle des bösen Ichs ein paar nette Leute kommen und alles in aller Ruhe erklären.
Und ich frage Sie: Haben Sie sich überhaupt mit dieser Methode befasst?
Wahrscheinlich hatte ich anfangs Recht, dass die Methode nicht aufgerufen wird, weil ich die Funktion überschrieben habe und meinen Algorithmus implementieren werde. Ich habe bereits einen Algorithmus zur Auftragsabwicklung in die Methode implementiert. Ich kenne MQL5 nur in C/C++, aber ich habe es vor langer Zeit geschrieben. Ich bedauerte meine Frage :)
Nun, "normalerweise" kann unterschiedlich sein. Das Standardbetriebssystem kann auch nach Ihren Wünschen erweitert werden. So kann beispielsweise das Datum im Namen in verschiedenen Formaten angegeben werden usw.
Ich sehe keinen Sinn darin, es noch komplizierter zu machen.
Guten Abend allerseits. Ich versuche, einen Ratgeber für einen benutzerdefinierten Indikator zu schreiben.
Auf der Karte zeichnet er solche Pfeile
Der Indikator hat so viele Einstellungen. Erster Teil.
und der zweite Teil der Einstellungen
Der Indikator sucht nach Divergenzen basierend auf einem der 4 klassischen Indikatoren - ao, stochastisch, rsi, macd .
Die Besonderheit des Indikators besteht darin, dass er einen Signalpfeil zeichnet, wenn sich die Kerze öffnet bei null Balken und während die Kerze gebildet wird, hängt der Pfeil, und nachdem die Kerze geschlossen ist, wird sie nicht neu gezeichnet.
Der Indikator hat 8 Puffer. Denn 8 Pfeile können gezogen werden – 4 zum Verkauf für jeden der Standardindikatoren und 4 zum Kauf.
Im Datenfenster sieht das so aus:
Wie ich Ich verstehe, dass der Nullpuffer der Pfeil auf der Stochastik auf den Dörfern ist. Der erste Puffer ist ein Pfeil auf der Stochastik für einen Kauf. Der zweite Pufferpfeil auf dem ao setzte sich. Der dritte Puffer ist ein AO zum Kaufpfeil. Der vierte Puffer ist ein Pfeil auf rsi , um sich hinzusetzen. Der fünfte ist der RSI- Pfeil zum Kaufen. Der sechste ist der MACD- Pfeilzum Dorf Und der siebte Puffer ist der MACD- Pfeil für einen Kauf.
Ich habe alle Eingabeparameter des Indikators an den EA übertragen:
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; // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ//--- КОНЕЦ ВХОДНЫХ ПАРАМЕТРОВ
Weiter darin ankreuzen, für den Anfang möchte ich die einfachste Logik implementieren - ein Pfeil erschien auf einem der Puffer, ich eröffne eine Bestellung ...
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 , "ДИВЕРГЕНЦИЯ НА СЕЛ СТОХАСТИК" ); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
}
}
}
}
Zunächst habe ich Variablen zum Empfangen von Signalen für ao buy und sat deklariert, und über die iCustom-Funktion bekomme ich den Wert für ao buy aus dem dritten Puffer und für ao sat aus dem zweiten . Und genauso erhalte ich Werte für stochastische Käufe von Null Puffer und für die Stochastik setzte man sich aus dem ersten Puffer.
Nachdem ich die Werte aus den Puffern in die Variablen erhalten habe, überprüfe ich das Vorhandensein eines Pfeils auf dem Diagramm.
Im Strategietester stellt sich heraus, dass, wenn ich die Analyse per AO in den Eingabeparametern einschalte, Geschäfte geöffnet werden - alles ist in Ordnung ... Und wenn ich die Analyse per Stochastik einschalte, dann passiert nichts - keine Fehler oder noch etwas. Sagen Sie mir bitte - was mache ich falsch, wenn ich den Wert des Indikatorpuffers erhalte oder überprüfe, ob etwas darin ist? Wie behebe ich meinen Fehler?
Vielen Dank im Voraus. p / s Ich beantworte sofort das Mögliche Die Frage ist, warum sind die Kommentare in Großbuchstaben geschrieben - bin ich krank, sollte ich das tun? Ich schreibe, weil es für mich wegen meiner ersten Behinderung bequem ist, es mir anzusehen. Gruppen nach Koma bei 1,5 Monaten.
Zunächst habe ich Variablen zum Empfangen von Signalen für ao buy und sat deklariert, und über die iCustom-Funktion bekomme ich den Wert für ao buy aus dem dritten Puffer und für ao sat aus dem zweiten . Und genauso erhalte ich Werte für stochastische Käufe von Null Puffer und für die Stochastik setzte man sich aus dem ersten Puffer.
Nachdem ich die Werte aus den Puffern in die Variablen erhalten habe, überprüfe ich das Vorhandensein eines Pfeils auf dem Diagramm.
Im Strategietester stellt sich heraus, dass, wenn ich die Analyse per AO in den Eingabeparametern einschalte, Geschäfte geöffnet werden - alles ist in Ordnung ... Und wenn ich die Analyse per Stochastik einschalte, dann passiert nichts - keine Fehler oder noch etwas. Sagen Sie mir bitte - was mache ich falsch, wenn ich den Wert des Indikatorpuffers erhalte oder überprüfe, ob etwas darin ist? Wie behebe ich meinen Fehler?
Vielen Dank im Voraus. p / s Ich beantworte sofort das Mögliche Die Frage ist, warum sind die Kommentare in Großbuchstaben geschrieben - bin ich krank, sollte ich das tun? Ich schreibe, weil es für mich wegen meiner ersten Behinderung bequem ist, es mir anzusehen. Gruppen nach Koma bei 1,5 Monaten.
DanilaMactep, es könnte sich lohnen, die Frage erheblich zu kürzen. Ich gehe davon aus, dass nur wenige Menschen die Angelegenheit kostenlos "erledigen" wollen.
Was meinen Sie mit"Maskierungsformat "? Wie üblich, z.B. "*.csv", geben Sie separat das Verzeichnis an, in dem die Suche beginnen soll.
Nun, "normalerweise" kann unterschiedlich sein. Die Standardeinstellungen für das Betriebssystem können je nach Bedarf erweitert werden. Sie können z. B. das Datum im Namen in verschiedenen Formaten angeben, usw.
Gesucht wird eine Funktion, die das Verzeichnis einer Datei nach einer Maske durchsucht, die Suche soll alle Unterverzeichnisse durchlaufen, die Funktion soll ein Array mit dem vollständigen Pfad der Datei zurückgeben. Bitte teilen Sie uns eine solche Funktion mit.
FileFindFirst unterstützt die Suche nach Masken. Nun muss nur noch eine rekursive Funktion für alle Unterverzeichnisse geschrieben werden.
Wenn eine solche Frage auftaucht, bedeutet das, dass es zu früh ist, um ein solches Problem zu lösen, Sie müssen die Grundlagen lernen. Aber jetzt werden anstelle des bösen Ichs ein paar nette Leute kommen und alles in aller Ruhe erklären.
Und ich frage Sie: Haben Sie sich überhaupt mit dieser Methode befasst?
Nun, "normalerweise" kann unterschiedlich sein. Das Standardbetriebssystem kann auch nach Ihren Wünschen erweitert werden. So kann beispielsweise das Datum im Namen in verschiedenen Formaten angegeben werden usw.
Ich sehe keinen Sinn darin, es noch komplizierter zu machen.
FileFindFirst
FileFindFirst unterstützt die Suche nach Masken. Es bleibt, eine rekursive Funktion für alle Unterverzeichnisse zu schreiben.
Ich kenne die Theorie, danke.
Guten Abend allerseits. Ich versuche, einen Ratgeber für einen benutzerdefinierten Indikator zu schreiben.
Auf der Karte zeichnet er solche Pfeile
Der Indikator hat so viele Einstellungen. Erster Teil.
und der zweite Teil der Einstellungen
Der Indikator sucht nach Divergenzen basierend auf einem der 4 klassischen Indikatoren - ao, stochastisch, rsi, macd .
Die Besonderheit des Indikators besteht darin, dass er einen Signalpfeil zeichnet, wenn sich die Kerze öffnet bei null Balken und während die Kerze gebildet wird, hängt der Pfeil, und nachdem die Kerze geschlossen ist, wird sie nicht neu gezeichnet.
Der Indikator hat 8 Puffer. Denn 8 Pfeile können gezogen werden – 4 zum Verkauf für jeden der Standardindikatoren und 4 zum Kauf.
Im Datenfenster sieht das so aus:
Wie ich Ich verstehe, dass der Nullpuffer der Pfeil auf der Stochastik auf den Dörfern ist. Der erste Puffer ist ein Pfeil auf der Stochastik für einen Kauf. Der zweite Pufferpfeil auf dem ao setzte sich. Der dritte Puffer ist ein AO zum Kaufpfeil. Der vierte Puffer ist ein Pfeil auf rsi , um sich hinzusetzen. Der fünfte ist der RSI- Pfeil zum Kaufen. Der sechste ist der MACD- Pfeil zum Dorf Und der siebte Puffer ist der MACD- Pfeil für einen Kauf.
Ich habe alle Eingabeparameter des Indikators an den EA übertragen:
Weiter darin ankreuzen, für den Anfang möchte ich die einfachste Logik implementieren - ein Pfeil erschien auf einem der Puffer, ich eröffne eine Bestellung ...
Zunächst habe ich Variablen zum Empfangen von Signalen für ao buy und sat deklariert, und über die iCustom-Funktion bekomme ich den Wert für ao buy aus dem dritten Puffer und für ao sat aus dem zweiten . Und genauso erhalte ich Werte für stochastische Käufe von Null Puffer und für die Stochastik setzte man sich aus dem ersten Puffer.
Nachdem ich die Werte aus den Puffern in die Variablen erhalten habe, überprüfe ich das Vorhandensein eines Pfeils auf dem Diagramm.
Im Strategietester stellt sich heraus, dass, wenn ich die Analyse per AO in den Eingabeparametern einschalte, Geschäfte geöffnet werden - alles ist in Ordnung ... Und wenn ich die Analyse per Stochastik einschalte, dann passiert nichts - keine Fehler oder noch etwas. Sagen Sie mir bitte - was mache ich falsch, wenn ich den Wert des Indikatorpuffers erhalte oder überprüfe, ob etwas darin ist? Wie behebe ich meinen Fehler?
Vielen Dank im Voraus. p / s Ich beantworte sofort das Mögliche Die Frage ist, warum sind die Kommentare in Großbuchstaben geschrieben - bin ich krank, sollte ich das tun? Ich schreibe, weil es für mich wegen meiner ersten Behinderung bequem ist, es mir anzusehen. Gruppen nach Koma bei 1,5 Monaten.
Zunächst habe ich Variablen zum Empfangen von Signalen für ao buy und sat deklariert, und über die iCustom-Funktion bekomme ich den Wert für ao buy aus dem dritten Puffer und für ao sat aus dem zweiten . Und genauso erhalte ich Werte für stochastische Käufe von Null Puffer und für die Stochastik setzte man sich aus dem ersten Puffer.
Nachdem ich die Werte aus den Puffern in die Variablen erhalten habe, überprüfe ich das Vorhandensein eines Pfeils auf dem Diagramm.
Im Strategietester stellt sich heraus, dass, wenn ich die Analyse per AO in den Eingabeparametern einschalte, Geschäfte geöffnet werden - alles ist in Ordnung ... Und wenn ich die Analyse per Stochastik einschalte, dann passiert nichts - keine Fehler oder noch etwas. Sagen Sie mir bitte - was mache ich falsch, wenn ich den Wert des Indikatorpuffers erhalte oder überprüfe, ob etwas darin ist? Wie behebe ich meinen Fehler?
Vielen Dank im Voraus. p / s Ich beantworte sofort das Mögliche Die Frage ist, warum sind die Kommentare in Großbuchstaben geschrieben - bin ich krank, sollte ich das tun? Ich schreibe, weil es für mich wegen meiner ersten Behinderung bequem ist, es mir anzusehen. Gruppen nach Koma bei 1,5 Monaten.
Der Code enthält zu Beginn eine Menge unnötiger Klammern
und um zu sehen, was das Problem ist, ohne den Code zu lesen, müssen Sie den EA im Tester ausführen
Dumm. 132 Balken. Ich habe 6 Werte auf jedem Balken. Wie schreibe ich sie als Array? Ich möchte keine Struktur verwenden.)
Äh...
Was?