Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1319

 
Aleksey Vyazmikin:

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.
FileFindFirst

FileFindFirst unterstützt die Suche nach Masken. Nun muss nur noch eine rekursive Funktion für alle Unterverzeichnisse geschrieben werden.

 
Aleksey Mavrin:

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 :)
 
Aleksey Mavrin:

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.

 
RickD:
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


Preis-Chart-Indikator

Der Indikator hat so viele Einstellungen. Erster Teil.


BLINKEREINSTELLUNGEN TEIL 1

und der zweite Teil der Einstellungen


Indikatoreinstellungen Teil 2

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:

Indikatorpuffer im Datenfenster

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:

 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
   
  };
  
   extern string   Params = "-- ПАРАМЕТРЫ ОТКРЫТИЯ СДЕЛКИ --" ; //======================================
   extern double lot= 0.01 ; // ЛОТ ОРДЕРА
   extern int slippages= 5 ; // ПРОСКАЛЬЗЫВАНИЕ
   extern double sl= 100 ; // СТОП ЛОС СДЕЛКИ
   extern double tp= 100 ; // ТЕЙК ПРОФИТ СДЕЛКИ
   extern string coment= "trendova9_divepgenci9" ; // КОМЕНТАРИЙ СОВЕТНИКА
   extern int magik_number= 123 ; // МАГИЧЕСКИЙ НОМЕР СОЕВТНИКА
   extern color Color = clrRed ; // ЦВЕТ ОРДЕРОВ СОВЕТНИКА
  

   extern string   Params_tranclirpvani9 = "-- ПАРАМЕТРЫ ТРАНСЛИРОАВНИЯ СИГНАЛОВ --" ; //======================================

extern string   CTS_Params = "-- Параметры транслирования сигналов В CTS  --" ; //======================================
extern     enumSignalsMode   ModeSignalsCTS       =  enBoth;               // Транслировать сигналы в CTS:
extern    int                LifetimeOfSignal     =   5 ;                   // Время жизни сигнала в барах рабочего ТФ
extern    string             CTS_Name             =   "123" ;               // Имя для CTS
int lifetimeOfSignal; // Время жизни сигнала в барах рабочего тф
extern string   Div_Params = "-- Параметры поиска дивергенций --" ; //======================================
extern    ENUM_TIMEFRAMES    PeriodForWork        =   PERIOD_H4 ;           // ТФ ДИВЕРГЕНЦИИ
ENUM_TIMEFRAMES periodForWork; // ТАЙМФРЕЙМ, НА КОТОРОМ ИСКАТЬ ДИВЕРГЕНЦИИ

extern    enumCoincidence   SearchAccuracy       =  enCoinApproximate;   // РЕЖИМ ПОИСКА СОВПАДЕНИЙ
extern      int                NumBarAccuracy       =   3 ;                   // КОЛИЧЕСТВО БАРОВ НЕТОЧНОСТИ ПОИСКА ПИКОВ
int numBarAccuracy; // КОЛИЧЕСТВО БАРОВ НЕ ТОЧНОСТИ ПОИСКА ПИКОВ
extern      int                KoeffDistanceBetween =   5 ;                   // КОЭФФИЦИЕНТ "РАЗНИЦЫ" МЕЖДУ ЭКСТРЕМУМАМИ2
double koeffForDistanceBetween; // КОЭФФИЦИЕНТ "РАЗНИЦЫ" МЕЖДУ ЭКСТРЕМУМАМИ2
extern    int                WidthChartLine       =   2 ;                   // ТОЛЩИНА ЛИНИЙ НА ГРАФИКЕ ЦЕНЫ
int widthChartLine; // ТОЛЩИНА ЛИНИЙ НА ГРАФИКЕ ЦЕНЫ
extern    int                WidthIndicatorstLine =   2 ;       // ТОЛЩИНА ЛИНИЙ В ОКНЕ ИНДИКАТОРОВ
int widthIndicatorstLine; // ТОЛЩИНА ЛИНИЙ В ОКНЕ ИНДИКАТОРОВ
//--- используемые индикаторы
extern    double             ShiftArrow           =   1.0 ;                 // СМЕЩЕНИЕ ЗНАЧКОВ
double shiftArrow;
extern string   AO_Params = "-- Параметры AO --" ; //======================================
extern    enumYN            UseAO                =  enYes;               // ИСКАТЬ ДИВЕРГЕНЦИИ НА АО?
extern    color              ColorUpperAO         =   clrRed ;               // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ АО
extern    color              ColorLowerAO         =   clrBlue ;             // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ АО

//---
extern string   Stoch_Params = "-- Параметры Stochastic --" ; //======================================
extern    enumYN            UseStoch             =  enNo;                 // ИСКАТЬ ДИВЕРГЕНЦИИ НА STOCHASTIC??
extern    enumModeLINE      ModeLineSTO          =  enMdMain;             // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ STOCHASTIC:
extern      int                Period_K             =   5 ;                   // ПЕРИОД %K STOCHASTIC
int period_K; // Период %K Stochastic
extern      int                Period_D             =   3 ;                   // ПЕРИОД %D STOCHASTIC
int period_D; // Период %D Stochastic
extern      int                Slowing              =   3 ;                   // ЗАМЕДЛЕНИЕ STOCHASTIC
int slowing; // Замедление Stochastic
extern      ENUM_STO_PRICE     AppledPriceSTO       =   STO_CLOSECLOSE ;         // ЦЕНЫ РАСЧЁТА STOCHASTIC
extern      ENUM_MA_METHOD     MethodMAStoch        =   MODE_SMA ;             // МЕТОД MA STOCHASTIC
extern      int                UpperLevelSTO        =   80 ;                   // ВЕРХНИЙ УРОВЕНЬ STOCHASTIC
int upperLevelSTO; // Верхний уровень Stochastic
extern      int                LowerLewelSTO        =   20 ;                   // НИЖНИЙ УРОВЕНЬ STOCHASTIC
int lowerLewelSTO; // Нижний уровень Stochastic
extern    color              ColorUpperSTO        =   clrRed ;               // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC
extern    color              ColorLowerSTO        =   clrBlue ;             // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ STOCHASTIC

extern string   RSI_Params = "-- ПАРАМЕТРЫ RSI --" ; //======================================
extern    enumYN            UseRSI               =  enNo;                 // ИСКАТЬ ДИВЕРГЕНЦИИ НА  RSI?
extern      int                PeriodRSI            =   14 ;                   // ПЕРИОД RSI
int periodRSI;
extern      ENUM_APPLIED_PRICE AppledPriceRSI      =   PRICE_CLOSE ;         // ПРИМЕНИТЬ К:
extern      int                UpperLevelRSI        =   70 ;                   // ВЕРХНИЙ УРОВЕНЬ RSI
int upperLevelRSI; // Верхний уровень RSI
extern      int                LowerLewelRSI        =   30 ;                   // НИЖНИЙ УРОВЕНЬ RSI
int lowerLewelRSI; // Нижний уровень RSI
extern    color              ColorUpperRSI        =   clrRed ;               // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI
extern    color              ColorLowerRSI        =   clrBlue ;             // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ RSI

extern string   MACD_Params = "-- ПАРАМЕТРЫ MACD --" ; //======================================
extern    enumYN            UseMACD              =  enNo;                 // ИСКАТЬ ДИВЕРГЕНЦИИ НА  MACD
extern     enumModeLINE      ModeLineMACD         =  enMdMain;             // ИСКАТЬ ДИВЕРГЕНЦИИ ПО ЛИНИИ MACD:
extern      int                FastEMA_MACD         =   12 ;                   // БЫСТРОЕ EMA MACD
int fastEMA_MACD; // Быстрое EMA MACD
extern      int                SlowEMA_MACD         =   26 ;                   // МЕДЛЕННОЕ EMA MACD
int slowEMA_MACD; // Медленное EMA MACD
extern      int                PeriodSignalMACD     =   9 ;                   // ПЕРИОД СИГНАЛЬНОЙ SMA MACD
int periodSignalMACD; // Период сигнальной SMA MACD
extern      ENUM_APPLIED_PRICE AppledPriceMACD     =   PRICE_CLOSE ;         // ПРИМЕНИТЬ К:
extern    color              ColorUpperMACD       =   clrRed ;               // ЦВЕТ ВЕРХНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
extern    color              ColorLowerMACD       =   clrBlue ;             // ЦВЕТ НИЖНИХ ЛИНИЙ ДИВЕРГЕНЦИЙ MACD
//---
//--- ОПОВЕЩЕНИЯ
extern string   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 ...

 void OnTick ()
  {
   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:


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

 
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.
 

Dumm. 132 Balken. Ich habe 6 Werte auf jedem Balken. Wie schreibe ich sie als Array? Ich möchte keine Struktur verwenden.)

 

Äh...

double prices[132,6];

Was?

Grund der Beschwerde: