//+------------------------------------------------------------------+
//| Custom WPR@axe44.mq4 |
//| Copyright 2005-2014, MetaQuotes Software Corp. |
//| http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "2005-2014, MetaQuotes Software Corp."
#property link "http://www.mql4.com"
#property description "Moving Averages Convergence/Divergence"
#property strict
#include <MovingAverages.mqh>
//--- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Silver
#property indicator_color2 Red
#property indicator_width1 2
//--- indicator parameters
input int InpFastEMA=14; // Fast EMA Period
input string Pereferics="";
//input int InpSlowEMA=26; // Slow EMA Period
//input int InpSignalSMA=9; // Signal SMA Period
//--- indicator buffers
double ExtMacdBuffer[];
double ExtSignalBuffer[];
//--- right input parameters flag
bool ExtParameters=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit(void)
{
IndicatorDigits(Digits+1);
//--- drawing settings
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
// SetIndexDrawBegin(1,InpSignalSMA);
//--- indicator buffers mapping
SetIndexBuffer(0,ExtMacdBuffer);
SetIndexBuffer(1,ExtSignalBuffer);
//--- name for DataWindow and indicator subwindow label
IndicatorShortName("WPR("+IntegerToString(InpFastEMA)+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");
//--- check for input parameters
if(InpFastEMA<=1 )
{
Print("Wrong input parameters");
ExtParameters=false;
return(INIT_FAILED);
}
else
ExtParameters=true;
//--- initialization done
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,
const int prev_calculated,
const datetime& time[],
const double& open[],
const double& high[],
const double& low[],
const double& close[],
const long& tick_volume[],
const long& volume[],
const int& spread[])
{
int i,limit;
//---
if(!ExtParameters)
return(0);
//--- last counted bar will be recounted
limit=rates_total-prev_calculated;
if(prev_calculated>0)
limit++;
//--- macd counted in the 1-st buffer
for(i=0; i<limit; i++)
{
ExtMacdBuffer[i]=((iMA(NULL,0,InpFastEMA,0,3,0,i)/iMA(NULL,0,InpFastEMA,0,3,1,i))-1)*10000;
double gpbusd=((iMA("GBPUSD"+Pereferics,0,InpFastEMA,0,3,0,i)/iMA("GBPUSD"+Pereferics,0,InpFastEMA,0,3,1,i))-1)*10000;
double gpbjpy=((iMA("GBPJPY"+Pereferics,0,InpFastEMA,0,3,0,i)/iMA("GBPJPY"+Pereferics,0,InpFastEMA,0,3,1,i))-1)*10000;
double usdjpy=((iMA("USDJPY"+Pereferics,0,InpFastEMA,0,3,0,i)/iMA("USDJPY"+Pereferics,0,InpFastEMA,0,3,1,i))-1)*10000;
double gpb=(gpbusd+gpbjpy)/2;
double usd=(-gpbusd+usdjpy)/2;
double jpy=-(usdjpy+gpbjpy)/2;
}
//--- signal line counted in the 2-nd buffer
// SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer);
//--- done
return(rates_total);
}
//+------------------------------------------------------------------+
Сам индикатор
Просьба в комментарий на экране сравнить индексы и добавить пару какую лучше продать или купить в моменте и в буфер индикатора отображать эту пару.
Очень простое задание.
Спасибо заранее.
Комментарии (17)
А что делать дальше ума не приложу. Я с индикаторами как то слабоват
13 axe44 Автор Сообщений: 1149 - Алек
35 AM2 Сообщений: 16419 - Андрей
35 AM2 Сообщений: 16419 - Андрей
((Средняя закрытия делённая на среднию открытия) минус один )перемноженную на точность даёт на выходе изменение в торговую сессию.
Далее сравниваю минимум и максимум среди показателей.
Далее хотел названия такие как GBP, JPY, USD перевести в текстовые. И на этом собрать инструмент с рекомендацией купить или продать такую пару в отдельное окно с будильником на экран при обновлении или просто с будильником в виде музыки.
Само собой фильтр в один час, что бы не дёргаться
Моя версия индикатора почему то не обновляется и работает коряво. Надеюсь, что у вас получиться лучше.
Спасибо Редактирован: 19 декабря 2018, 08:07
13 axe44 Автор Сообщений: 1149 - Алек
35 AM2 Сообщений: 16419 - Андрей
13 axe44 Автор Сообщений: 1149 - Алек
Конкретизируйте пожалуйста, а то Чот не сообразить что там вообще требуется и что показывает индикатор, Буфер 2 красная линия в цветах не используется вообще.
Из Вашего комментария не понятно чего нужно сделать. Редактирован: 20 декабря 2018, 23:16
6 kirik2 Сообщений: 12 - Kirik
Сама по себе идея не доработана, так как там должны быть: максимальное отклонение, корреляция размера лота, продолжительность движения.
Потом, если получится, можно будет прогнозировать с точностью в 70-80% продолжительность движения и его разворот
13 axe44 Автор Сообщений: 1149 - Алек
Редактировал на скорую руку, не знаю правильно ли понял что требуется
Скачать: www.opentraders.ru/downloads/2197/
Редактировать: mql4.opentraders.ru
15 forextime Сообщений: 141 - ExpertFX
Могу сказать что нужно добавить, что бы из этого получилась стратегия
13 axe44 Автор Сообщений: 1149 - Алек
Немного прошу переделать индикатор на " % A.K. ", т.к. он родился под определением «Индикатор процентного изменения Алексея Королькова»
Индексы не сильно точны так как не отображают всех основных валютных пар, но индикатор отображает разворотные моменты.
Как это работает?
Для начала познакомлю всех тех кто не знаком с комьюторными играми с самой первой игрой. Правила игры: Есть два игрока и один дилер, когда у двух игроков одинаковая фигура на ставках теряет немного дилер, а когда фигура одного игрока превышает другого, деньги теряет второй, а первый получает половину, а вторую дилер.
При максимальном отклонении становиться понятно, что тот кто потеряет деньги и тот кто их заработает, как правило стоят на одной стороне, поэтому и ищем такие отклонения и размер волатильности.
Если не прав, а это бывает часто, я теряю немного денег.
Кому интересно, можно доделать этот индикатор
13 axe44 Автор Сообщений: 1149 - Алек
16 Krokus377 Сообщений: 226 - Андрей
13 axe44 Автор Сообщений: 1149 - Алек
16 Krokus377 Сообщений: 226 - Андрей
Исправлено название без ущемления авторских прав коллег.
Добавлен переферикс для нестандартных пар.
Добавлен вариант входа по движению рынка.
Требуется добавить пару чёрточек на расстоянии АТР от цены во время простоя на основной график во время бездействия основных пар
Спасибо.
13 axe44 Автор Сообщений: 1149 - Алек
Спасибо.
13 axe44 Автор Сообщений: 1149 - Алек
Примного благодарен.
13 axe44 Автор Сообщений: 1149 - Алек
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий