ZMFX Trend
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «zmfx forex trend v3.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор отображает направление тренда для до 8 валютных пар на графике MetaTrader 4. Для каждой настроенной пары рассчитываются пять технических индикаторов — EMA, Stochastic, CCI, RSI и MACD — и классифицируются как восходящие или нисходящие с помощью цветовых маркеров, отрисовываемых прямо на графике.
Данные по трендам каждого символа размещаются в виде сетки, позиция которой задаётся параметрами смещения X, Y и углом Corner. Сетка содержит названия пар и столбцы с маркерами направления для каждого из пяти индикаторов.
Пользователь может настраивать периоды всех индикаторов, восемь символов валютных пар, цвета для восходящих и нисходящих трендов, включая акцентные цвета, а также цвет текста. Переключатель темы позволяет выбрать альтернативную цветовую схему. При инициализации и деинициализации индикатор создаёт и удаляет графические объекты на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| note | Заметка — Текстовая заметка |
| symbol1 | Символ 1 — Тикер валютной пары 1 |
| symbol2 | Символ 2 — Тикер валютной пары 2 |
| symbol3 | Символ 3 — Тикер валютной пары 3 |
| symbol4 | Символ 4 — Тикер валютной пары 4 |
| symbol5 | Символ 5 — Тикер валютной пары 5 |
| symbol6 | Символ 6 — Тикер валютной пары 6 |
| symbol7 | Символ 7 — Тикер валютной пары 7 |
| symbol8 | Символ 8 — Тикер валютной пары 8 |
| EMA1_period | Период EMA 1 — Период быстрой скользящей средней EMA |
| EMA2_period | Период EMA 2 — Период средней скользящей средней EMA |
| EMA3_period | Период EMA 3 — Период медленной скользящей средней EMA |
| Stochastic_period | Период Стохастика — Период индикатора Стохастик |
| CCI_period | Период CCI — Период индикатора CCI |
| RSI_period | Период RSI — Период индикатора RSI |
| MACD_period | Период MACD — Период индикатора MACD |
| note2 | Заметка 2 — Текстовая заметка 2 |
| X | Координата X — Горизонтальное смещение панели |
| Y | Координата Y — Вертикальное смещение панели |
| Corner | Угол — Угол размещения панели на графике |
| TxtClr | Цвет текста — Цвет текста панели |
| High_up_color | Цвет высокого восходящего — Цвет маркера восходящего тренда (высокий) |
| UpClr | Цвет восходящего — Цвет маркера восходящего тренда |
| DnClr | Цвет нисходящего — Цвет маркера нисходящего тренда |
| High_down_color | Цвет высокого нисходящего — Цвет маркера нисходящего тренда (высокий) |
Поиск по коду файла
/*
It shows a direction of 4 pairs (EUR/USD, GBP/USD, AUD/USD, USD/CHF by indicators EMA and Stochastic.
*/
#property indicator_chart_window
#define Pref "ZCOMFX"
extern string note="Write 8 pairs to show trend:";
extern string symbol1="EURUSD";
extern string symbol2="GBPUSD";
extern string symbol3="AUDUSD";
extern string symbol4="NZDUSD";
extern string symbol5="EURGBP";
extern string symbol6="USDCAD";
extern string symbol7="USDJPY";
extern string symbol8="USDCHF";
extern int EMA1_period=10;
extern int EMA2_period=50;
extern int EMA3_period=200;
extern int Stochastic_period=30;
extern int CCI_period=50;
extern int RSI_period=14;
extern int MACD_period=20;
string note1="macd:";
int FastEMA=12;
int SlowEMA=26;
int SignalSMA=9;
extern string note2="Coordinates:";
extern int X=40;
extern int Y=20;
int RowStep=12;
int ColStep=17;
extern int Corner=1;
int FSize=10;
string note3="Colors, two themes:";
color RectClr=Gray;
extern color TxtClr=White;
extern color High_up_color=Lime;
extern color UpClr=DarkGreen;
extern color DnClr=FireBrick;
extern color High_down_color=Red;
bool White_Chart_Theme=false;
color RectClr1=Gray;
color TxtClr1=Gray;
color UpClr1=Lime;
color DnClr1=Red;
color FlatClr=DodgerBlue;
int TimeX;
double PriceY;
int codeAO, codeAO2, codeAO3, codeAO4, codeAO5, codeAO6, codeao7, codeao8,
codeAC, codeMACD,
codeSTO, codeSTO2, codeSTO3, codeSTO4, codeSTO5, codeSTO6, codesto7, codesto8,
codecci, codecci2, codecci3, codecci4, codecci5, codecci6, codecci7, codecci8,
codersi, codersi2, codersi3, codersi4, codersi5, codersi6, codersi7, codersi8,
codemacd, codemacd2, codemacd3, codemacd4, codemacd5, codemacd6, codemacd7, codemacd8;
color ClrAO, ClrAO2, ClrAO3, ClrAO4, ClrAO5, ClrAO6, clrao7, clrao8,
ClrAC, ClrMACD,
ClrSTO, ClrSTO2, ClrSTO3, ClrSTO4, ClrSTO5, ClrSTO6, clrsto7, clrsto8,
clrcci, clrcci2, clrcci3, clrcci4, clrcci5, clrcci6, clrcci7, clrcci8,
clrrsi, clrrsi2, clrrsi3, clrrsi4, clrrsi5, clrrsi6, clrrsi7, clrrsi8,
clrmacd, clrmacd2, clrmacd3, clrmacd4, clrmacd5, clrmacd6, clrmacd7, clrmacd8;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
Delete_My_Obj(Pref);
ObjectDelete("mywebsite");
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
ObjectSetText("mywebsite","ZMFX Trend v3 | www.zoominforex.com", 10, "Arial", DodgerBlue);
ObjectSet("mywebsite",OBJPROP_XDISTANCE,40);
ObjectSet("mywebsite",OBJPROP_YDISTANCE,12);
ObjectSet("mywebsite", OBJPROP_CORNER, 1);
double ema1,ema2,sto, cci, rsi, macd, macds, ema3;
ema1=iMA(symbol1,NULL,EMA2_period,0,MODE_EMA,PRICE_CLOSE,0);
ema2=iMA(symbol1,NULL,EMA1_period,0,MODE_EMA,PRICE_CLOSE,0);
ema3=iMA(symbol1,NULL,EMA3_period,0,MODE_EMA,PRICE_CLOSE,0);
sto =iStochastic(symbol1,NULL,Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
cci =iCCI(symbol1,NULL,CCI_period,PRICE_CLOSE,0);
rsi =iRSI(symbol1,NULL,RSI_period,PRICE_CLOSE,0);
macd=iMACD(symbol1,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_MAIN,0);
macds=iMACD(symbol1,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
if ( ema2>ema1 && ema1>ema3 ) {codeAO=233; ClrAO=High_up_color; }
else
if ( ema2<ema1 && ema1<ema3 ) {codeAO=234; ClrAO=High_down_color; }
else
if ( ema2>ema1 ) {codeAO=233; ClrAO=UpClr; }
else
if ( ema2<ema1 ) {codeAO=234; ClrAO=DnClr; }
if ( sto>80 ) {codeSTO=233; ClrSTO=High_up_color;}
if ( sto>50 && sto<80 ) {codeSTO=233; ClrSTO=UpClr;}
if ( sto<50 && sto>20) {codeSTO=234; ClrSTO=DnClr;}
if ( sto<20 ) {codeSTO=234; ClrSTO=High_down_color;}
if ( cci>0 && cci<100 ) {codecci=233; clrcci=UpClr;}
if ( cci<0 && cci>-100 ) {codecci=234; clrcci=DnClr;}
if ( cci>100) {codecci=233; clrcci=High_up_color;}
if ( cci<-100) {codecci=234; clrcci=High_down_color;}
if ( rsi>50 && rsi<65 ) {codersi=233; clrrsi=UpClr;}
if ( rsi<50 && rsi>35 ) {codersi=234; clrrsi=DnClr;}
if ( rsi<35 ) {codersi=234; clrrsi=High_down_color; }
if ( rsi>65 ) {codersi=233; clrrsi=High_up_color; }
if ( macd>0 && macd<macds ) {codemacd=233; clrmacd=UpClr;}
if ( macd<0 && macd>macds ) {codemacd=234; clrmacd=DnClr;}
if ( macd<0 && macd<macds ) {codemacd=234; clrmacd=High_down_color;}
if ( macd>0 && macd>macds ) {codemacd=233; clrmacd=High_up_color;}
double ema12,ema22,sto2, cci2, rsi2, macd2, macd2s, ema32;
ema12=iMA(symbol2,NULL,EMA2_period,0,MODE_EMA,PRICE_CLOSE,0);
ema22=iMA(symbol2,NULL,EMA1_period,0,MODE_EMA,PRICE_CLOSE,0);
ema32=iMA(symbol2,NULL,EMA3_period,0,MODE_EMA,PRICE_CLOSE,0);
sto2=iStochastic(symbol2,NULL,Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
cci2 =iCCI(symbol2,NULL,CCI_period,PRICE_CLOSE,0);
rsi2 =iRSI(symbol2,NULL,RSI_period,PRICE_CLOSE,0);
macd2=iMACD(symbol2,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_MAIN,0);
macd2s=iMACD(symbol2,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
if ( ema22>ema12 && ema12>ema32 ) {codeAO2=233; ClrAO2=High_up_color; }
else
if ( ema22<ema12 && ema12<ema32 ) {codeAO2=234; ClrAO2=High_down_color; }
else
if ( ema22>ema12 ) {codeAO2=233; ClrAO2=UpClr; }
else
if ( ema22<ema12 ) {codeAO2=234; ClrAO2=DnClr; }
if ( sto2>80 ) {codeSTO2=233; ClrSTO2=High_up_color;}
if ( sto2>50 && sto2<80 ) {codeSTO2=233; ClrSTO2=UpClr;}
if ( sto2<50 && sto2>20) {codeSTO2=234; ClrSTO2=DnClr;}
if ( sto2<20 ) {codeSTO2=234; ClrSTO2=High_down_color;}
if ( cci2>0 && cci2<100 ) {codecci2=233; clrcci2=UpClr;}
if ( cci2<0 && cci2>-100 ) {codecci2=234; clrcci2=DnClr;}
if ( cci2>100) {codecci2=233; clrcci2=High_up_color;}
if ( cci2<-100) {codecci2=234; clrcci2=High_down_color;}
if ( rsi2>50 && rsi2<65 ) {codersi2=233; clrrsi2=UpClr;}
if ( rsi2<50 && rsi2>35 ) {codersi2=234; clrrsi2=DnClr;}
if ( rsi2<35 ) {codersi2=234; clrrsi2=High_down_color; }
if ( rsi2>65 ) {codersi2=233; clrrsi2=High_up_color; }
if ( macd2>0 && macd2<macd2s ) {codemacd2=233; clrmacd2=UpClr;}
if ( macd2<0 && macd2>macd2s ) {codemacd2=234; clrmacd2=DnClr;}
if ( macd2<0 && macd2<macd2s ) {codemacd2=234; clrmacd2=High_down_color;}
if ( macd2>0 && macd2>macd2s ) {codemacd2=233; clrmacd2=High_up_color;}
double ema13,ema23,sto3, cci3, rsi3,macd3,macd3s,ema33;
ema13=iMA(symbol3,NULL,EMA2_period,0,MODE_EMA,PRICE_CLOSE,0);
ema23=iMA(symbol3,NULL,EMA1_period,0,MODE_EMA,PRICE_CLOSE,0);
ema33=iMA(symbol3,NULL,EMA3_period,0,MODE_EMA,PRICE_CLOSE,0);
sto3=iStochastic(symbol3,NULL,Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
cci3 =iCCI(symbol3,NULL,CCI_period,PRICE_CLOSE,0);
rsi3 =iRSI(symbol3,NULL,RSI_period,PRICE_CLOSE,0);
macd3=iMACD(symbol3,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_MAIN,0);
macd3s=iMACD(symbol3,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
if ( ema23>ema13 && ema13>ema33 ) {codeAO3=233; ClrAO3=High_up_color; }
else
if ( ema23<ema13 && ema13<ema33 ) {codeAO3=234; ClrAO3=High_down_color; }
else
if ( ema23>ema13 ) {codeAO3=233; ClrAO3=UpClr; }
else
if ( ema23<ema13 ) {codeAO3=234; ClrAO3=DnClr; }
if ( sto3>80 ) {codeSTO3=233; ClrSTO3=High_up_color;}
if ( sto3>50 && sto3<80 ) {codeSTO3=233; ClrSTO3=UpClr;}
if ( sto3<50 && sto3>20) {codeSTO3=234; ClrSTO3=DnClr;}
if ( sto3<20 ) {codeSTO3=234; ClrSTO3=High_down_color;}
if ( cci3>0 && cci3<100 ) {codecci3=233; clrcci3=UpClr;}
if ( cci3<0 && cci3>-100 ) {codecci3=234; clrcci3=DnClr;}
if ( cci3>100) {codecci3=233; clrcci3=High_up_color;}
if ( cci3<-100) {codecci3=234; clrcci3=High_down_color;}
if ( rsi3>50 && rsi3<65 ) {codersi3=233; clrrsi3=UpClr;}
if ( rsi3<50 && rsi3>35 ) {codersi3=234; clrrsi3=DnClr;}
if ( rsi3<35 ) {codersi3=234; clrrsi3=High_down_color; }
if ( rsi3>65 ) {codersi3=233; clrrsi3=High_up_color; }
if ( macd3>0 && macd3<macd3s ) {codemacd3=233; clrmacd3=UpClr;}
if ( macd3<0 && macd3>macd3s ) {codemacd3=234; clrmacd3=DnClr;}
if ( macd3<0 && macd3<macd3s ) {codemacd3=234; clrmacd3=High_down_color;}
if ( macd3>0 && macd3>macd3s ) {codemacd3=233; clrmacd3=High_up_color;}
double ema14,ema24,sto4, cci4, rsi4,macd4,macd4s,ema34;
ema14=iMA(symbol4,NULL,EMA2_period,0,MODE_EMA,PRICE_CLOSE,0);
ema24=iMA(symbol4,NULL,EMA1_period,0,MODE_EMA,PRICE_CLOSE,0);
ema34=iMA(symbol4,NULL,EMA3_period,0,MODE_EMA,PRICE_CLOSE,0);
sto4=iStochastic(symbol4,NULL,Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
cci4 =iCCI(symbol4,NULL,CCI_period,PRICE_CLOSE,0);
rsi4 =iRSI(symbol4,NULL,RSI_period,PRICE_CLOSE,0);
macd4=iMACD(symbol4,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_MAIN,0);
macd4s=iMACD(symbol4,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
if ( ema24>ema14 && ema14>ema34 ) {codeAO4=233; ClrAO4=High_up_color; }
else
if ( ema24<ema14 && ema14<ema34 ) {codeAO4=234; ClrAO4=High_down_color; }
else
if ( ema24>ema14 ) {codeAO4=233; ClrAO4=UpClr; }
else
if ( ema24<ema14 ) {codeAO4=234; ClrAO4=DnClr; }
if ( sto4>80 ) {codeSTO4=233; ClrSTO4=High_up_color;}
if ( sto4>50 && sto4<80 ) {codeSTO4=233; ClrSTO4=UpClr;}
if ( sto4<50 && sto4>20) {codeSTO4=234; ClrSTO4=DnClr;}
if ( sto4<20 ) {codeSTO4=234; ClrSTO4=High_down_color;}
if ( cci4>0 && cci4<100 ) {codecci4=233; clrcci4=UpClr;}
if ( cci4<0 && cci4>-100 ) {codecci4=234; clrcci4=DnClr;}
if ( cci4>100) {codecci4=233; clrcci4=High_up_color;}
if ( cci4<-100) {codecci4=234; clrcci4=High_down_color;}
if ( rsi4>50 && rsi4<65 ) {codersi4=233; clrrsi4=UpClr;}
if ( rsi4<50 && rsi4>35 ) {codersi4=234; clrrsi4=DnClr;}
if ( rsi4<35 ) {codersi4=234; clrrsi4=High_down_color; }
if ( rsi4>65 ) {codersi4=233; clrrsi4=High_up_color; }
if ( macd4>0 && macd4<macd4s ) {codemacd4=233; clrmacd4=UpClr;}
if ( macd4<0 && macd4>macd4s ) {codemacd4=234; clrmacd4=DnClr;}
if ( macd4<0 && macd4<macd4s ) {codemacd4=234; clrmacd4=High_down_color;}
if ( macd4>0 && macd4>macd4s ) {codemacd4=233; clrmacd4=High_up_color;}
double ema15,ema25,sto5, cci5, rsi5,macd5,macd5s,ema35;
ema15=iMA(symbol5,NULL,EMA2_period,0,MODE_EMA,PRICE_CLOSE,0);
ema25=iMA(symbol5,NULL,EMA1_period,0,MODE_EMA,PRICE_CLOSE,0);
ema35=iMA(symbol5,NULL,EMA3_period,0,MODE_EMA,PRICE_CLOSE,0);
sto5=iStochastic(symbol5,NULL,Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
cci5 =iCCI(symbol5,NULL,CCI_period,PRICE_CLOSE,0);
rsi5 =iRSI(symbol5,NULL,RSI_period,PRICE_CLOSE,0);
macd5=iMACD(symbol5,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_MAIN,0);
macd5s=iMACD(symbol5,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
if ( ema25>ema15 && ema15>ema35 ) {codeAO5=233; ClrAO5=High_up_color; }
else
if ( ema25<ema15 && ema15<ema35 ) {codeAO5=234; ClrAO5=High_down_color; }
else
if ( ema25>ema15 ) {codeAO5=233; ClrAO5=UpClr; }
else
if ( ema25<ema15 ) {codeAO5=234; ClrAO5=DnClr; }
if ( sto5>80 ) {codeSTO5=233; ClrSTO5=High_up_color;}
if ( sto5>50 && sto5<80 ) {codeSTO5=233; ClrSTO5=UpClr;}
if ( sto5<50 && sto5>20) {codeSTO5=234; ClrSTO5=DnClr;}
if ( sto5<20 ) {codeSTO5=234; ClrSTO5=High_down_color;}
if ( cci5>0 && cci5<100 ) {codecci5=233; clrcci5=UpClr;}
if ( cci5<0 && cci5>-100 ) {codecci5=234; clrcci5=DnClr;}
if ( cci5>100) {codecci5=233; clrcci5=High_up_color;}
if ( cci5<-100) {codecci5=234; clrcci5=High_down_color;}
if ( rsi5>50 && rsi5<65 ) {codersi5=233; clrrsi5=UpClr;}
if ( rsi5<50 && rsi5>35 ) {codersi5=234; clrrsi5=DnClr;}
if ( rsi5<35 ) {codersi5=234; clrrsi5=High_down_color; }
if ( rsi5>65 ) {codersi5=233; clrrsi5=High_up_color; }
if ( macd5>0 && macd5<macd5s ) {codemacd5=233; clrmacd5=UpClr;}
if ( macd5<0 && macd5>macd5s ) {codemacd5=234; clrmacd5=DnClr;}
if ( macd5<0 && macd5<macd5s ) {codemacd5=234; clrmacd5=High_down_color;}
if ( macd5>0 && macd5>macd5s ) {codemacd5=233; clrmacd5=High_up_color;}
double ema16,ema26,sto6, cci6, rsi6,macd6,macd6s,ema36;
ema16=iMA(symbol6,NULL,EMA2_period,0,MODE_EMA,PRICE_CLOSE,0);
ema26=iMA(symbol6,NULL,EMA1_period,0,MODE_EMA,PRICE_CLOSE,0);
ema36=iMA(symbol6,NULL,EMA3_period,0,MODE_EMA,PRICE_CLOSE,0);
sto6=iStochastic(symbol6,NULL,Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
cci6 =iCCI(symbol6,NULL,CCI_period,PRICE_CLOSE,0);
rsi6 =iRSI(symbol6,NULL,RSI_period,PRICE_CLOSE,0);
macd6=iMACD(symbol6,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_MAIN,0);
macd6s=iMACD(symbol6,NULL,MACD_period,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
if ( ema26>ema16 && ema16>ema36 ) {codeAO6=233; ClrAO6=High_up_color; }
else
if ( ema26<ema16 && ema16<ema36 ) {codeAO6=234; ClrAO6=High_down_color; }
else
if ( ema26>ema16 ) {codeAO6=233; ClrAO6=UpClr; }
else
if ( ema26<ema16 ) {codeAO6=234; ClrAO6=DnClr; }
if ( sto6>80 ) {codeSTO6=233; ClrSTO6=High_up_color;}
if ( sto6>50 && sto6<80 ) {codeSTO6=233; ClrSTO6=UpClr;}
if ( sto6<50 && sto6>20) {codeSTO6=234; ClrSTO6=DnClr;}
if ( sto6<20 ) {codeSTO6=234; ClrSTO6=High_down_color;}
if ( cci6>0 && cci6<100 ) {codecci6=233; clrcci6=UpClr;}
if ( cci6<0 && cci6>-100 ) {codecci6=234; clrcci6=DnClr;}
if ( cci6>100) {codecci6=233; clrcci6=High_up_color;}
if ( cci6<-100) {codecci6=234; clrcci6=High_down_color;}
if ( rsi6>50 && rsi6<65 ) Показано первые 50% кода (символов: 22463)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.