-
Небольшое изменение MACD
Вложений: 3 Привет друзья!
Мне нужно 3 изменения на этом индикаторе MACD с предупреждением, которое я объяснил на рис.
Первый, который устраняет оповещение M5, очень важен для меня, а также добавляет звуковой сигнал, но другой можно оставить на данный момент, если это трудно сделать.
я понятия не имею о программировании
https://www.forex-russian.com/attach...1529196866.pnghttps://www.forex-russian.com/attach...1529196866.png
спасибо за помощь
Майк
https://www.forex-russian.com/attach...1529196866.png
https://www.forex-russian.com/forex-...ts-broker.html
https://www.forex-russian.com/attach...1931374664.mq4
https://www.forex-russian.com/attach...1622251171.ex4
-
1 июля Азия: выигрыш 25 45 = 70 Пн Нью-Йорк: Проигрыш ej и gu -15-15-15-15-15-15=-90
-
-
-
Вставленный код/ -------------------------------------------------------------------------- --------------------- /| Пользовательский MACD OsMA.mq4 |/| Copyright © 2004, MetaQuotes Software Corp. |/| http://www.metaquotes.net/|/ -------------------------------------------------------------- ------------------ #собственность авторское право Copyright © 2004, MetaQuotes Software Corp. #собственность ссылка http://www.metaquotes.net///---- indior settings #property indior_separate_window #property indior_buffers 3 #property indior_color1 Silver #property indior_color2 Red #property indior_color3 Silver/---- параметры indior extern int FastEMA=5; внешний интервал SlowEMA=34; внешний интервал SignalSMA=9; extern bool AlertOn = true;/---- внутренние буфера double ind_buffer1#91;#93;; двойной ind_buffer2#91;#93;; двойной ind_buffer3#91;#93;;/ -------------------------------------------------------------- ------------------- /| Пользовательская функция внутренней инициализации |/ -------------------------------------------------------------- ------------------ int init() {/---- настройки рисования SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,2); SetIndexDrawBegin(1,SignalSMA); IndiorDigits(MarketInfo(Symbol(),MODE_DIGITS) 1);/---- отображение внутренних буферов if(!SetIndexBuffer(0,ind_buffer1) !SetIndexBuffer(1,ind_buffer2) !SetIndexBuffer(2,ind_buffer3)) Print(невозможно установить внутренние буфера!);/---- имя для DataWindow и метка внутреннего подокна IndiorShortName(MACD( FastEMA , SlowEMA , SignalSMA )); SetIndexLabel(0,MACD); SetIndexLabel(1,Сигнал); SetIndexLabel(2,OsMA);/---- инициализация выполнена return(0); }/ ------------------------------------------------------------- -------------------- /| Схождение/расхождение скользящих средних |/ -------------------------------------------------------------- ------------------ int start() { int limit; двойной OsMANow, OsMAPпредыдущий; статическая дата и время предвремя = 0; int counted_bars = IndiorCounted();/---- проверим возможные ошибки if(counted_barslt;0) return(-1);/---- будет пересчитан последний пересчитанный бар if(counted_barsgt;0) counted_bars--; limit=бары-counted_bars;/---- macd посчитал в 1-м буфере for(int i=0; ilt;limit; i ) ind_buffer1#91;i#93;=iMA(NULL,0,FastEMA,0,MODE_EMA ,PRICE_CLOSE, i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);/---- сигнальная линия засчитана во 2-м буфере for(i=0; ilt;limit; i ) ind_buffer2#91;i#93;=iMAOnArray(ind_buffer1,Bars,S ignalSMA,0,MODE_SMA,i) ; for(i=0; ilt;limit; i ) ind_buffer3#91;i#93;=iOsMA(NULL,0,FastEMA,SlowEMA, SignalSMA,PRICE_CLOSE,i);/---- сделано/======= Alert ========= if(AlertOn) { if(prevtime == Time#91;0#93;) { return(0) ; } предвремя = Время#91;0#93;; OsMANow = iOsMA(NULL, 0, FastEMA, SlowEMA, SignalSMA, PRICE_CLOSE, 0); OsMAPrevious = iOsMA(NULL, 0, FastEMA, SlowEMA, SignalSMA, PRICE_CLOSE, 1); if((OsMANow lt; 0) (OsMAPrevious gt; 0)) { PlaySound(alert.wav); } if((OsMANow gt; 0) (OsMAPrevious lt; 0)) { PlaySound(alert.wav);} IndiorShortName(MACD( FastEMA , SlowEMA , SignalSMA ) (оповещение включено)); }/======= Предупреждение заканчивается ========= return(0); }
-
-
2 июля Азия: Проигрыш-Выигрыш -25-25=-50 25 BE= 25 Нью-Йорк: Выигрыш только EJ 1 позиция 15 ( 46 больше всего) Выигрыш GU тоже 20