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

 
Boomerang:
Привет

Пожалуйста, кто-нибудь может помочь с кодированием индикатора со следующими Критериями:

Пользовательский ввод:

1- Таймфрейм: текущий таймфрейм от 1минуты до 4 часов:

2- RSI(период): значение по умолчанию 14

3- Уровни RSI:

a- Уровень вверх: от 50 до 100

b- Уровень падения: от 0 до 50

c- Средний уровень: 50

4- Режим сигналов:

a- Режим продажи: показывать только сигналы на продажу.

b- Режим покупки: показывать только сигналы на покупку.

5- X= заданные пользователем несколько пунктов выше или ниже максимума или минимума текущего дня.

Сигналы в режиме продажи:

1- День режима продажи: показывать на графике только сигналы на продажу.

2- Дождитесь, пока RSI пересечет уровень снизу вверх, а затем отступит ниже среднего уровня сверху.

3- Рисуем красную стрелку вниз на закрытии 1-й свечи, пересекающей средний уровень сверху.

4- Нарисуйте зеленую точку над максимумом дня на х пунктов до сигнала красной стрелки.

5- Предупреждение и возможность отправки письма (true, false).

6- Игнорировать любые пересечения (вверх, вниз и средние) до времени A и после времени B:

a- По умолчанию A: 8:15 платформы.

b- По умолчанию B: 22:00 платформы.

Сигналы в режиме покупки:

1- Режим покупки день: показывать на графике только сигнал покупки.

2- Дождитесь, пока RSI пересечет уровень сверху вниз, а затем отступит выше среднего уровня снизу.

3- Рисуем зеленую стрелку вверх на закрытии 1-й свечи, пересекающей средний уровень снизу.

4- Нарисуйте красную точку ниже дневного минимума на X пунктов до сигнала зеленой стрелки.

5- Предупреждение и возможность отправки письма (true, false).

6- Игнорировать любые пересечения (вверх, вниз и средние) до времени A и после времени B:

a- По умолчанию A: 8:15 платформы.

b- По умолчанию B: 21:00 платформы.

Пример:

Заранее спасибо

Бумеранг

Почему вы не взяли и первый сигнал (в том же состоянии, что и сигнал, который вы отметили)?

 

heiken_ashih_sw_mtf_chrt.mq4

Здравствуйте, Mr.Tools любезно сделал это для меня некоторое время назад, но теперь он не компилируется в новом MT4, ошибки с кодом timeframetoString, говоря "char" not valid и т.д.!

Пожалуйста, вы можете исправить это?

Визуально он все еще работает, но у меня есть вторая версия для "отдельного окна", которая не пережила переход должным образом, остался только .ex4 файл, который работает, но я думаю, что алерты перестали работать, поэтому я пытаюсь перекомпилировать его снова, чтобы проверить. Мне нужен один и тот же для главного окна и отдельного окна. Спасибо.

Файлы:
 
zigflip:
heiken_ashih_sw_mtf_chrt.mq4

Здравствуйте, Mr.Tools любезно сделал это для меня некоторое время назад, но теперь он не компилируется в новом MT4, ошибки с кодом timeframetoString, говоря "char" not valid и т.д.!

Пожалуйста, вы можете исправить?

он все еще работает визуально, но у меня есть вторая версия для "отдельного окна", которая не пережила переход должным образом, остался только файл .ex4, который работает, но я думаю, что алерты перестали работать, поэтому я пытаюсь перекомпилировать его снова, чтобы проверить. Мне нужен один и тот же для главного окна и отдельного окна. Спасибо.

Zigflip это совместимая версия графика, есть ли шанс, что у вас есть версия для отдельного окна, так что вы можете сделать ее совместимой.

 

Pls может кто-нибудь помочь мне с этим кодом... он всегда повторяет один и тот же сигнал. Например, если он подает сигнал на покупку на паре, то примерно через 7 свечей он подает такой же сигнал на покупку на той же паре. Я хочу, чтобы он работал так, что когда он подает сигнал на покупку на паре, он не подает сигнал на покупку снова на этой паре до тех пор, пока он не подаст сигнал на продажу:

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

//--- буферы

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//внешняя переменная......

extern int barsToProcess=100;

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

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

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

int init()

{

//---- индикаторы

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,217);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,217);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

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

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

int start()

{

int counted_bars=IndicatorCounted(),

предел;

if(counted_bars>0)

counted_bars--;

limit=Bars-counted_bars;

if(limit>barsToProcess)

limit=barsToProcess;

for(int i=0;i<limit;i++)

{

double ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);

double ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);

double b4ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);

double b4ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

double mom=iMomentum(NULL,0,14,PRICE_CLOSE,0);

double b4mom=iMomentum(NULL,0,14,PRICE_CLOSE,1);

}

static datetime lastAlerted=0;

static string AlertType1="";

static string AlertType2="";

// обновление оповещений

if((ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591)&&(lastAlerted!=Time[0])&&(AlertType1!="Buy")){

ExtMapBuffer1=High+5*Point;

}else

ExtMapBuffer1=0.0;

Alert(Symbol()," ",Period(), "M Price UP");

// сигналы на продажу

if((ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872)&&(lastAlerted!=Time[0])&&(AlertType2!="Sell")){

ExtMapBuffer2=Low-5*Point;

}else

ExtMapBuffer2=0.0;

Alert(Symbol()," ",Period(), "M Price Down");

return(0);

}

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

 
mrtools:
Zigflip это совместимая версия графика, если у вас есть версия с отдельным окном, вы можете сделать ее совместимой.

Спасибо!

У меня просто есть файл .ex4 для версии с отдельным окном, и я не знаю, как это произошло, но я нигде не могу найти .mq4!

Я просто изменил версию графика, чтобы сделать отдельную версию, просто изменив одну строку в верхней части - свойство индикатора - с chart_window на отдельное окно - разве это не нормально?

 

Привет, ребята,

Мне нужна ваша помощь. Как мне послать вам копию индикатора, который вы должны модифицировать для меня? Я просто не знаю, как это сделать. Спасибо за ваше время.

Стив,

 
Genesisman:
Привет, ребята,

Мне нужна ваша помощь. Как мне отправить вам копию индикатора, который вы должны для меня модифицировать? Я просто не знаю, как это сделать. Спасибо за ваше время.

Стив,

Если это публичный код, просто опубликуйте его здесь (нажмите "go advanced" и там вы найдете, как прикрепить файл).

 
Mastercash:
Pls может кто-нибудь помочь мне с этим кодом... он всегда повторяет один и тот же сигнал. Например, если он подает сигнал на покупку на паре, то примерно через 7 свечей он подает тот же сигнал на покупку на той же паре. Я хочу, чтобы он работал так, чтобы когда он подает сигнал на покупку на паре, он не подавал сигнал на покупку снова на этой паре до тех пор, пока он не подаст сигнал на продажу:

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

//--- буферы

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//внешняя переменная......

extern int barsToProcess=100;

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

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

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

int init()

{

//---- индикаторы

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,217);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,217);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexEmptyValue(1,0.0);

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

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

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

int start()

{

int counted_bars=IndicatorCounted(),

предел;

if(counted_bars>0)

counted_bars--;

limit=Bars-counted_bars;

if(limit>barsToProcess)

limit=barsToProcess;

for(int i=0;i<limit;i++)

{

double ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0);

double ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0);

double b4ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1);

double b4ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1);

double mom=iMomentum(NULL,0,14,PRICE_CLOSE,0);

double b4mom=iMomentum(NULL,0,14,PRICE_CLOSE,1);

}

static datetime lastAlerted=0;

static string AlertType1="";

static string AlertType2="";

// обновление оповещений

if((ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591)&&(lastAlerted!=Time[0])&&(AlertType1!="Buy")){

ExtMapBuffer1=High+5*Point;

}else

ExtMapBuffer1=0.0;

Alert(Symbol()," ",Period(), "M Price UP");

// сигналы на продажу

if((ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872)&&(lastAlerted!=Time[0])&&(AlertType2!="Sell")){

ExtMapBuffer2=Low-5*Point;

}else

ExtMapBuffer2=0.0;

Alert(Symbol()," ",Period(), "M Price Down");

return(0);

}

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

Вот так можно было бы сделать.

Файлы:
m.mq4  4 kb
 

Уважаемый Mrtools

В прилагаемом индикаторе 'macd signal line' расчеты ведутся в SMA, можно ли его рассчитать в EMA (как Gerald Appel MACD)?

На некоторых таймфреймах MACD не отображается должным образом, можно ли добавить в него множитель для лучшего визуального восприятия!

Спасибо за любую помощь

secretcode

Файлы:
macdcci.mq4  4 kb
 
secretcode:
Уважаемый Mrtools

В прилагаемом индикаторе "сигнальная линия macd" расчеты ведутся по SMA, можно ли рассчитать ее по EMA (как Gerald Appel MACD)?

На некоторых таймфреймах MACD не отображается должным образом, можно ли добавить в него множитель для лучшего визуального восприятия!

Спасибо за любую помощь

secretcode

Привет Secretcode, добавил опции режима для быстрой, медленной и сигнальной ma для macd, а также добавил множитель.

Файлы:
Причина обращения: