Перейти к содержанию
Форекс Форум трейдеров Академии «MasterForex-V»

Рекомендуемые сообщения

Доброго времени суток!

 

У меня такая просьба, можно ли индикатор i-Sessions, сделать так, чтоб он зоны сессии выделял не фоном, а просто рамкой. Сам пытался разобраться, но не вижу где это вообще может отображаться. Если есть возможность, помогите.

Где то на просторах форума есть этот индикатор.Посмотрите http://forum.masterforex-v.org/index.php?showtopic=4031 пост №4 .

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 49
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

 

Где то на просторах форума есть этот индикатор.Посмотрите http://forum.masterf...?showtopic=4031 пост №4 .

 

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

Ссылка на комментарий
Поделиться на другие сайты

Где то на просторах форума есть этот индикатор.Посмотрите http://forum.masterf...?showtopic=4031 пост №4 .

 

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

 

 

могу предложить такой вариант индюка

i-Sessions_ATEI_VerticalLines.rar

Ссылка на комментарий
Поделиться на другие сайты

могу предложить такой вариант индюка

 

Да, спасибо, что то такое я и предполагал.

Изменено пользователем Velnedy
Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

Всем здравствуйте, помогите пожалуйста. Нашла код советника,но при компиляции выдает 3 ошибки. Если есть возможность помогите их исправить. Спасибо

 

 

//+——————————————————————+

//| Fisher_m11.mq4 |

//| Copyright © 23.07.2006 MartinG |

//| home.arcor.de/cam06/fisher |

//+——————————————————————+

#property copyright “Copyright © 23.07.2006 MartinG”

#property link “http://home.arcor.de/cam06/fisher”

//—-

#property indicator_separate_window

//#property indicator_minimum -1

//#property indicator_maximum 1

#property indicator_buffers 3

#property indicator_color2 Lime

#property indicator_color3 Red

#property indicator_width2 4

#property indicator_width3 4

//—-

int LeftNum1=56;

int LeftNum2=56;

//—-

extern int RangePeriods=10;

extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10

extern double IndexSmoothing=0.3; // =0.50 bei Fisher_m10

string ThisName=”Fisher_m11″;

int DrawStart;

//—- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

//+——————————————————————+

//| Custom indicator initialization function |

//+——————————————————————+

int init()

{

//—- indicators

IndicatorBuffers(4);

SetIndexLabel(0,”Fish”);

SetIndexStyle(0,DRAW_NONE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,ExtMapBuffer4);

//—-

string Text=ThisName;

Text=Text+” (rPeriods “+RangePeriods;

Text=Text+”, pSmooth “+DoubleToStr(PriceSmoothing,2);

Text=Text+”, iSmooth “+DoubleToStr(IndexSmoothing,2);

Text=Text+”) “;

IndicatorShortName(Text);

SetIndexLabel(1,NULL);

SetIndexLabel(2,NULL);

DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calculated from left to right

SetIndexDrawBegin(1,DrawStart);

SetIndexDrawBegin(2,DrawStart);

//—-

if (PriceSmoothing>=1.0)

{

PriceSmoothing=0.9999;

Alert(”Fish61: PriceSmothing factor has to be smaller 1!”);

}

if (PriceSmoothing=1.0)

{

IndexSmoothing=0.9999;

Alert(”Fish61: PriceSmothing factor has to be smaller 1!”);

}

if (IndexSmoothing<0)

{

IndexSmoothing=0;

Alert(”Fish61: PriceSmothing factor mustn”t be negative!”);

}

//—-

return(0);

}

//+——————————————————————+

//| Custom indicator deinitialization function |

//+——————————————————————+

int deinit()

{

//—-

//—-

return(0);

}

//+——————————————————————+

//| Custom indicator iteration function |

//+——————————————————————+

int start()

{

if (Bars {

Alert(”Fish84: Not enough Bars loaded to calculate FisherIndicator with RangePeriods=”,RangePeriods);

return(-1);

}

//—-

int counted_bars=IndicatorCounted();

if (counted_bars0) counted_bars–;

//—-

int Position=Bars-counted_bars; // Position = BarPosition calculated from right to left

int LeftNum1=Bars-Position; // when more bars are loaded the Position of a bar changes but not its LeftNum

if (LeftNum1=0)

{

CalculateCurrentBar(Position);

Position–;

}

//—-

return(0);

}

//+——————————————————————+

//| Single Bar Calculation function |

//+——————————————————————+

int CalculateCurrentBar(int pos)

{

double LowestLow, HighestHigh, GreatestRange, MidPrice;

double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;

//—-

LowestLow=Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];

HighestHigh=High[Highest(NULL,0,MODE_HIGH,RangePeriods,pos)];

if (HighestHigh-LowestLow -1 < PriceLocation 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

// FisherIndex

if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));

else Alert(”Fisher129: Unerlaubter Zustand bei Bar Nummer “,Bars-pos);

// Smoothing of FisherIndex

ExtMapBuffer1[pos]=IndexSmoothing*ExtMapBuffer1[pos+1]+(1.0-IndexSmoothing)*FishIndex;

if (Bars-pos0) // up trend

{

ExtMapBuffer2[pos]=SmoothedFish;

ExtMapBuffer3[pos]=0;

}

else // else down trend

{

ExtMapBuffer2[pos]=0;

ExtMapBuffer3[pos]=SmoothedFish;

}

//—-

return(0);

}

//+——————————————————————+

Ссылка на комментарий
Поделиться на другие сайты

Всем здравствуйте, помогите пожалуйста. Нашла код советника,но при компиляции выдает 3 ошибки. Если есть возможность помогите их исправить. Спасибо

 

 

//+——————————————————————+

//| Fisher_m11.mq4 |

//| Copyright © 23.07.2006 MartinG |

//| home.arcor.de/cam06/fisher |

//+——————————————————————+

#property copyright “Copyright © 23.07.2006 MartinG”

#property link “http://home.arcor.de/cam06/fisher”

//—-

#property indicator_separate_window

//#property indicator_minimum -1

//#property indicator_maximum 1

#property indicator_buffers 3

#property indicator_color2 Lime

#property indicator_color3 Red

#property indicator_width2 4

#property indicator_width3 4

//—-

int LeftNum1=56;

int LeftNum2=56;

//—-

extern int RangePeriods=10;

extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10

extern double IndexSmoothing=0.3; // =0.50 bei Fisher_m10

string ThisName=”Fisher_m11″;

int DrawStart;

//—- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

//+——————————————————————+

//| Custom indicator initialization function |

//+——————————————————————+

int init()

{

//—- indicators

IndicatorBuffers(4);

SetIndexLabel(0,”Fish”);

SetIndexStyle(0,DRAW_NONE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,ExtMapBuffer4);

//—-

string Text=ThisName;

Text=Text+” (rPeriods “+RangePeriods;

Text=Text+”, pSmooth “+DoubleToStr(PriceSmoothing,2);

Text=Text+”, iSmooth “+DoubleToStr(IndexSmoothing,2);

Text=Text+”) “;

IndicatorShortName(Text);

SetIndexLabel(1,NULL);

SetIndexLabel(2,NULL);

DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calculated from left to right

SetIndexDrawBegin(1,DrawStart);

SetIndexDrawBegin(2,DrawStart);

//—-

if (PriceSmoothing>=1.0)

{

PriceSmoothing=0.9999;

Alert(”Fish61: PriceSmothing factor has to be smaller 1!”);

}

if (PriceSmoothing=1.0)

{

IndexSmoothing=0.9999;

Alert(”Fish61: PriceSmothing factor has to be smaller 1!”);

}

if (IndexSmoothing<0)

{

IndexSmoothing=0;

Alert(”Fish61: PriceSmothing factor mustn”t be negative!”);

}

//—-

return(0);

}

//+——————————————————————+

//| Custom indicator deinitialization function |

//+——————————————————————+

int deinit()

{

//—-

//—-

return(0);

}

//+——————————————————————+

//| Custom indicator iteration function |

//+——————————————————————+

int start()

{

if (Bars {

Alert(”Fish84: Not enough Bars loaded to calculate FisherIndicator with RangePeriods=”,RangePeriods);

return(-1);

}

//—-

int counted_bars=IndicatorCounted();

if (counted_bars0) counted_bars–;

//—-

int Position=Bars-counted_bars; // Position = BarPosition calculated from right to left

int LeftNum1=Bars-Position; // when more bars are loaded the Position of a bar changes but not its LeftNum

if (LeftNum1=0)

{

CalculateCurrentBar(Position);

Position–;

}

//—-

return(0);

}

//+——————————————————————+

//| Single Bar Calculation function |

//+——————————————————————+

int CalculateCurrentBar(int pos)

{

double LowestLow, HighestHigh, GreatestRange, MidPrice;

double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;

//—-

LowestLow=Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];

HighestHigh=High[Highest(NULL,0,MODE_HIGH,RangePeriods,pos)];

if (HighestHigh-LowestLow -1 < PriceLocation 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

// FisherIndex

if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));

else Alert(”Fisher129: Unerlaubter Zustand bei Bar Nummer “,Bars-pos);

// Smoothing of FisherIndex

ExtMapBuffer1[pos]=IndexSmoothing*ExtMapBuffer1[pos+1]+(1.0-IndexSmoothing)*FishIndex;

if (Bars-pos0) // up trend

{

ExtMapBuffer2[pos]=SmoothedFish;

ExtMapBuffer3[pos]=0;

}

else // else down trend

{

ExtMapBuffer2[pos]=0;

ExtMapBuffer3[pos]=SmoothedFish;

}

//—-

return(0);

}

//+——————————————————————+

 

Во-первых, это код не советника, а индюка.

Во-вторых, там гораздо больше ошибок.

В-третьих, алгоритм функции CalculateCurrentBar очень странный. Особенно эти операторы:

 

if (HighestHigh-LowestLow -1 < PriceLocation 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

 

В первом вообще ошибка. В этом тоже ошибка:

 

if (Bars-pos0) // up trend

 

Откуда взялась переменная pos0, если допустить что это входной параметр pos функции, то очень странно выглядет определение тренда выражением

 

if (Bars-pos)

 

Также бардак с буферами индюка. Короче, во вложении индюк с исправленным синтаксисом, но он ничего показывать не будет. Ищите нормальный код.

Fisher_m11.rar

Изменено пользователем PetrMFXV
Ссылка на комментарий
Поделиться на другие сайты

Всем здравствуйте, помогите пожалуйста. Нашла код советника,но при компиляции выдает 3 ошибки. Если есть возможность помогите их исправить. Спасибо

 

 

//+——————————————————————+

//| Fisher_m11.mq4 |

//| Copyright © 23.07.2006 MartinG |

//| home.arcor.de/cam06/fisher |

//+——————————————————————+

#property copyright “Copyright © 23.07.2006 MartinG”

#property link “http://home.arcor.de/cam06/fisher”

//—-

#property indicator_separate_window

//#property indicator_minimum -1

//#property indicator_maximum 1

#property indicator_buffers 3

#property indicator_color2 Lime

#property indicator_color3 Red

#property indicator_width2 4

#property indicator_width3 4

//—-

int LeftNum1=56;

int LeftNum2=56;

//—-

extern int RangePeriods=10;

extern double PriceSmoothing=0.3; // =0.67 bei Fisher_m10

extern double IndexSmoothing=0.3; // =0.50 bei Fisher_m10

string ThisName=”Fisher_m11″;

int DrawStart;

//—- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

//+——————————————————————+

//| Custom indicator initialization function |

//+——————————————————————+

int init()

{

//—- indicators

IndicatorBuffers(4);

SetIndexLabel(0,”Fish”);

SetIndexStyle(0,DRAW_NONE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,ExtMapBuffer4);

//—-

string Text=ThisName;

Text=Text+” (rPeriods “+RangePeriods;

Text=Text+”, pSmooth “+DoubleToStr(PriceSmoothing,2);

Text=Text+”, iSmooth “+DoubleToStr(IndexSmoothing,2);

Text=Text+”) “;

IndicatorShortName(Text);

SetIndexLabel(1,NULL);

SetIndexLabel(2,NULL);

DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calculated from left to right

SetIndexDrawBegin(1,DrawStart);

SetIndexDrawBegin(2,DrawStart);

//—-

if (PriceSmoothing>=1.0)

{

PriceSmoothing=0.9999;

Alert(”Fish61: PriceSmothing factor has to be smaller 1!”);

}

if (PriceSmoothing=1.0)

{

IndexSmoothing=0.9999;

Alert(”Fish61: PriceSmothing factor has to be smaller 1!”);

}

if (IndexSmoothing<0)

{

IndexSmoothing=0;

Alert(”Fish61: PriceSmothing factor mustn”t be negative!”);

}

//—-

return(0);

}

//+——————————————————————+

//| Custom indicator deinitialization function |

//+——————————————————————+

int deinit()

{

//—-

//—-

return(0);

}

//+——————————————————————+

//| Custom indicator iteration function |

//+——————————————————————+

int start()

{

if (Bars {

Alert(”Fish84: Not enough Bars loaded to calculate FisherIndicator with RangePeriods=”,RangePeriods);

return(-1);

}

//—-

int counted_bars=IndicatorCounted();

if (counted_bars0) counted_bars–;

//—-

int Position=Bars-counted_bars; // Position = BarPosition calculated from right to left

int LeftNum1=Bars-Position; // when more bars are loaded the Position of a bar changes but not its LeftNum

if (LeftNum1=0)

{

CalculateCurrentBar(Position);

Position–;

}

//—-

return(0);

}

//+——————————————————————+

//| Single Bar Calculation function |

//+——————————————————————+

int CalculateCurrentBar(int pos)

{

double LowestLow, HighestHigh, GreatestRange, MidPrice;

double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;

//—-

LowestLow=Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];

HighestHigh=High[Highest(NULL,0,MODE_HIGH,RangePeriods,pos)];

if (HighestHigh-LowestLow -1 < PriceLocation 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

// FisherIndex

if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));

else Alert(”Fisher129: Unerlaubter Zustand bei Bar Nummer “,Bars-pos);

// Smoothing of FisherIndex

ExtMapBuffer1[pos]=IndexSmoothing*ExtMapBuffer1[pos+1]+(1.0-IndexSmoothing)*FishIndex;

if (Bars-pos0) // up trend

{

ExtMapBuffer2[pos]=SmoothedFish;

ExtMapBuffer3[pos]=0;

}

else // else down trend

{

ExtMapBuffer2[pos]=0;

ExtMapBuffer3[pos]=SmoothedFish;

}

//—-

return(0);

}

//+——————————————————————+

 

Во-первых, это код не советника, а индюка.

Во-вторых, там гораздо больше ошибок.

В-третьих, алгоритм функции CalculateCurrentBar очень странный. Особенно эти операторы:

 

if (HighestHigh-LowestLow -1 < PriceLocation 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

 

В первом вообще ошибка. В этом тоже ошибка:

 

if (Bars-pos0) // up trend

 

Откуда взялась переменная pos0, если допустить что это входной параметр pos функции, то очень странно выглядет определение тренда выражением

 

if (Bars-pos)

 

Также бардак с буферами индюка. Короче, во вложении индюк с исправленным синтаксисом, но он ничего показывать не будет. Ищите нормальный код.

Спасибо

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте помогите пожалуйста!! Напишите советника который будет автоматически открывать и закрывать сделки по единственному сигналу индикатора, возможно такое? если да то я выложу индикатор, и попробуем осуществить это..
Ссылка на комментарий
Поделиться на другие сайты

Там по сути все просто как меняется цвет сопровождения открывается позиция, как он меняется на другой цвет закрывается и открывается новый ордер в противоположную сторону
Ссылка на комментарий
Поделиться на другие сайты

.... Короче, во вложении индюк с исправленным синтаксисом, но он ничего показывать не будет. Ищите нормальный код.

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

Ссылка на комментарий
Поделиться на другие сайты

.... Короче, во вложении индюк с исправленным синтаксисом, но он ничего показывать не будет. Ищите нормальный код.

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

Ой, а как мне индюка сюда прикрепить чет не получилось...
Ссылка на комментарий
Поделиться на другие сайты

.... Короче, во вложении индюк с исправленным синтаксисом, но он ничего показывать не будет. Ищите нормальный код.

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

Ой, а как мне индюка сюда прикрепить чет не получилось...

Тогда вот так:

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

//| Fisher_m11.mq4 |

//| Copyright © 23.07.2006 MartinG |

//| http://home.arcor.de/cam06/fisher |

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

#property copyright "Copyright © 23.07.2006 MartinG"

#property link "http://home.arcor.de/cam06/fisher"

//----

#property indicator_separate_window

//#property indicator_minimum -1

//#property indicator_maximum 1

#property indicator_buffers 4

#property indicator_color2 Lime

#property indicator_color3 Red

#property indicator_width2 4

#property indicator_width3 4

//----

int LeftNum1=56;

int LeftNum2=56;

//----

extern int RangePeriods=55;

extern double PriceSmoothing=0.03; // =0.67 bei Fisher_m10

extern double IndexSmoothing=0.00; // =0.50 bei Fisher_m10

extern int Left_Right=0;

extern int Up_Down = 0;

string ThisName="Fisher_m11";

int DrawStart;

int k;

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

double ExtMapBuffer4[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

IndicatorBuffers(4);

SetIndexLabel(0,"Fish");

SetIndexStyle(0,DRAW_NONE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_HISTOGRAM);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(2,DRAW_HISTOGRAM);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(3,DRAW_NONE);

SetIndexBuffer(3,ExtMapBuffer4);

//----

string Text=ThisName;

Text=Text+" (rPeriods "+RangePeriods;

Text=Text+", pSmooth "+DoubleToStr(PriceSmoothing,2);

Text=Text+", iSmooth "+DoubleToStr(IndexSmoothing,2);

Text=Text+") ";

IndicatorShortName(Text);

SetIndexLabel(1,NULL);

SetIndexLabel(2,NULL);

DrawStart=2*RangePeriods+4; // DrawStart= BarNumber calculated from left to right

SetIndexDrawBegin(1,DrawStart);

SetIndexDrawBegin(2,DrawStart);

//----

if (PriceSmoothing>=1.0)

{

PriceSmoothing=0.9999;

Alert("Fish61: PriceSmothing factor has to be smaller 1!");

}

if (PriceSmoothing<0)

{

PriceSmoothing=0;

Alert("Fish61: PriceSmothing factor mustn''t be negative!");

}

if (IndexSmoothing>=1.0)

{

IndexSmoothing=0.9999;

Alert("Fish61: PriceSmothing factor has to be smaller 1!");

}

if (IndexSmoothing<0)

{

IndexSmoothing=0;

Alert("Fish61: PriceSmothing factor mustn''t be negative!");

}

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

if (Bars<DrawStart)

{

Alert("Fish84: Not enough Bars loaded to calculate FisherIndicator with RangePeriods=",RangePeriods);

return(-1);

}

//----

int counted_bars=IndicatorCounted();

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

if (counted_bars>0) counted_bars--;

double LowestLow, HighestHigh, GreatestRange, MidPrice;

double PriceLocation, SmoothedLocation, FishIndex, SmoothedFish;

//----

int pos=Bars-counted_bars ;

// k=pos;

// Position = BarPosition calculated from right to left

int LeftNum1=Bars-pos; // when more bars are loaded the Position of a bar changes but not its LeftNum

if (LeftNum1<RangePeriods+1) { pos=Bars-RangePeriods-1; }

//----

while(pos>=0)

{

LowestLow=Low[Lowest(NULL,0,MODE_LOW,RangePeriods,pos)];

HighestHigh=High[Highest(NULL,0,MODE_HIGH,RangePeriods,pos)];

if (HighestHigh-LowestLow<0.1*Point)HighestHigh=LowestLow+0.1*Point;

GreatestRange=HighestHigh-LowestLow;

MidPrice=(High[pos]+Low[pos])/2;

k=pos+Left_Right;

// PriceLocation in current Range

if (GreatestRange!=0)

{

PriceLocation=(MidPrice-LowestLow)/GreatestRange;

PriceLocation= 2.0*PriceLocation - 1.0; // -> -1 < PriceLocation < +1

}

// Smoothing of PriceLocation

ExtMapBuffer4[k]=PriceSmoothing*ExtMapBuffer4[k+1]+(1.0-PriceSmoothing)*PriceLocation;

SmoothedLocation=ExtMapBuffer4[k];

if (SmoothedLocation> 0.99) SmoothedLocation= 0.99; // verhindert, dass MathLog unendlich wird

if (SmoothedLocation<-0.99) SmoothedLocation=-0.99; // verhindert, dass MathLog minuns unendlich wird

// FisherIndex

if(1-SmoothedLocation!=0) FishIndex=MathLog((1+SmoothedLocation)/(1-SmoothedLocation));

else Alert("Fisher129: Unerlaubter Zustand bei Bar Nummer ",Bars-(k));

// Smoothing of FisherIndex

ExtMapBuffer1[k]=IndexSmoothing*ExtMapBuffer1[k+1]+(1.0-IndexSmoothing)*FishIndex;

if (Bars-pos<DrawStart)ExtMapBuffer1[k]=0;

SmoothedFish=ExtMapBuffer1[k];

//----

if (SmoothedFish>0) // up trend

{

ExtMapBuffer2[k]=SmoothedFish;

ExtMapBuffer3[k]=0;

}

else // else down trend

{

ExtMapBuffer2[k]=0;

ExtMapBuffer3[k]=SmoothedFish;

}

//----

pos-- ;

}

//----

return(0);

}

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

//| Single Bar Calculation function |

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

 

 

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

Ссылка на комментарий
Поделиться на другие сайты

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

 

 

Попробуйте этот, но я его не тестил, по моему должен работать smile.png .

Fisher_m11_.rar

Ссылка на комментарий
Поделиться на другие сайты

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

 

 

Попробуйте этот, но я его не тестил, по моему должен работать smile.png .

Не тот архив прикрепил, сейчас подправлю.

Ссылка на комментарий
Поделиться на другие сайты

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

 

 

Попробуйте этот, но я его не тестил, по моему должен работать smile.png .

Не тот архив прикрепил, сейчас подправлю.

 

Извините, что так долго, проверял в живую. Можно еще подправить, а то на текущей свече срабатывает и еще не факт что свеча закроется в соответствие сигналу smile.png .

Fisher_m11_1.rar

Ссылка на комментарий
Поделиться на другие сайты


×
×
  • Создать...