MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1377

 
Michail_David :

나는 Alexey가이 통화 쌍을 파낸 곳을 이해하지 못했습니다))

예, 발생합니다 ... 나는 한 가지에 대해 생각하고 다른 것에 대해 썼습니다 ... 나는 나 자신이 동일합니다 ... ... ...)))

 
Alexey Viktorov :

스키가 나쁘거나 ... 어쩐지 Michail_David 의 메시지에서 그런 쌍에 대한 언급을 찾지 못했습니다 ... 어디에나 USDJPY라고 쓰여 있습니다.

스키 트랙은 동일하지 않습니다 )))) 나는 가지고 있습니다;) 누군가 엉망입니다.

그러나 실제로 쌍은 문자열이며 따옴표를 삽입할 필요가 없습니다.

@Michael_David

 for ( int i = SymbolsTotal (in_market_watch) - 1 ; i >= 0 ; i--)
   {
       if ( StringFind ( SymbolName (i,in_market_watch),vlt) >= 0 )

vlt - 원하는 쌍(또는 그 일부 :)))

 
Сергей Таболин :

스키 트랙은 동일하지 않습니다 )))) 나는 가지고 있습니다;) 누군가 엉망입니다.

그러나 실제로 쌍은 문자열이며 따옴표를 삽입할 필요가 없습니다.

@Michael_David

vlt - 원하는 쌍(또는 그 일부 :)))

세르게이, 고마워. 나는 그 생각을 이해했다.

 

안녕하세요. 조언 부탁드립니다.

1. EA는 일련의 주문(매수-매도-매도-...)을 거래합니다. 시리즈는 이익으로 마감되는 주문으로 끝납니다. 그것을 구현하는 방법?

2. 다음 문제. 첫 번째 시리즈는 아직 끝나지 않았고("플러스" 주문은 없었음) 두 번째 시리즈가 출시되고 있습니다. 고문을 위해 "분리"하는 방법은 무엇입니까?

고맙습니다.

 
Forallf :

안녕하세요. 조언 부탁드립니다.

1. EA는 일련의 주문(구매-판매-구매-판매-...)을 거래합니다. 시리즈는 이익으로 마감되는 주문으로 끝납니다. 그것을 구현하는 방법?

2. 다음 문제. 첫 번째 시리즈는 아직 끝나지 않았고("플러스" 주문은 없었음) 두 번째 시리즈가 출시되고 있습니다. 고문을 위해 "분리"하는 방법은 무엇입니까?

고맙습니다.

1 도움이 되기에 너무 막연한 조건...

2 다른 "마법" 사용

 

좋은 오후에요 여러분. 계속해서 성배기 J 를 보고 있다. 함수 사용에 대한 편향으로 코드를 다시 실행해야 합니다. 그렇지 않으면 수많은 코드를 스크롤하는 것이 지겹습니다. 기능을 별도의 포함 파일로 이동하고 싶습니다. 테스트를 위해 EA 파일 자체에 ao 표시기에서 신호를 수신하는 기능을 만들었습니다. 모든 것이 잘 작동합니다.

  Grail 기계는 거래를 열 수도 있습니다 ;-) 그러나 포함 파일 SIGNALS_INDIKATOR를 생성하면. 그리고 이 Makar와 같이 어드바이저로 연결합니다.

 //+------------------------------------------------------------------+
//|                                           TREND+_V_1.0 |
//|                                                    ДАНЯ ГАГАРКИН |
//|                                     https://vk.com/danila_mastep |
//+------------------------------------------------------------------+
#property copyright "ДАНЯ ГАГАРКИН"
#property link        "https://vk.com/danila_mastep"
#property version    "1.00"
#property strict
//НАЧАЛО ВХОДНЫХ ПЕРЕМЕННЫХ И ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ------------------------------------------------------------------------------------------+
int intBars; // ПЕРЕМЕННАЯ ДЛЯ ОПЕРДЕЛЕНИЯ КОЛИЧЕСТВА БАРОВ, ЧТОБЫ ОПРЕДЕЛИТЬ ПОЯВЛЕНИЕ НОВОГО



#include <TREND+\SIGNALS_INDIKATOR.mqh> 
// А НИЖЕ ПОШЛИ ЕНУМЫ И ЭКСТЕРН ПЕРЕМЕННЫЕ




  그리고 ao에서 신호를 수신하여 함수를 이 포함 파일로 전송합니다. 그런 다음 이 함수에서 외부 변수가 표시되지 않고 EA 자체에서 침착하게 전달했습니다. 그리고 Expert Advisor의 지표에서 값을 가져오는 기능은 이러합니다.

 //НАЧАЛО ПОЛУЧЕНИЯ ДАННЫХ ПО АО СЕЛЛ------------------------------------------------------------------------------------------+
double f_ao_sell()
{ double 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 // СИГНАЛ НА НУЛЕВОЙ СВЕЧЕ ИЗ-ЗА ОСОБЕННОСТЕЙ ИНДИКАТОРА
);

return (ao_sell);



} //КОНЕЦ ПОЛУЧЕНИЯ ДАННЫХ ПО АО СЕЛЛ------------------------------------------------------------------------------------------+

이 함수가 그 아래의 어드바이저 파일에 있으면 틱이고 타이머인 경우 외부로 선언된 변수는 이 함수 내에서 완벽하게 표시됩니다. 그리고 이 함수를 완전히 복사하여 포함된 파일에 붙여넣으면 함수 내부의 외부 변수가 보이지 않습니다.

질문은 - 외부 변수가 타이머 아래에 쓰는 어드바이저의 기능에서 볼 수 있는 것처럼, 포함된 파일의 함수에서 외부 변수가 보이도록 하려면 어떻게 해야 합니까?

 
DanilaMactep :

좋은 오후에요 여러분. 계속해서 성배기 J 를 보고 있다. 함수 사용에 대한 편향으로 코드를 다시 실행해야 합니다. 그렇지 않으면 수많은 코드를 스크롤하는 것이 지겹습니다. 기능을 별도의 포함 파일로 이동하고 싶습니다. 테스트를 위해 EA 파일 자체에 ao 표시기에서 신호를 수신하는 기능을 만들었습니다. 모든 것이 잘 작동합니다.

  Grail 기계는 거래를 열 수도 있습니다 ;-) 그러나 포함 파일 SIGNALS_INDIKATOR를 생성하면. 그리고 이 Makar와 같이 어드바이저로 연결합니다.


  그리고 ao에서 신호를 수신하여 함수를 이 포함 파일로 전송합니다. 그런 다음 이 함수에서 외부 변수가 표시되지 않고 EA 자체에서 침착하게 전달했습니다. 그리고 Expert Advisor의 지표에서 값을 가져오는 기능은 이러합니다.

이 함수가 그 아래의 어드바이저 파일에 있으면 틱이고 타이머인 경우 외부로 선언된 변수는 이 함수 내에서 완벽하게 표시됩니다. 그리고 이 함수를 완전히 복사하여 포함된 파일에 붙여넣으면 함수 내부의 외부 변수가 보이지 않습니다.

질문은 - 외부 변수가 타이머 아래에 쓰는 어드바이저의 기능에서 볼 수 있는 것처럼, 포함된 파일의 함수에서 외부 변수가 보이도록 하려면 어떻게 해야 합니까?

외부 변수 - 무엇입니까?
 
MakarFX :
외부 변수 - 무엇입니까?

나는 그들과 함께 코드 조각을 붙여 넣을 것입니다 -


 //+------------------------------------------------------------------+
//|                                           TREND+DIVERGENCE_V_1.0 |
//|                                                    ДАНЯ ГАГАРКИН |
//|                                     https://vk.com/danila_mastep |
//+------------------------------------------------------------------+
#property copyright "ДАНЯ ГАГАРКИН"
#property link        "https://vk.com/danila_mastep"
#property version    "1.00"
#property strict
//НАЧАЛО ВХОДНЫХ ПЕРЕМЕННЫХ И ГЛОБАЛЬНЫХ ПЕРЕМЕННЫХ------------------------------------------------------------------------------------------+
int intBars; // ПЕРЕМЕННАЯ ДЛЯ ОПЕРДЕЛЕНИЯ КОЛИЧЕСТВА БАРОВ, ЧТОБЫ ОПРЕДЕЛИТЬ ПОЯВЛЕНИЕ НОВОГО



#include <TREND+DIVERGENCE\SIGNALS_INDIKATOR.mqh> 



enum enumCoincidence
  {
   enCoinAccurate= 1 ,     // Точный
   enCoinApproximate= 0 , // Приближенный
  };
   enum enumYN
  {
   enYes= 1 , // Да
   enNo= 0 ,   // Нет
  };
  
   enum enumSL //ПЕРЕЧИСЛЕНИЕ ДЛЯ СТОП ЛОССА
  {
   en_fiks= 1 , // ФИКСИРОВАННЫЙ В ПУНКТАХ
   en_po_atr= 0 ,   // ПО АТР
  };
   // ПЕРЕЧИСЛЕНИЕ ДЛЯ ВКЛЮЧЕНИЯ ПЕРВОГО ЭКРАНА
  
   enum enum_screen1 //ПЕРЕЧИСЛЕНИЕ ДЛЯ ПЕРВОГО ЭКРАНА
  {
   en_on_screen1= 1 , //  1 ЭКРАН ON
   en_off_screen1= 0 ,   //  1 ЭКРАН OFF
  };
   //ЕНУМ 2-ГО ЭКРАНА
  
   enum enum_screen2 //ПЕРЕЧИСЛЕНИЕ ДЛЯ ВТОРОГО ЭКРАНА
  {
   en_on_screen2= 1 ,     //  2 ЭКРАН ON
   en_off_screen2= 0 ,   // 2 ЭКРАН OFF
  };
  
     enum enum_use_filter //ПЕРЕЧИСЛЕНИЕ ДЛЯ ОТКРЫТИЯ ОТОЛЖАК С ФИЛЬТРОМ ИЛИ БЕЗ
  {
   en_bez_filtra= 1 ,     // БЕЗ ЦЕНОВОГО ФИЛЬТРА
   en_c_filbtpom= 0 ,   // С ЦЕНОВЫМ ФИЛЬТРОМ
  };
  
   //-- ПЕРЕЧИСЛЕНИЕ ДЛЯ ТИПА ОРДЕРОВ
  
   enum enum_tip_orderov
  {
   en_otlojki= 1 ,     // ОТЛОЖЕННЫЕ
   en_rbIno4nbIe= 0 , // РЫНОЧНЫЕ
  };
  
   //--- ПЕЕРЧИСЛЕНИЕ ДЛЯ ВКЛЮЧЕНИЯ ТРАЛА
       enum enum_use_tral 
  {
   en_on_tral= 1 ,     // С ТРАЛОМ
   en_off_tral= 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 int slippages= 5 ; // ПРОСКАЛЬЗЫВАНИЕ
   extern int MaxRisk= 1 ; //  % УБЫТКА ПРИ SL
   extern int razmer_fikc_sl= 500 ; // ФИКСИРОВАННЫЙ SL П/П?
   extern enum_screen1 flag_screen1= en_on_screen1; // ВКЛ-ВЫКЛ 1 ЭКРАН
   extern enum_screen2 flag_screen2= en_on_screen2; // ВКЛ-ВЫКЛ 2 ЭКРАН
   extern enum_tip_orderov kakie_ordera= en_rbIno4nbIe; // ОРДЕРА ОТКРЫТИЯ?

외부 변수를 노란색으로 강조 표시했습니다. 이러한 변수는 입력 매개변수 탭에서 차트에 Expert Advisor를 첨부할 때 표시됩니다.

 
DanilaMactep :

나는 그들과 함께 코드 조각을 붙여 넣을 것입니다 -


외부 변수를 노란색으로 강조 표시했습니다. 이러한 변수는 입력 매개변수 탭에서 차트에 Expert Advisor를 첨부할 때 표시됩니다.

이제 그들은 "extern" "input" 대신 사용합니다.

"외부 변수"도 SIGNALS_INDIKATOR.mqh 라이브러리로 전송해야 합니다.

 
DanilaMactep :

나는 그들과 함께 코드 조각을 붙여 넣을 것입니다 -

EA 본문의 전역 변수 는 EA에만 표시되며 포함 파일에는 표시되지 않습니다.

그러나 포함된 파일의 본문에 있는 전역 변수는 어디에서나 볼 수 있습니다.