//+------------------------------------------------------------------+ //| dynamic.mq4 | //| Copyright © 2006, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //| | //| Aug 5, 2006 : Cubesteak : Sound added to arrows | //| http://www.forex-tsd.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Gold // BUY signal #property indicator_color2 Yellow // BUY signal #property indicator_color3 Red // SELL signal //----Indicator Buffers--------------------------------------------+ double DynamicLineTrend []; // Data buffer for dynamic line trend double BUYSignals []; // Data buffer for BUY signals double SELLSignals []; // Data buffer for SELL signals //----User defines------------------------------------------------- extern int Percent=1; // Percent dynamic channel 15 Main Trend 10 extern int MaxPeriod=14; // 12 FOR H1 Maximal period for calculate trend 50 Main Trend 89 //----Variables----------------------------------------------------+ int Shift=0; // Current bar for calculate trend // //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init () { SetIndexStyle (0, DRAW_LINE); SetIndexBuffer(0, DynamicLineTrend); SetIndexStyle (1, DRAW_ARROW); SetIndexArrow (1,233); SetIndexBuffer(1, BUYSignals); SetIndexStyle (2, DRAW_ARROW); SetIndexArrow (2,234); SetIndexBuffer(2, SELLSignals); return (0); } //-------------------------------------------------------------------+ // +------------------------------------------------------------------+ // | Custom indicator iteration function | // +------------------------------------------------------------------+ int start () { // Get digits of Symbol double point=MarketInfo (Symbol (), MODE_POINT); // Set count bars for calculate trend int Counted_Bars=IndicatorCounted ()-MaxPeriod; //----Calculation DynamicLineTrend---------------------------------+ for ( Shift = Counted_Bars; Shift>=0; Shift--) { // Calculate of maximal period if (Close [Shift] <DynamicLineTrend [Shift+1]) { // Calculate Upper trend DynamicLineTrend [Shift] =Close [Highest (NULL, 0, MODE_CLOSE, MaxPeriod, Shift+1)]-Percent*point; } if (Close [Shift]>=DynamicLineTrend [Shift+1]) { // Calculate Down trend DynamicLineTrend [Shift] =Close [Lowest (NULL, 0, MODE_CLOSE, MaxPeriod, Shift+1)] +Percent*point; } // Checkcrosses DynamicLineTrend and Price if (Close [Shift+3]> DynamicLineTrend [Shift+2]) if (Close [Shift+2] <DynamicLineTrend [Shift+3]){ BUYSignals [Shift] =Low [Shift]-10*point; PlaySound("alert.wav");} else BUYSignals [Shift] =0; else BUYSignals [Shift] =0; if (Close [Shift+2] <DynamicLineTrend [Shift+1]) if (Close [Shift+2]> DynamicLineTrend [Shift+3]){ SELLSignals [Shift] =High [Shift]-10*point; PlaySound("alert.wav");} else SELLSignals [Shift] =0; else SELLSignals [Shift] =0; } //-------------------------------------------------------------------+ return (0); } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sample
Analysis
Market Information Used:
Indicator Curves created:
Indicators Used:
Custom Indicators Used:
Order Management characteristics:
Other Features:
It plays sound alerts