Помощь в кодировании - страница 10

 

RSI оповещение по электронной почте

Здравствуйте программисты,

Буду очень признателен, если кто-нибудь сможет добавить оповещение по электронной почте в дополнение к существующему оповещению. Оно должно отправлять только одно письмо в течение текущего ценового бара, когда уровень RSI достигнут в первый раз (так что я не буду завален письмами, если он скачет вверх и вниз в течение ценового бара). У меня ноль знаний в программировании mql, поэтому любая помощь будет просто фантастической.

Всего наилучшего,

Малкольм

Файлы:
rsi_alert.mq4  3 kb
 
m1nich:
Привет программисты,

буду очень признателен, если кто-нибудь сможет добавить оповещение по электронной почте в дополнение к существующему оповещению. Оно должно отправлять только одно письмо в течение текущего ценового бара, когда уровень RSI достигнут в первый раз (так что я не буду завален письмами, если он скачет вверх и вниз в течение ценового бара). У меня ноль знаний в программировании mql, поэтому любая помощь будет просто фантастической.

всего наилучшего,

Малкольм

Привет, Малкольм,

Попробуйте здесь https://www.mql5.com/en/forum/180648

пост# 2928

 

Оповещение RSI по электронной почте

Привет, MrTools,

Wunderbar!

всего наилучшего

 

Индикатор с ошибками

Привет кодеры,

Я нашел этот индикатор. Он хорошо подходит для ручной торговли. Индикатор показывает точку безубыточности нескольких ордеров. К сожалению, у него есть несколько ошибок. Может ли кто-нибудь исправить это?

Добавить новую функцию?

Если я меняю tp или sl у одного ордера, то sl и tp других ордеров автоматически меняются (как e-MoveSLTPbyMouse.mq4).

Спасибо!

Извините за мой плохой английский!

Файлы:
 
rajivzzz:
Привет

Кто-нибудь знает, как создать индикатор в советнике. У меня есть этот индикатор, но я могу пропустить много раз лучшую позицию для выхода, входа и тейк-профита, потому что я не сидел перед компьютером каждый раз, но он работает очень хорошо, на каждом таймфрейме на любой паре на естественном рынке. Кто-нибудь может помочь мне в этом или где-нибудь, где я могу установить его для советника для робо-трейдинга.

См.

КРАСНАЯ ЛИНИЯ - хорошая позиция на продажу

ЗЕЛЕНАЯ ЛИНИЯ - хорошая позиция на покупку

TAKE PROFIT центральная линия

Я могу показать некоторые из моих сделок на Eur/Usd на 1H графике с розовыми линиями, все закрылись в прибыли.

Я хочу, чтобы советник работал следующим образом: продажа по красной линии, TP бьет по центральной линии, покупка по зеленой линии, TP бьет по центральной линии.

Привет

Я думаю, что это возможно, и я могу помочь. Кодирование советника должно соответствовать определенным условиям. Напишите мне для дальнейшего обсуждения.

Спасибо.

 
rvvidhul:
Эксперты, пожалуйста, напишите индикатор MT4 для прикрепленного графика. Спасибо заранее. Это основано на развороте Heikin Ashi и системе свинга NMA.

Вот код Afl для этого графика, может ли кто-нибудь преобразовать эту формулу в индикатор Metatrader.

_SECTION_BEGIN("NMA Swing Explorer");

SetBarsRequired(200,0);

GraphXSpace = 5;

SetChartOptions(0,chartShowArrows|chartShowDates);

k = Optimize("K",Param("K",2,0.25,5,0.25),0.25,5,0.25);

Per= Optimize("atr",Param("atr",20,3,20,1),3,20,1);

HACLOSE=(O+H+L+C)/4;

HaOpen = AMA( Ref( HaClose, -1 ), 0.5 );

HaHigh = Max( H, Max( HaClose, HaOpen ) );

HaLow = Min( L, Min( HaClose, HaOpen ) );

if( ParamToggle("Plot Heikin-Ashi", "No,Yes", 1 ) )

PlotOHLC( HaOpen, HaHigh, HaLow, HaClose, "Heikin Ashi " + Name(), colorBlack, styleCandle );

else

Plot( C, "Обычные свечи " + Name(), colorBlack, styleCandle );

j=Haclose;

//================================================================================================================

//=========================Indicator=================================================================================

f=ATR(15);

rfsctor = WMA(H-L, Per);

revers = k * rfsctor;

Trend = 1;

NW[0] = 0;

for(i = 1; i < BarCount; i++)

{

if(Trend == 1)

{

if(j < NW)

{

Тренд = -1;

NW = j + Revers;

}

else

{

Тренд = 1;

if((j - Revers) > NW)

{

NW = j - Revers;

}

else

{

NW = NW;

}

}

}

if(Trend == -1)

{

if(j > NW)

{

Тренд = 1;

NW = j - Revers;

}

else

{

Тренд = -1;

if((j + Revers) < NW)

{

NW = j + Revers;

}

else

{

NW = NW;

}

}

}

}

//===============system================

Plot(NW, "", IIf(Trend == 1, 27, 4), 4);

Buy=Cover=Cross(j,nw);

Sell=Short=Cross(nw,j);

SellPrice=ValueWhen(Sell,C,1);

BuyPrice=ValueWhen(Buy,C,1);

Long=Flip(Buy,Sell);

Shrt=Flip(Sell,Buy );

NMAB= NW<HACLOSE;

NMAS= NW>HACLOSE;

NMA_status= WriteIf(NMAB, "BUY MODE", WriteIf(NMAS, "SELL MODE", "NEUTRAL"));

NMAS_Col=IIf(NMAB, colorGreen, IIf(NMAS, colorRed, colorLightGrey));

Filter=1;

AddColumn( NW, "SAR", 1.2 );

AddColumn( HACLOSE, "HA Close", 1.2 );

AddColumn( C, "Close", 1.2 );

AddTextColumn(NMA_status, "MODE", 1, colorWhite, NMAS_Col);

_SECTION_END();

//=================TITLE===========================================================================================

_SECTION_BEGIN("Заголовок");

if( Status("action") == actionIndicator )

(

Title = EncodeColor(colorWhite)+ "NICK MA Swing System" + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) +

" - " + Дата() +" - "+"\n" +EncodeColor(colorRed) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+

"Cl-"+C+" "+ "Vol="+ WriteVal(V)+"\n "+

EncodeColor(colorLime)+

WriteIf (Buy , " GO LONG / обратный сигнал при "+C+" "+C+" "+" "+" "+") +

WriteIf (Sell , " EXIT LONG / обратный сигнал на "+C+" ","")+"\n "+EncodeColor(colorWhite)+

WriteIf(Sell , "Общая прибыль/убыток за последнюю сделку "+(C-BuyPrice)+"","")+

WriteIf(Buy , "Общая прибыль/убыток по последней сделке "+(SellPrice-C)+"","")+

WriteIf(Long AND NOT Buy, "Торговля : Long - цена входа Rs. "+(BuyPrice),"")+

WriteIf(shrt AND NOT Sell, "Торговля : Short - цена входа Rs. "+(SellPrice),"")+"\n "+

WriteIf(Long AND NOT Buy,"Текущая прибыль/убыток рупий "+(C-BuyPrice)+"","")+

WriteIf(shrt AND NOT Sell, "Current Profit/Loss Rs. "+(SellPrice-C)+"",""));

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0, L, Offset=-50);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);

PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);

_SECTION_END();

 
rajivzzz:
Я больше не делился этим

перекрасить, лол

Это работает как HolyGrial

если вы не знаете, как это делается, вы не можете сделать ничего для меня

Какой хороший и интеллигентный парень!!!!!!!!!!!!!!!!!!!!!!!!

 

Привет, Laurus, Вам просто нужно поменять порядок буферов. Mt4 отображает буфер 3 поверх буфера 2 поверх буфера 1 и т.д.

 

Порядок индикаторов в слое объекта

У меня есть классический MACD с гистограммой, где гистограмма рисуется перед MACD и сигнальными линиями. Не мог бы кто-нибудь показать мне, как установить гистограмму сзади? Я пытался разобраться с этим, но безуспешно.

Спасибо,

Laurus

//+---------------------------------------------------------------------------+

//| _MACD.mq4 |

//| |

//| Классический MACD с гистограммой | |

//+---------------------------------------------------------------------------+

//---- настройки индикатора

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Black

#property indicator_color2 Красный

#property indicator_color3 SteelBlue

#property indicator_width1 1

#property indicator_width2 1

#property indicator_width3 2

//---- параметры индикатора

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalEMA=9;

//---- буферы индикатора

double MACD_Buffer[];

double SIGNAL_Buffer[];

double HISTOGRAM_Buffer[];

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init() {

//---- настройки рисования

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexDrawBegin(1,SignalEMA);

IndicatorDigits(Digits+1);

//---- отображение буферов индикаторов

SetIndexBuffer(0,MACD_Buffer);

SetIndexBuffer(1,SIGNAL_Buffer);

SetIndexBuffer(2,HISTOGRAM_Buffer);

//---- имя для DataWindow и метки подокна индикатора

IndicatorShortName("_MACD("+FastEMA+", "+SlowEMA+", "+SignalEMA+")");

SetIndexLabel(0, "MACD");

SetIndexLabel(1, "Signal");

SetIndexLabel(2, "Histogram");

//---- инициализация выполнена

return(0);

}

//+------------------------------------------------------------------+

//| Конвергенция/дивергенция скользящих средних |

//+------------------------------------------------------------------+

int start() {

int i;

int limit;

int counted_bars = IndicatorCounted();

if(counted_bars < 0) return(-1); //---- проверка на возможные ошибки

if(counted_bars > 0) counted_bars--; //---- последний подсчитанный бар будет пересчитан

limit = Bars - counted_bars;

//---- Рисуем линию MACD

for(i=0; i<limit; i++) { //-- цикл от текущего бара до первого бара

MACD_Buffer = iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i) - iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

}

//---- Рисуем сигнальную линию и гистограмму

for(i=0; i<limit; i++) { //-- тот же цикл выше

SIGNAL_Buffer = iMAOnArray(MACD_Buffer,Bars,SignalEMA,0,MODE_EMA,i);

HISTOGRAM_Buffer = MACD_Buffer - SIGNAL_Buffer;

}

//---- Готово

return(0);

}

//+-----------------------------------------------------------------+

 
christinaLi:
Привет, Лаурус, Вам просто нужно поменять порядок буферов. Mt4 отображает буфер 3 поверх буфера 2 поверх буфера 1 и т.д.

Отлично, КристинаЛи! Большое спасибо за ваш ответ и помощь. Все получилось. Теперь работает идеально.

На случай, если кто-то захочет получить его с гистограммой сзади, я прикрепил файл.

- Лаурус

Файлы:
_macd.mq4  3 kb
Причина обращения: