#
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Home
Forex Forum
+ Add Script
Metastock
Expert Advisors
Explorations
Indicators
Trading Systems
Metatrader
MQL Experts
MQL Indicators
MQ4 Experts
MQ4 Indicators
MQ4 Scripts
Tradestation
Functions
Indicators
PaintBars
ShowMe
Trading Systems
Amibroker
Commentaries
Explorations
Functions
Indicators
Trading Systems
Contact us
Newsletter
Group: Metatrader MQ4 Indicators
Title: DogiStars
Description:
Shows Dogis plus Morning and Evening Dogi Stars
/* * Filename: DogiStars.mq4 * Author: DriverDan * Date: Oct 28, 2005 * * Description: Indicator that displays Dogis and Morning and Evening Dogi stars. * * Version: 1.0 * Initial release */ #property copyright "Copyright © 2005, DriverDan" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Yellow #property indicator_color2 Red #property indicator_color3 Red #define UP 1 #define DOWN 2 extern int showDogis = 1; // 1 = Show a star for Dogis extern int showArrows = 1; // 1 = Arrows for morning and evening Dogi stars double dogiBuffer[]; double upBuffer[]; double downBuffer[]; /* * Initialization function */ int init() { SetIndexStyle(0, DRAW_ARROW); SetIndexStyle(1, DRAW_ARROW); SetIndexStyle(2, DRAW_ARROW); SetIndexArrow(0, 171); SetIndexArrow(1, 225); SetIndexArrow(2, 226); SetIndexBuffer(0, dogiBuffer); SetIndexBuffer(1, upBuffer); SetIndexBuffer(2, downBuffer); SetIndexLabel(0, "Dogi"); SetIndexLabel(1, "Up Signal"); SetIndexLabel(2, "Down Signal"); return(0); } /* * Function to find a Dogi */ int findDogi(int i) { int retVal = 0; if(Low[i] < Low[i + 1] && Open[i] == Close[i]) { retVal = UP; } else if(High[i] > High[i + 1] && Open[i] == Close[i]) { retVal = DOWN; } return(retVal); } /* * Main program */ int start() { int i, dogiVal; int counted_bars = IndicatorCounted(); if(Bars < 3) return(0); // Loop and look for pivots for(i = Bars - counted_bars; i >= 0; i--) { if(i < Bars - 3) { // If we are showing Dogis look for them if(showDogis == 1) { dogiVal = findDogi(i); // If we found a dogi mark it if(dogiVal == UP) { dogiBuffer[i] = Low[i] - 4 * Point; } else if(dogiVal == DOWN) { dogiBuffer[i] = High[i] + 4 * Point; } } // If we are showing morning and evening dogi stars look for them if(showArrows == 1) { dogiVal = findDogi(i + 2); // If we found a morning or evening dogi star mark it if(dogiVal == UP && Open[i + 3] > Close[i + 3] && Open[i + 1] < Close[i + 1]) { upBuffer[i + 1] = Low[i + 1] - 4 * Point; } else if(dogiVal == DOWN && Open[i + 3] < Close[i + 3] && Open[i + 1] > Close[i + 1]) { downBuffer[i + 1] = High[i + 1] + 4 * Point; } } } } return(0); }
Author/Source:
DriverDan
Forex Directory
|
Free Forex Strategies
|
Forex Trading Systems
|
Privacy
|
Disclaimer
|
Contact