Disliked3 seconds should be ample on a live account for all 7 bars to form unless the broker is a crook and delaying prices!!!!!!!!!!!!!!!!!Ignored
Ok, 3 secs it is.
Trading correlation pairs by using the other pairs 744 replies
Export All pairs or selected pairs to .csv with script 3 replies
Pairs of Currency Pairs 4 replies
Trending Pairs / Ranging Pairs 0 replies
Robot trading 120 replies
Disliked3 seconds should be ample on a live account for all 7 bars to form unless the broker is a crook and delaying prices!!!!!!!!!!!!!!!!!Ignored
DislikedWhat do you mean, unless the criminal is a crook?
Ok, 3 secs it is.
Ignored
DislikedYeah, i am not used to all these price delays and spreads at work.
You guys are certainly up against it even if you know what you are doing!Ignored
DislikedLooking at the data for my broker, 3 seconds would not always be enough time for the new candles to form.
Since the beginning of this thread, it was obvious there was a problem with the RSI calculation when a new candle forms. See the attached indicator for the code to remove the issue (I think!). The functions to compute the true live RSI values are complicated because:
You are using the weighted price for the RSI prices. This adds much complexity to the calculation when a new candle forms for a few pairs but has not yet formed for the others....Ignored
DislikedHow come my (version) of the indicator gives the same figure for the white line as yours ?
This is a good thing! Our calculations are in agreement! My indicator should give the same figures as your indicator since they are both using the same RSI formula.
All I do different in this indicator is manually (using arrays) calculate the RSI values, thus eliminating the repainting/recalculating issues of the original indicator during formation of new candles.
You are using the high/low but this is what PRICE_WEIGHTED...Ignored
DislikedJust updated the Dashboard in Post:
http://www.forexfactory.com/showpost...postcount=2973
Standalone now...
UliIgnored
DislikedSteve
Change the candle delay calculation to 5 seconds instead of 3.
If anyone is using a broker whereby it takes more than 5 seconds to get all 7 candles formed then I would seriously question their choice of broker and/or ISP connection speed.
My god, a 5 second delay in price feeds on a trading floor would be a potential disaster.Ignored
int i; bool rollover = true; // crude version of do..while loop for (i = 0; i < 7; i++) if (lastTime[i] == iTime(symbols[i], 0, 0) rollover = false; while (!rollover) { rollover = true; for (i = 0; i < 7; i++) if (lastTime[i] == iTime(symbols[i], 0, 0) rollover = false; } // now all candles are new and in lockstep so update // stored timestamps for (i = 0; i < 7; i++) lastTime[i] = iTime(symbols[i], 0, 0);
DislikedHi guys
I had some spare time and made a dashboard for those trading this manually... maybe it helps
Showing the price above below 200SMA in 3 timeframes and the 15M and H1 Strength reading with a small buy/sell/wait indi.
Here's how it looks like.
Indi attached. Can't test it as it needs ticks...
Update 22.11.2009:
It's standalone now, no other indicator needed
It does not take CAD and NZD in the calculations. If you need or want it... tell me!
Showing recommended Base Lot Size.Ignored
DislikedLooking at the data for my broker, 3 seconds would not always be enough time for the new candles to form.
Since the beginning of this thread, it was obvious there was a problem with the RSI calculation when a new candle forms. See the attached indicator for the code to remove the issue (I think!). The functions to compute the true live RSI values are complicated because:
You are using the weighted price for the RSI prices. This adds much complexity to the calculation when a new candle forms for a few pairs but has not yet formed for the others....Ignored
[color=Blue]string suffix;[/color] int init() { [color=Blue]suffix = StringSubstr(Symbol(), 6, StringLen(Symbol()) - 6);[/color] if ( eblnAUD ) { gastrPair[inx] = "AUDJPY"[color=Blue]+suffix[/color]; inx++; } if ( eblnCAD ) { gastrPair[inx] = "CADJPY"[color=Blue]+suffix[/color]; inx++; } if ( eblnCHF ) { gastrPair[inx] = "CHFJPY"[color=Blue]+suffix[/color]; inx++; } if ( eblnEUR ) { gastrPair[inx] = "EURJPY"[color=Blue]+suffix[/color]; inx++; } if ( eblnGBP ) { gastrPair[inx] = "GBPJPY"[color=Blue]+suffix[/color]; inx++; } if ( eblnNZD ) { gastrPair[inx] = "NZDJPY"[color=Blue]+suffix[/color]; inx++; } if ( eblnUSD ) { gastrPair[inx] = "USDJPY"[color=Blue]+suffix[/color]; inx++; }
DislikedHi Steve,
It is possible I have misunderstood what you are trying to do but have you considered using iTime to get the time for the current candle and compare to the last saved time then you can detect a new candle rollover without hardcoding any sleeps.Ignored
//Give new candles for all the pairs time to form at the start of a new JPY candle //Code is an adaptation of that provided by fxjedi, so many thanks to fxjedi static double LastTime[]; if (OldBars != Bars) { Comment(Gap + "New candle. Waiting for all new candles to form"); bool rollover = false; while (!rollover) { rollover = true; for (int cc = 0; cc < NoOfPairs; cc++) { if (LastTime[cc] == iTime(TradePair[cc], 0, 0) ) { rollover = false; break; }//if (lastTime[cc] == iTime(symbols[cc], 0, 0) }//for (int cc = 0; cc < NoOfPairs; cc++) }//while (!rollover) // now all candles are new and in lockstep so update stored timestamps for (cc = 0; cc < NoOfPairs; cc++) { LastTime[cc] = iTime(TradePair[cc], 0, 0); }//for (cc = 0; cc < NoOfPairs; cc++) OldBars = Bars; }//if (OldBars != Bars)
DislikedSteve,
I know this is NOT a critical, and priority is much lower than hedge function.
But I post this again because I don't know whether you just missed or ignored.
You can delete this post if you've already read.
If not, you can try it. I've already tested and worked fine.Ignored