Re: Convert MT4 indicators to MT5

461
oskison wrote: Sat Aug 03, 2024 8:02 pm
can you show fragment of code for this enumeration setting?
Image

i mean like on this example
Image
i would like to create ea based on this indicator and need this fragment of setting. I dont want full mql5 file

Code: Select all

input int               inpRsiPeriod           = 21;                    // Rsi period
enum enRsiTypes
      {
         rsi_cut,                                                       // Cuttler's RSI
         rsi_emp,                                                       // Trend emphasized RSI
         rsi_ehl,                                                       // Ehlers' smoothed RSI
         rsi_har,                                                       // Harris' RSI
         rsi_lag,                                                       // RSI Laguerre
         rsi_rap,                                                       // Rapid RSI
         rsi_rsi,                                                       // RSI 
         rsi_rsx,                                                       // RSX
         rsi_rsx2,                                                      // RSX 2
         rsi_slo,                                                       // Slow RSI
         rsi_dse,                                                       // Rsi Wilder's DsEma
         rsi_ere,                                                       // Rsi Wilder's efficiency ratio DsEma
         rsi_ssm,                                                       // Super smoother RSI 
         rsi_usie,                                                      // Ultimate RSI Ema
          rsi_usir                                                      // Ultimate RSI Rma
      };
input enRsiTypes      inpRsiMethod             = rsi_rsx2;              // Rsi method 
enum enPrices
{
         pr_close,                                                      // Close
         pr_open,                                                       // Open
         pr_high,                                                       // High
         pr_low,                                                        // Low
         pr_median,                                                     // Median
         pr_typical,                                                    // Typical
         pr_weighted,                                                   // Weighted
         pr_average,                                                    // Average (high+low+open+close)/4
         pr_medianb,                                                    // Average median body (open+close)/2
         pr_tbiased,                                                    // Trend biased price
         pr_tbiased2,                                                   // Trend biased (extreme) price
         pr_haclose,                                                    // Heiken ashi close
         pr_haopen,                                                     // Heiken ashi open
         pr_hahigh,                                                     // Heiken ashi high
         pr_halow,                                                      // Heiken ashi low
         pr_hamedian,                                                   // Heiken ashi median
         pr_hatypical,                                                  // Heiken ashi typical
         pr_haweighted,                                                 // Heiken ashi weighted
         pr_haaverage,                                                  // Heiken ashi average
         pr_hamedianb,                                                  // Heiken ashi median body
         pr_hatbiased,                                                  // Heiken ashi trend biased price
         pr_hatbiased2,                                                 // Heiken ashi trend biased (extreme) price
         pr_habclose,                                                   // Heiken ashi (better formula) close
         pr_habopen,                                                    // Heiken ashi (better formula) open
         pr_habhigh,                                                    // Heiken ashi (better formula) high
         pr_hablow,                                                     // Heiken ashi (better formula) low
         pr_habmedian,                                                  // Heiken ashi (better formula) median
         pr_habtypical,                                                 // Heiken ashi (better formula) typical
         pr_habweighted,                                                // Heiken ashi (better formula) weighted
         pr_habaverage,                                                 // Heiken ashi (better formula) average
         pr_habmedianb,                                                 // Heiken ashi (better formula) median body
         pr_habtbiased,                                                 // Heiken ashi (better formula) trend biased price
         pr_habtbiased2                                                 // Heiken ashi (better formula) trend biased (extreme) price
      }; 
input enPrices           inpPrice              = pr_average;            // Rsi price
input int                inpDepth              = 2;                     // "Rsx 2 Depth" (3 for original RSX)
input double             inpSpeed              = 0.50;                  // "Rsx 2 Speed" (0.5 for original RSX)
input int                inpRsiPlPer           = 2;                     // Rsi price line period     
enum  enMaTypes
      {
            ma_ema,                                                     // Exponential moving average - EMA
            ma_lwma,                                                    // Linear weighted moving average - LWMA
            ma_sma,                                                     // Simple moving average - SMA
            ma_smma,                                                    // Smoothed moving average - SMMA
      };  
input enMaTypes          inpRsiMaMode          = ma_lwma;               // Rsi smoothing average type 
input int                inpRsiSigPer          = 7;                     // Signal smoothing average period
input enMaTypes          inpSigMaMode          = ma_lwma;               // Signal smoothing average type 
input int                inpBLSigPer           = 21;                    // Base line smoothing average period
input enMaTypes          inpBLMaMode           = ma_lwma;               // Base line smoothing average typ
enum  enColorOn
{
   color_onSlo,                                                         // Change color on rsi ma slope change
   color_onSig                                                          // Change color on rsi ma crossing signal line
};
input enColorOn          inpColorOn            = color_onSlo;           // Color change on :
input double             LevelDn               = 15;                    // Lowest level
input double             LevelDn1              = 25;                    // Next Lowest level
input double             LevelMid              = 40;                    // Lower mid level
input double             LevelMid1             = 50;                    // Upper mid level
input double             LevelUp1              = 60;                    // Upper level
input double             LevelUp               = 75;                    // Highest upper level

Added a few more rsi's to the mix for testing.
These users thanked the author mrtools for the post (total 3):
RodrigoRT7, Krunal Gajjar, oskison


Re: Convert MT4 indicators to MT5

462
mrtools wrote: Sun Aug 04, 2024 8:33 am

Code: Select all

input int               inpRsiPeriod           = 21;                    // Rsi period
enum enRsiTypes
      {
         rsi_cut,                                                       // Cuttler's RSI
         rsi_emp,                                                       // Trend emphasized RSI
         rsi_ehl,                                                       // Ehlers' smoothed RSI
         rsi_har,                                                       // Harris' RSI
         rsi_lag,                                                       // RSI Laguerre
         rsi_rap,                                                       // Rapid RSI
         rsi_rsi,                                                       // RSI 
         rsi_rsx,                                                       // RSX
         rsi_rsx2,                                                      // RSX 2
         rsi_slo,                                                       // Slow RSI
         rsi_dse,                                                       // Rsi Wilder's DsEma
         rsi_ere,                                                       // Rsi Wilder's efficiency ratio DsEma
         rsi_ssm,                                                       // Super smoother RSI 
         rsi_usie,                                                      // Ultimate RSI Ema
          rsi_usir                                                      // Ultimate RSI Rma
      };
input enRsiTypes      inpRsiMethod             = rsi_rsx2;              // Rsi method 
enum enPrices
{
         pr_close,                                                      // Close
         pr_open,                                                       // Open
         pr_high,                                                       // High
         pr_low,                                                        // Low
         pr_median,                                                     // Median
         pr_typical,                                                    // Typical
         pr_weighted,                                                   // Weighted
         pr_average,                                                    // Average (high+low+open+close)/4
         pr_medianb,                                                    // Average median body (open+close)/2
         pr_tbiased,                                                    // Trend biased price
         pr_tbiased2,                                                   // Trend biased (extreme) price
         pr_haclose,                                                    // Heiken ashi close
         pr_haopen,                                                     // Heiken ashi open
         pr_hahigh,                                                     // Heiken ashi high
         pr_halow,                                                      // Heiken ashi low
         pr_hamedian,                                                   // Heiken ashi median
         pr_hatypical,                                                  // Heiken ashi typical
         pr_haweighted,                                                 // Heiken ashi weighted
         pr_haaverage,                                                  // Heiken ashi average
         pr_hamedianb,                                                  // Heiken ashi median body
         pr_hatbiased,                                                  // Heiken ashi trend biased price
         pr_hatbiased2,                                                 // Heiken ashi trend biased (extreme) price
         pr_habclose,                                                   // Heiken ashi (better formula) close
         pr_habopen,                                                    // Heiken ashi (better formula) open
         pr_habhigh,                                                    // Heiken ashi (better formula) high
         pr_hablow,                                                     // Heiken ashi (better formula) low
         pr_habmedian,                                                  // Heiken ashi (better formula) median
         pr_habtypical,                                                 // Heiken ashi (better formula) typical
         pr_habweighted,                                                // Heiken ashi (better formula) weighted
         pr_habaverage,                                                 // Heiken ashi (better formula) average
         pr_habmedianb,                                                 // Heiken ashi (better formula) median body
         pr_habtbiased,                                                 // Heiken ashi (better formula) trend biased price
         pr_habtbiased2                                                 // Heiken ashi (better formula) trend biased (extreme) price
      }; 
input enPrices           inpPrice              = pr_average;            // Rsi price
input int                inpDepth              = 2;                     // "Rsx 2 Depth" (3 for original RSX)
input double             inpSpeed              = 0.50;                  // "Rsx 2 Speed" (0.5 for original RSX)
input int                inpRsiPlPer           = 2;                     // Rsi price line period     
enum  enMaTypes
      {
            ma_ema,                                                     // Exponential moving average - EMA
            ma_lwma,                                                    // Linear weighted moving average - LWMA
            ma_sma,                                                     // Simple moving average - SMA
            ma_smma,                                                    // Smoothed moving average - SMMA
      };  
input enMaTypes          inpRsiMaMode          = ma_lwma;               // Rsi smoothing average type 
input int                inpRsiSigPer          = 7;                     // Signal smoothing average period
input enMaTypes          inpSigMaMode          = ma_lwma;               // Signal smoothing average type 
input int                inpBLSigPer           = 21;                    // Base line smoothing average period
input enMaTypes          inpBLMaMode           = ma_lwma;               // Base line smoothing average typ
enum  enColorOn
{
   color_onSlo,                                                         // Change color on rsi ma slope change
   color_onSig                                                          // Change color on rsi ma crossing signal line
};
input enColorOn          inpColorOn            = color_onSlo;           // Color change on :
input double             LevelDn               = 15;                    // Lowest level
input double             LevelDn1              = 25;                    // Next Lowest level
input double             LevelMid              = 40;                    // Lower mid level
input double             LevelMid1             = 50;                    // Upper mid level
input double             LevelUp1              = 60;                    // Upper level
input double             LevelUp               = 75;                    // Highest upper level

Added a few more rsi's to the mix for testing.
Hi mrtools
i have problem with creation ea using this indicator.
Can you send mi ex5 file? but in setting for "Rsi method" i would like to have RSI only i mean rsi_rsi in code
I would be very grateful