← К каталогу
Исходный код · ID 2433

arbitrage@lifeindreamsworld.mq5

Похожие материалы по тегам

xauusd_gold_perfect.mq4MQL4 / MetaTrader 4 · 2 общих теговtm sniper pro.pineTradingView · 2 общих теговsniper pro.mq5MQL5 / MetaTrader 5 · 2 общих теговpro +.pineTradingView · 2 общих теговofada_gold_trader_v230.mq5MQL5 / MetaTrader 5 · 2 общих теговmulti strategy algo combined by enigma mode.pineTradingView · 2 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Это пользовательский индикатор для платформы MetaTrader 4, предназначенный для анализа арбитражных возможностей между тремя валютными парами. Инструмент рассчитывает выбранный технический индикатор (MACD, Stochastic, RSI, CCI, RVI или DeMarker) для каждой из трёх пар и отображает два буфера — Base и Quote — в отдельном окне графика в виде линий. Индикатор поддерживает настройку временного интервала, выбор цены расчёта, а также визуальные опции: окраска свечей, заливка области между линиями трендовыми объектами и вывод алертов при пересечении буферов.

Настройки программы

НастройкаОписание
Indicator Выбор индикатора — Определяет, какой технический индикатор будет рассчитан и отображён: MACD, Stochastic, RSI, CCI, RVI или DeMarker.
TimeFrame Таймфрейм — Задаёт временной интервал для расчёта индикаторных значений; 0 соответствует текущему таймфрейму графика.
MACD MACD (разделитель) — Текстовый разделитель в панели настроек, обозначающий группу параметров индикатора MACD.
Fast EMA Period (FastEMA) Период быстрой EMA — Период быстрой экспоненциальной скользящей средней, используемая в расчёте MACD.
Slow EMA Period (SlowEMA) Период медленной EMA — Период медленной экспоненциальной скользящей средней, используемая в расчёте MACD.
Signal SMA Period (SignalSMA) Период сигнальной SMA — Период простой скользящей средней, используемой в качестве сигнальной линии MACD.
MACD Price (MACDPrice) Цена для MACD — Ценовой тип, применяемый при расчёте индикатора MACD (например, закрытие, открытие и т. д.).
Stochastic Stochastic (разделитель) — Текстовый разделитель в панели настроек, обозначающий группу параметров осциллятора Stochastic.
K Period (Kperiod) Период K — Основной период осциллятора Stochastic.
D Period (Dperiod) Период D — Период сигнальной линии осциллятора Stochastic.
Slowing Замедление — Коэффициент сглаживания осциллятора Stochastic.
Price Field (PriceField) Поле цены Stochastic — Ценовой тип, используемый при расчёте осциллятора Stochastic.
RSI RSI (разделитель) — Текстовый разделитель в панели настроек, обозначающий группу параметров индикатора RSI.
RSI Period (RSIPeriod) Период RSI — Период индикатора относительной силы RSI.
RSI Price (RSIPrice) Цена для RSI — Ценовой тип, применяемый при расчёте индикатора RSI.
CCI CCI (разделитель) — Текстовый разделитель в панели настроек, обозначающий группу параметров индикатора CCI.
CCI Period (CCIPeriod) Период CCI — Период индикатора Commodity Channel Index.
CCI Price (CCIPrice) Цена для CCI — Ценовой тип, применяемый при расчёте индикатора CCI.
RVI RVI (разделитель) — Текстовый разделитель в панели настроек, обозначающий группу параметров индикатора RVI.
RVI Period (RVIPeriod) Период RVI — Период индикатора Relative Vigor Index.
DeMarker DeMarker (разделитель) — Текстовый разделитель в панели настроек, обозначающий группу параметров осциллятора DeMarker.
DeMarker Period (DeMarkerPeriod) Период DeMarker — Период осциллятора DeMarker.
_ Разделитель — Текстовый разделитель в панели настроек.
Color Bars (ColorBars) Окраска свечей — Включает или отключает автоматическую окраску свечей в цвета индикаторных линий.
Fill Buffers (FillBuffers) Заливка буферов — Включает или отключает отрисовку трендовых линий, заполняющих область между двумя буферами.
__ Разделитель — Текстовый разделитель в панели настроек.
AlertsOn Алерты — Включает или отключает вывод алертов при пересечении буферов Base и Quote.
Получить полный код

Поиск по коду файла

#property description"Arbitrage by pipPod"
#property version    "1.00"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   2

#property indicator_type1   DRAW_LINE
#property indicator_color1  clrLimeGreen
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrFireBrick
#property indicator_style2  STYLE_SOLID
#property indicator_width2  2
ushort indicator_width3;

#property indicator_levelcolor clrLightSlateGray

double indicator_level1=   0;
double indicator_level2=  .2;
double indicator_level3= -.2;
double indicator_level4=  20;
double indicator_level5= -20;
double indicator_level6=  30;
double indicator_level7= -30;
double indicator_level8= 100;
double indicator_level9=-100;

enum indicators
  {
   INDICATOR_MACD,         //Moving Average Convergence/Divergence
   INDICATOR_STOCHASTIC,   //Stochastic Oscillator
   INDICATOR_RSI,          //Relative Strength Index
   INDICATOR_CCI,          //Commodity Channel Index
   INDICATOR_RVI,          //Relative Vigor Index
   INDICATOR_DEMARK,       //DeMarker Oscillator
  };

input indicators  Indicator=INDICATOR_MACD;

input ENUM_TIMEFRAMES TimeFrame=0;

input string MACD;
input int FastEMA=12;                           //Fast EMA Period
input int SlowEMA=26;                           //Slow EMA Period
input int SignalSMA=9;                          //Signal SMA Period
input ENUM_APPLIED_PRICE MACDPrice=PRICE_CLOSE; //MACD Price

input string Stochastic;
input int Kperiod=7;                            //K Period
input int Dperiod=3;                            //D Period
input int Slowing=3;    
input ENUM_STO_PRICE PriceField=STO_LOWHIGH;    //Price Field

input string RSI;
input int  RSIPeriod=14;                        //RSI Period
input ENUM_APPLIED_PRICE RSIPrice=PRICE_CLOSE;  //RSI Price

input string CCI;
input int  CCIPeriod=14;                        //CCI Period
input ENUM_APPLIED_PRICE CCIPrice=PRICE_CLOSE;  //CCI Price

input string RVI;
input int  RVIPeriod=14;                        //RVI Period

input string DeMarker;
input int  DeMarkerPeriod=14;                   //DeMarker Period
input string _;//---
input bool ColorBars=true;    //Color Bars
input bool FillBuffers=true;  //Fill Buffers
input string __;//---
input bool AlertsOn=false;

double   BaseBuffer[];
double   QoteBuffer[];

#define  USDJPY   "USDJPY"

string   base,
         quote,
         symbol1,
         symbol2,
         symbol3;

double   index1,
         index2,
         index3,
         baseIndex,
         qoteIndex;

bool     baseUSD=false,
         quoteUSD=false,
         quoteJPY=false,
         quoteJPY1=false,
         quoteJPY2=false,
         quoteJPY3=false;

color    color1 = indicator_color1,
         color2 = indicator_color2,
         colorFill;

string   shortName;
long     chartID=ChartID();
short    window;

int OnInit()
  {
      // код доступен только после оплаты
   }

   base = StringSubstr(_Symbol,0,3);  //Base currency name
   quote= StringSubstr(_Symbol,3,3);  //Quote currency name
   if(_Symbol=="EURUSD")  
     {
      color1 = clrRoyalBlue;
      color2 = clrLimeGreen;
      quoteUSD = true;
      symbol1 = _Symbol;
      symbol2 = "EURJPY";
      quoteJPY2 = true;
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol=="EURJPY")  
     {
      color1 = clrRoyalBlue;
      color2 = clrYellow;
      quoteJPY = true;
      symbol1 = _Symbol;
      quoteJPY1 = true;
      symbol2 = "EURUSD";
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol=="GBPUSD")  
     {
      color1 = clrSilver;
      color2 = clrLimeGreen;
      quoteUSD = true;
      symbol1 = _Symbol;
      symbol2 = "GBPJPY";
      quoteJPY2 = true;
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol=="GBPJPY")  
     {
      color1 = clrSilver;
      color2 = clrYellow;
      quoteJPY = true;
      symbol1 = _Symbol;
      quoteJPY1 = true;
      symbol2 = "GBPUSD";
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol=="AUDUSD")  
     {
      color1 = clrDarkOrange;
      color2 = clrLimeGreen;
      quoteUSD = true;
      symbol1 = _Symbol;
      symbol2 = "AUDJPY";
      quoteJPY2 = true;
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol=="USDCAD")
     {
      color1 = clrLimeGreen;
      color2 = clrWhiteSmoke;
      baseUSD = true;
      symbol1 = _Symbol;
      symbol2 = "CADJPY";
      quoteJPY2 = true;
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol=="USDCHF")
     {
      color1 = clrLimeGreen;
      color2 = clrFireBrick;
      baseUSD = true;
      symbol1 = _Symbol;
      symbol2 = "CHFJPY";
      quoteJPY2 = true;
      symbol3 = USDJPY;
      quoteJPY3 = true;
     }
   if(_Symbol==USDJPY)  
     {
      color1 = clrLimeGreen;
      color2 = clrYellow;
      quoteJPY = true;
      symbol1 = _Symbol;
      quoteJPY1 = true;
      symbol2 = "EURUSD";
      symbol3 = "EURJPY";
      quoteJPY3 = true;
     }

   string timeFrame = StringSubstr(EnumToString(TimeFrame),7);
   if(timeFrame=="CURRENT")
      timeFrame = "";

   switch(Indicator)
     {
      case INDICATOR_MACD:
         shortName=StringFormat("Arbitrage MACD %s(%d,%d,%d)",
                                timeFrame,FastEMA,SlowEMA,SignalSMA);
         IndicatorSetInteger(INDICATOR_DIGITS,5);
         IndicatorSetInteger(INDICATOR_LEVELS,1);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,0,indicator_level1);
         break;
      case INDICATOR_STOCHASTIC:
         shortName=StringFormat("Arbitrage Stochastic %s(%d,%d,%d)",
                                timeFrame,Kperiod,Dperiod,Slowing);
         IndicatorSetInteger(INDICATOR_DIGITS,0);
         IndicatorSetInteger(INDICATOR_LEVELS,3);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,0,indicator_level1);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,1,indicator_level6);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,2,indicator_level7);
         break;
      case INDICATOR_RSI:
         shortName=StringFormat("Arbitrage RSI %s(%d)",
                                timeFrame,RSIPeriod);
         IndicatorSetInteger(INDICATOR_DIGITS,0);
         IndicatorSetInteger(INDICATOR_LEVELS,3);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,0,indicator_level1);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,1,indicator_level4);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,2,indicator_level5);
         break;
      case INDICATOR_CCI:
         shortName=StringFormat("Arbitrage CCI %s(%d)",
                                timeFrame,CCIPeriod);
         IndicatorSetInteger(INDICATOR_DIGITS,0);
         IndicatorSetInteger(INDICATOR_LEVELS,3);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,0,indicator_level1);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,1,indicator_level8);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,2,indicator_level9);
         break;
      case INDICATOR_RVI:
         shortName=StringFormat("Arbitrage RVI %s(%d)",
                                timeFrame,RVIPeriod);
         IndicatorSetInteger(INDICATOR_DIGITS,3);
         IndicatorSetInteger(INDICATOR_LEVELS,3);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,0,indicator_level1);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,1,indicator_level2);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,2,indicator_level3);
         break;
      case INDICATOR_DEMARK:
         shortName=StringFormat("Arbitrage DeMarker %s(%d)",
                                timeFrame,DeMarkerPeriod);
         IndicatorSetInteger(INDICATOR_DIGITS,3);
         IndicatorSetInteger(INDICATOR_LEVELS,3);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,0,indicator_level1);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,1,indicator_level2);
         IndicatorSetDouble(INDICATOR_LEVELVALUE,2,indicator_level3);
     }  
   IndicatorSetString(INDICATOR_SHORTNAME,shortName);
   window = Chart

Показано первые 50% кода (символов: 11440)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 144₽ ≈ $13.98