Прошу умельцев кто может добавите сигналы при касании цены
Не ставится на график
Прошу умельцев кто может добавите сигналы при касании цены
Ну очень, очень интересный кода Вашего "Magnit"-а:
с этой аброй-кадаброй - нет.это значит не получается?
версии mtf нет.mobidik вы когдато выкладавали замечательный индикатор а нет ли у вас mtf версии поделитесь
Прошу помогите вставить в индикатор звук и алерт в момент когда появляется стрелки
Привет
Там алерт есть.
SoundON = TRUE сделай в настройке
Хэхэхэ)))
Привет
Там алерт есть.
SoundON = TRUE сделай в настройке
Хэхэхэ)))
Прошу умельцев кто может добавите сигналы при касании цены
Если его включить то он на каждом новом баре пиликает это не правильно только в момент сигнала надо
#property copyright "John campbell"
#property link "http://www.SaneFX.com"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
double G_ibuf_76[];
double G_ibuf_80[];
extern int G_period_84 = 1;
extern int G_period_88 = 10;
extern bool SoundON = True;
int G_time_96;
// E37F0136AA3FFAF149B351F6A4C948E9
int init() {
SetIndexStyle(0, DRAW_ARROW, EMPTY);
SetIndexArrow(0, 233);
SetIndexBuffer(0, G_ibuf_76);
SetIndexStyle(1, DRAW_ARROW, EMPTY);
SetIndexArrow(1, 234);
SetIndexBuffer(1, G_ibuf_80);
return (0);
}
// 52D46093050F38C27267BCE42543EF60
int deinit() {
return (0);
}
// EA2B2676C28C0DB26D39331A336C6B92
int start() {
int Li_0;
double ima_4;
double ima_12;
double ima_20;
double ima_28;
double ima_36;
double ima_44;
double Ld_52;
double Ld_60;
int Li_68 = IndicatorCounted();
if (Li_68 < 0) return (-1);
if (Li_68 > 0) Li_68--;
int Li_72 = Bars + 1 - Li_68;
for (int Li_76 = 0; Li_76 <= Li_72; Li_76++) {
Li_0 = Li_76;
Ld_52 = 0;
Ld_60 = 0;
for (Li_0 = Li_76; Li_0 <= Li_76 + 9; Li_0++) Ld_60 += MathAbs(High[Li_0] - Low[Li_0]);
Ld_52 = Ld_60 / 10.0;
ima_4 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, Li_76);
ima_20 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, Li_76 + 1);
ima_36 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, Li_76 - 1);
ima_12 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, Li_76);
ima_28 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, Li_76 + 1);
ima_44 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, Li_76 - 1);
if (ima_4 > ima_12 && ima_20 < ima_28 && ima_36 > ima_44) G_ibuf_76[Li_76] = Low[Li_76] - Ld_52 / 2.0;
else
if (ima_4 < ima_12 && ima_20 > ima_28 && ima_36 < ima_44) G_ibuf_80[Li_76] = High[Li_76] + Ld_52 / 2.0;
double ima_41 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, 1);
double ima_201 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, 1 + 1);
double ima_361 = iMA(NULL, 0, G_period_84, 0, MODE_EMA, PRICE_CLOSE, 1 - 1);
double ima_121 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, 1);
double ima_281 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, 1 + 1);
double ima_441 = iMA(NULL, 0, G_period_88, 0, MODE_EMA, PRICE_CLOSE, 1 - 1);
if (ima_41 > ima_121 && ima_201 < ima_281 && ima_361 > ima_441) {
if (SoundON == TRUE && G_time_96 != Time[0]) {
Alert("SaneFxBinary Buy Trade ", Symbol(), Period());
G_time_96 = Time[0];
}
} else {
if (ima_41 < ima_121 && ima_201 > ima_281 && ima_361 < ima_441) {
if (SoundON == TRUE && G_time_96 != Time[0]) {
Alert("SaneFxBinary Sell Trade ", Symbol(), Period());
G_time_96 = Time[0];
}
}
}
}
return (0);
}
тогда вот исправил немного.
Скопируй код.
спасибо, поставл, сейчас проверю как он будет в реале звучать
Визуально со звуком если можно, ну если получится то и на почту пожалуйста.Привет!
просто алерт?
Визуально со звуком если можно, ну если получится то и на почту пожалуйста.
//+------------------------------------------------------------------+
//| Magnit.mq4 |
//| Saasa Ivanov |
//| https://www.saasa.jimdo.com |
//+------------------------------------------------------------------+
#property copyright "Saasa Ivanov"
#property link "https://www.saasa.jimdo.com"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Gold
//---- input parameters
extern int period=14;
extern bool Alert_Message = True;
//---- buffers
double Magnit[];
int prevtime;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,Magnit);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- main loop
for(int i=0; i<limit; i++)
{
double ma1=iMA(NULL,0,period,0,0,1,i);
double ma2=iMA(NULL,0,period*2,0,0,1,i);
double ma3=iMA(NULL,0,period*3,0,0,1,i);
double delta1=MathAbs(iOpen(NULL,0,i)-ma1);
double delta2=MathAbs(iOpen(NULL,0,i)-ma2);
double delta3=MathAbs(iOpen(NULL,0,i)-ma3);
if(delta1==0)delta1=Point;
if(delta2==0)delta2=Point;
if(delta3==0)delta3=Point;
double k1=1/delta1;
double k2=1/delta2;
double k3=1/delta3;
Magnit[i]=((ma1*k1)+(ma2*k2)+(ma3*k3))/(k1+k2+k3);
}
if(Time[0] == prevtime)
return(0);
prevtime = Time[0];
if (Alert_Message&&Magnit[0]>=Ask&&Magnit[2]<=Bid) Alert("Линия Magnit пересекает цену снизу верх, на паре: ",Symbol());
if (Alert_Message&&Magnit[0]>=Ask&&Magnit[2]<=Bid) SendNotification(Symbol()+" Линия Magnit пересекает цену снизу верх "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));
if (Alert_Message&&Magnit[0]<=Bid&&Magnit[2]>=Ask) Alert("Линия Magnit пересекает цену сверху вниз, на паре: ",Symbol());
if (Alert_Message&&Magnit[0]<=Bid&&Magnit[2]>=Ask) SendNotification(Symbol()+" Линия Magnit пересекает цену сверху вниз "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS));
return(0);
}
//+------------------------------------------------------------------+