新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1319

 
Aleksey Vyazmikin:

你说的"屏蔽格式"是什么意思?像往常一样,例如 "*.csv",单独指定开始搜索的目录。

嗯,"通常 "可以是不同的。操作系统的标准的可以根据你的需要进行扩展。例如,你可以在名字中指定不同格式的日期,等等。

 
Aleksey Vyazmikin:
寻找一个按掩码搜索文件目录的函数,搜索应通过所有子目录,该函数应返回一个包含文件全路径的数组。请分享这样的功能。
文件先找

FileFindFirst支持按掩码搜索。剩下的就是为所有子目录编写一个递归函数。

 
Aleksey Mavrin:

如果出现这样的问题,说明现在解决这样的问题还为时过早,你需要学习基本知识。但是现在,一些善良的人将代替邪恶的我,来平静地解释一切。

我就问一下--你到底有没有看过这个方法是怎么回事?

我最初可能是对的,这个方法不会被调用,因为我已经重写了这个函数,我要实现我的算法。我已经在方法中实现了一个订单处理的算法。我只知道C/C++中的MQL5,但我在很久以前就写过它。我对我的问题感到后悔了 :)
 
Aleksey Mavrin:

嗯,"通常 "可以是不同的。标准的操作系统也可以扩展以满足你的需要。例如,名称中的日期可以设置为不同的格式,等等。

我不认为有必要让它变得更复杂。

 
RickD:
文件先找

FileFindFirst支持按掩码搜索。剩下的就是为所有子目录编写一个递归函数。

我知道这个理论,谢谢你。

 

大家下午好。我正在尝试为自定义指标编写顾问。

在图表上,他像这样画箭头


价格图表指标

该指标有很多设置。第一部分。


指标设置第 1 部分

和设置的第二部分


指标设置第 2 部分

该指标根据 4 个经典指标之一寻找背离 - ao、随机指标、rsi、 macd

该指标的特点是它在蜡烛打开时绘制一个信号箭头,即  在零  bar 和蜡烛形成时,箭头挂起,蜡烛关闭后,不会重绘。

该指标有 8 个缓冲区。因为可以绘制 8 个箭头 - 每个标准指标 4 个用于出售,4 个用于购买。

在数据窗口中看起来像这样:

数据窗口中的指标缓冲区

像我这样的  我知道缓冲区是村庄随机指标上的箭头。第一个缓冲区是随机指标上的买入箭头。 ao上的第二个缓冲箭头坐了下来。第三个缓冲区是一个 ao 购买箭头。第四个缓冲区是rsi上的箭头坐下。第五个是买入的rsi箭头。第六个MACD箭头 到村子第七个缓冲区是买入的MACD箭头。

我将指标的所有输入参数传输到 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
   
  };
  
   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;                 // ОПОВЕЩАТЬ О СИГНАЛЕ НА МОБИЛЬНЫЙ


//--- КОНЕЦ ВХОДНЫХ ПАРАМЕТРОВ


进一步,对于初学者来说,我想实现最简单的逻辑 - 一个箭头出现在任何缓冲区上,我打开一个订单......

 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 , "ДИВЕРГЕНЦИЯ НА СЕЛ СТОХАСТИК" ); // ОТКРКЫВВАЕМ СЕЛ ОРДЕР
   }
   }
   }
   }



 

首先,我声明了用于接收 ao buy 和 sat 信号的变量,并通过 iCustom 函数从第三个缓冲区获取 ao buy 的值,从第二个缓冲区获取 ao sat 的值。   以同样的方式,我从获得随机购买的价值 缓冲区和随机从第一个缓冲区坐下。

在我将缓冲区中的值接收到变量中后,我检查图表上是否存在箭头。

在策略测试器中,事实证明,如果我在输入参数中打开AO分析,则会打开交易 - 一切都很好......如果我打开随机分析,那么什么也不会发生 - 没有错误或还要别的吗。请告诉我 - 我在获取指标缓冲区的值或检查其中是否有东西时做错了什么?如何解决我的错误?

先感谢您。 p / s 我立即回答可能的问题  问题是,为什么评论是用大写字母写的——我病了吗,我应该这样做吗?我写作是因为我的第一次残疾,方便我观看。   昏迷后 1.5 个月时分组。

 

 

首先,我声明了用于接收 ao buy 和 sat 信号的变量,并通过 iCustom 函数从第三个缓冲区获取 ao buy 的值,从第二个缓冲区获取 ao sat 的值。   以同样的方式,我从获得随机购买的价值 缓冲区和随机从第一个缓冲区坐下。

在我将缓冲区中的值接收到变量中后,我检查图表上是否存在箭头。

在策略测试器中,事实证明,如果我在输入参数中打开AO分析,则会打开交易 - 一切都很好......如果我打开随机分析,那么什么也不会发生 - 没有错误或还要别的吗。请告诉我 - 我在获取指标缓冲区的值或检查其中是否有东西时做错了什么?如何解决我的错误?

先感谢您。 p / s 我立即回答可能的问题  问题是,为什么评论是用大写字母写的——我病了吗,我应该这样做吗?我写作是因为我的第一次残疾,方便我观看。   昏迷后 1.5 个月时分组。

 

 
DanilaMactep:


首先,代码中存在很多不必要的括号

要想在不阅读代码的情况下看到问题所在,你需要在测试器中运行该EA

 
DanilaMactep,也许值得大大缩短这个问题。我假设很少有人愿意免费 "整理 "它。
 

愚蠢。132条。我在每个柱子上有6个值。我怎样把它写成一个数组?我不想使用一个结构)。

 

呃...

double prices[132,6];

什么?

原因: