MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1377

 
Michail_David :

Ben kendim anlamadım, Alexey, bu döviz çiftini nereden çıkardı))

Evet, oluyor ... Bir şey düşündüm, başka bir şey yazdım ... Ben kendim aynıyım ... ... ...)))

 
Alexey Viktorov :

Ya kayaklar kötü... Michail_David'in mesajlarında nedense böyle bir çiftten bahsedildiğini göremiyorum... Her yerde USDJPY yazıyor.

Kayak pisti aynı değil )))) Bende var;) Birileri berbat etmiş.

Ama aslında - bir çift bir dizedir ve içine tırnak eklenmesi gerekmez.

@Michael_David

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

vlt - istenen çift (veya bir parçası :))))

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

Kayak pisti aynı değil )))) Bende var;) Birileri berbat etmiş.

Ama aslında - bir çift bir dizedir ve içine tırnak eklenmesi gerekmez.

@Michael_David

vlt - istenen çift (veya bir parçası :))))

Sergey, teşekkürler. Fikri anladım.

 

Merhaba. Tavsiye lütfen.

1. EA, bir dizi emrin ticaretini yapacaktır (al-sat-al-sat-...). Seri, kârla kapanan bir emirle sona erer. Nasıl uygulanır?

2. Sonraki sorun. İlk seri henüz bitmedi ("artı" sipariş yoktu) ve ikincisi piyasaya sürüldü. Bir danışman için onları nasıl "ayırabilirim"?

Teşekkür ederim.

 
Forallf :

Merhaba. Tavsiye lütfen.

1. EA, bir dizi emrin ticaretini yapacaktır (al-sat-al-sat-...). Seri, kârla kapanan bir emirle sona erer. Nasıl uygulanır?

2. Sonraki sorun. İlk seri henüz bitmedi ("artı" sipariş yoktu) ve ikincisi piyasaya sürüldü. Bir danışman için onları nasıl "ayırabilirim"?

Teşekkür ederim.

1 Yardımcı olamayacak kadar belirsiz bir durum...

2 Farklı "sihir" kullanın

 

Herkese iyi günler. Kase makinesi J'yi görmeye devam ediyorum. Kodu, işlevlerin kullanımına yönelik bir önyargıyla yeniden yapmanız gerekir, aksi takdirde bir ton kodu kaydırmaktan bıkmış olursunuz. Fonksiyonları ayrı dahil edilen dosyalara taşımak istiyorum. Test için, ao göstergesinden bir sinyal almak için EA dosyasının kendisinde bir işlev oluşturdum - her şey iyi çalışıyor.

  Kâse makinesi, fırsatları bile açar ;-) ancak bir içerme dosyası oluşturursam SIGNALS_INDIKATOR. Ve bunu Makar gibi danışmana bağlıyorum.

 //+------------------------------------------------------------------+
//|                                           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> 
// А НИЖЕ ПОШЛИ ЕНУМЫ И ЭКСТЕРН ПЕРЕМЕННЫЕ




  Ve fonksiyonumu ao tarafından bu içerme dosyasına bir sinyal alarak aktarıyorum, daha sonra bu fonksiyonda harici değişkenlerim görünmez, ki bunu EA'nın kendisinde sakince geçtim. Ve Expert Advisor'daki indikatörden değer alma işlevi de bu şekildedir.

 //НАЧАЛО ПОЛУЧЕНИЯ ДАННЫХ ПО АО СЕЛЛ------------------------------------------------------------------------------------------+
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);



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

Bu fonksiyon aşağıdaki danışman dosyasında bulunuyorsa, bu bir tick ve bir zamanlayıcı ise, o zaman harici olarak bildirilen değişkenler bu fonksiyon içinde mükemmel bir şekilde görülebilir. Ve bu işlevi tamamen kopyalayıp dahil edilen dosyaya yapıştırırsam, orada işlevin içindeki harici değişkenler görünmez.

Soru şu ki - zamanlayıcının altına yazdığım danışman fonksiyonlarında bu değişkenler nasıl görünüyorsa, dahil edilen dosyadaki fonksiyonlarda harici değişkenleri görünür kılmak için ne yapılmalı?

 
DanilaMactep :

Herkese iyi günler. Kase makinesi J'yi görmeye devam ediyorum. Kodu, işlevlerin kullanımına yönelik bir önyargıyla yeniden yapmanız gerekir, aksi takdirde bir ton kodu kaydırmaktan bıkmış olursunuz. Fonksiyonları ayrı dahil edilen dosyalara taşımak istiyorum. Test için, ao göstergesinden bir sinyal almak için EA dosyasının kendisinde bir işlev oluşturdum - her şey iyi çalışıyor.

  Kâse makinesi, fırsatları bile açar ;-) ancak bir içerme dosyası oluşturursam SIGNALS_INDIKATOR. Ve bunu Makar gibi danışmana bağlıyorum.


  Ve fonksiyonumu ao tarafından bu içerme dosyasına bir sinyal alarak aktarıyorum, daha sonra bu fonksiyonda harici değişkenlerim görünmez, ki bunu EA'nın kendisinde sakince geçtim. Ve Expert Advisor'daki indikatörden değer alma işlevi de bu şekildedir.

Bu fonksiyon aşağıdaki danışman dosyasında bulunuyorsa, bu bir tick ve bir zamanlayıcı ise, o zaman harici olarak bildirilen değişkenler bu fonksiyon içinde mükemmel bir şekilde görülebilir. Ve bu işlevi tamamen kopyalayıp dahil edilen dosyaya yapıştırırsam, orada işlevin içindeki harici değişkenler görünmez.

Soru şu ki - zamanlayıcının altına yazdığım danışman fonksiyonlarında bu değişkenler nasıl görünüyorsa, dahil edilen dosyadaki fonksiyonlarda harici değişkenleri görünür kılmak için ne yapılmalı?

dış değişkenler - nedir bu?
 
MakarFX :
dış değişkenler - nedir bu?

Onlarla bir kod parçası yapıştıracağım -


 //+------------------------------------------------------------------+
//|                                           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; // ОРДЕРА ОТКРЫТИЯ?

Dış değişkenleri sarı ile vurguladım. Bu değişkenler, Giriş Parametreleri sekmesindeki bir grafiğe bir Uzman Danışman eklenirken görüntülenir.

 
DanilaMactep :

Onlarla bir kod parçası yapıştıracağım -


Dış değişkenleri sarı ile vurguladım. Bu değişkenler, Giriş Parametreleri sekmesindeki bir grafiğe bir Uzman Danışman eklenirken görüntülenir.

Artık "harici" "girdi" yerine kullanıyorlar

"harici değişkenlerinizi" SIGNALS_INDIKATOR.mqh kitaplığına da aktarmanız gerekir.

 
DanilaMactep :

Onlarla bir kod parçası yapıştıracağım -

EA gövdesindeki genel değişkenler yalnızca EA tarafından görülebilir ve dosyaları dahil etmek için görünmez,

ancak dahil edilen dosyanın gövdesindeki global değişkenler her yerde görülebilir.