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

 

Только одно замечание:

Код выглядит следующим образом:

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1]))).

Означает : DayLow - это минимум текущего дня или предыдущего самого низкого дневного минимума (то же самое для максимумов). Сейчас, при описании, это выглядит безобидно, но если вы задумаетесь над тем, что означает "предыдущий самый низкий дневной минимум", то вскоре поймете, что он учитывает все бары графика. Это та же ошибка, что и у некоторых ступенчатых индикаторов, что Марк Юрик сделал в расчете одного из стохастиков (я тогда назвал его "стохастик бесконечной длины") и у некоторых других индикаторов... и это приводит к двум вещам: деформации расчетных данных (минимумы и максимумы всегда только ниже или только выше, никогда наоборот) и, в конечном счете, перерисовке (когда вы меняете таймфреймы или символы, некоторые бары, которые были самыми старыми раньше, теряются, и это может повлиять на конечный результат).

 

Я попробовал. Сейчас у меня мало времени, так что не стесняйтесь исправлять.

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

//| Magarto |

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

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

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

//| |

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

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

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

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

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

//| |

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

 

Привет, я просто хотел спросить об одной вещи, которая уже очень долгое время находится у меня в голове, о мультитаймфреймовых индикаторах.

Посмотрите на картинку: Это график диапазона баров 6 пунктов dow jones с индикатором blau ergodic, я выделил момент сигнала на продажу. Он возникает в конце этой свечи. Эта свеча открывается на 14,43 и закрывается на 14,57.

Я построил индикатор на графике диапазонных баров 2 пункта, с теми же настройками, наведя его на график диапазонных баров 6 пунктов.

Он показывает начало сигнала на продажу, когда свеча на графике 6 пунктов еще не закрылась. Я знаю, что это НОРМАЛЬНОЕ поведение индикатора mtf, иначе и быть не может.

Моя цель - создать еще 2 цвета, светло-розовый для сигналов на продажу и светло-зеленый для сигналов на покупку, когда свеча с более высоким tf еще не закрыта.

Итак, это должно быть так:

Мой вопрос: возможно ли это сделать? Как я должен к этому подойти?

спасибо

Файлы:
my.jpg  114 kb
2_pip.jpg  102 kb
6_pip.jpg  87 kb
 
thefxpros:
Привет, я просто хотел спросить о том, что я думаю уже очень долгое время о мультитаймфреймовых индикаторах.

Посмотрите на картинку: Это график диапазона баров 6 пунктов dow jones с индикатором blau ergodic, я выделил момент этого сигнала на продажу. Он возникает в конце этой свечи. Эта свеча открывается на 14,43 и закрывается на 14,57.

Я построил индикатор на графике диапазонных баров 2 пункта, с теми же настройками, наведя его на график диапазонных баров 6 пунктов.

Он показывает начало сигнала на продажу, когда свеча на графике 6 пунктов еще не закрылась. Я знаю, что это НОРМАЛЬНОЕ поведение индикатора mtf, иначе и быть не может.

Моя цель - создать еще 2 цвета, светло-розовый для сигналов на продажу и светло-зеленый для сигналов на покупку, когда более высокая свеча еще не закрыта.

Итак, это должно быть так:

Мой вопрос: возможно ли это сделать? Как я должен к этому подойти?

спасибо

Это можно сделать - просто добавьте еще 2 буфера для текущего бара.

 
assassin:
Мне прислали первую ссылку для этого

если вы перейдете к функции с помощью курсора, вы увидите, что это такое

вот так

Младен:
Только одно замечание:

Код выглядит следующим образом :

DayLow = iff(dayofmonth != dayofmonth[1], low, min(low, nz(DayLow[1])))

Означает : DayLow - это минимум текущего дня или предыдущего самого низкого дневного минимума (то же самое для максимумов). Сейчас, при описании, это выглядит безобидно, но если вы задумаетесь о том, что означает "предыдущий самый низкий дневной минимум", то вскоре поймете, что он учитывает все бары графика. Это та же ошибка, что и у некоторых ступенчатых индикаторов, что Марк Юрик сделал в расчете одного из стохастиков (я тогда назвал его "стохастик бесконечной длины") и у некоторых других индикаторов... и это приводит к двум вещам: деформации расчетных данных (минимумы и максимумы всегда только ниже или только выше, никогда наоборот) и, в конечном счете, перерисовке (когда вы меняете таймфреймы или символы, некоторые бары, которые были самыми старыми раньше, теряются, и это может повлиять на конечный результат).
airquest:
Я попробовал. Сейчас у меня мало времени, так что не стесняйтесь исправлять.

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

//| Magarto |

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

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 DimGray

double all4[];

double ma[];

double maslopeB[];

double candleOver[];

double bothElder[];

int init()

{

IndicatorBuffers(5);

SetIndexBuffer(0,all4);

SetIndexBuffer(1,ma);

SetIndexBuffer(2,maslopeB);

SetIndexBuffer(3,candleOver);

SetIndexBuffer(4,bothElder);

IndicatorShortName("Magarto");

return(0);

}

int deinit()

{

return(0);

}

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

//| |

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

int start()

{

int counted_bars = IndicatorCounted();

int i,limit;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = MathMin(Bars-counted_bars,Bars-1);

for(i=limit; i>=0; i--)

{

ma = iMA(NULL,0,30,0,MODE_SMA,PRICE_CLOSE,i);

double maslope = ma - ma;

if(maslope < 0) maslopeB = -1;

else if(maslope > 0) maslopeB = 1;

else maslopeB = 0;

if(((Open + Close + High + Low) / 4) > ma) candleOver = 1; else candleOver = -1;

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

double DayLow = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayLow = iLow(NULL,PERIOD_D1,i);

else DayLow = MathMin(iLow(NULL,PERIOD_D1,i),iLow(NULL,PERIOD_D1,i+1));

double bearpower = DayLow - xMA;

double DayHigh = 0;

if(iTime(NULL,PERIOD_D1,i) != iTime(NULL,PERIOD_D1,i+1)) DayHigh = iHigh(NULL,PERIOD_D1,i);

else DayHigh = MathMax(iHigh(NULL,PERIOD_D1,i),iHigh(NULL,PERIOD_D1,i+1));

double bullpower = DayHigh - xMA;

if (bearpower > 0 && bullpower > 0) bothElder = 1;

else if(bearpower < 0 && bullpower < 0) bothElder = -1;

else bothElder = 0;

all4 = maslopeB + candleOver + bothElder;

}

return(0);

}

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

//| |

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

Доброе утро всем

Сначала я хочу извиниться, за то, что не был внимателен к их работе, mia это запрос и я не следил за вашими вопросами

Magarto это испанский пользователь, как вы сказали mladen

Рабочая платформа использует и вы видели

Я пытаюсь перевести его стратегию на MQL4.

Но мой уровень программирования слишком базовый

Я хочу поблагодарить эту разработку

Я могу попросить, пожалуйста, если вы можете включить точки, когда индикатор достигает концов

Визуализировать что-то вроде этого

Еще раз большое спасибо.

Обнимаю всех

Hermo

Файлы:
 
Hermo:
Доброе утро всем

Сначала я хочу извиниться, за то, что не был внимателен к их работе, mia это просьба и я не следил за вашими вопросами

Magarto - испанский пользователь, как вы сказали mladen.

Рабочая платформа использует и вы видели

Я пытаюсь перевести его стратегию на MQL4.

Но мой уровень программирования слишком базовый

Я хочу поблагодарить эту разработку

Я могу попросить, пожалуйста, если вы можете включить точки, когда индикатор достигает концов

Визуализировать что-то вроде этого

Еще раз большое спасибо.

Обнимаю всех fuerte

Гермо

Вот, пожалуйста, я исправил некоторые вещи. Код выглядит так же, как и в оригинале, но на других таймфреймах, кроме дневного, значения результатов выглядят иначе, чем на Tradingview. Не уверен, связано ли это с различиями между tradingview и MT4 или с ошибкой. Поскольку он использует максимумы и минимумы свечей, я бы сказал, что это связано с различиями, потому что свечи вряд ли одинаковы на разных платформах. В любом случае, я не думаю, что смогу сделать лучше.

Файлы:
magarto.mq4  4 kb
 
airquest:
Вот, пожалуйста, я исправил некоторые вещи. Код выглядит так же, как и в оригинале, но на других таймфреймах, кроме дневного, значения результатов выглядят иначе, чем на tradingview. Не уверен, связано ли это с различиями между Tradingview и MT4 или с ошибкой. Поскольку он использует максимумы и минимумы свечей, я бы сказал, что это связано с различиями, потому что свечи вряд ли одинаковы на разных платформах. В любом случае, я не думаю, что смогу сделать лучше.

доброе утро

Большое спасибо за вашу работу и преданность делу.

Индикатор теперь работает идеально

Еще раз большое спасибо

отличная работа

С вашего разрешения, я попрошу вас включить предупреждение в соответствующий раздел.

С уважением.

Гермо.

 

пожалуйста, помогите мне......

spikebars_v3.ex4spikebars_v3.mq4Привет всем, я надеюсь, что кто-то может помочь мне установить мой советник mt4. Я не очень хорош в вычислительных навыках, но я хотел бы сделать и советник

с индикатором spike bar, который измеряет размер тела свечи.

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

Например; покупать, когда появляется бычья свеча размером 30 пунктов (настраивается).

с регулируемыми стоплоссом и тейкпрофитом. И регулируемым размером позиции.

продавать, когда = медвежья свеча появляется с размером 30 пунктов (настраивается).

с регулируемыми стоплоссом и тейкпрофитом и регулируемым размером позиции.

Таким образом, я могу настроить торговлю в соответствии с текущим анализом и позволить ea торговать за меня.

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

Большое спасибо!

Файлы:
 

Привет всем, я надеюсь, что кто-то может помочь мне настроить мой советник для mt4. Я не очень хорош в компьютерных навыках, но я хотел бы сделать советник с индикатором шип-бар, который измеряет размер тела свечи.

с индикатором spike bar, который измеряет размер тела свечи.

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

Например; покупать, когда появляется бычья свеча размером 30 пунктов (настраивается).

с регулируемым стоплоссом и тейкпрофитом. и регулируемым размером позиции.

продавать, когда = медвежья свеча появляется с размером 30 пунктов (настраивается).

с регулируемыми стоплоссом и тейкпрофитом и регулируемым размером позиции.

Таким образом, я могу настроить торговлю в соответствии с текущим анализом и позволить ea торговать за меня.

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

Большое спасибо!

 
faremie:
Привет всем, я надеюсь, что кто-то может помочь мне установить мой советник для mt4. Я не очень хорош в вычислительных навыках, но я хотел бы сделать советник.

с индикатором spike bar, который измеряет размер тела свечи.

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

Например, покупка при появлении бычьей свечи размером 30 пунктов (настраивается).

с регулируемым стоплоссом и тейкпрофитом. и регулируемым размером позиции.

продавать, когда = медвежья свеча появляется с размером 30 пунктов (настраивается).

с регулируемыми стоплоссом и тейкпрофитом и регулируемым размером позиции.

Таким образом, я могу настроить торговлю в соответствии с текущим анализом и позволить ea торговать за меня.

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

Большое спасибо!

faremie

Похоже, что индикатор, о котором вы говорите, не прикреплен. Не могли бы вы прикрепить его?