hilary
- 31 Dec 2003 13:00
Your browser does not support JavaScript!
|
|
Your browser does not support JavaScript!
|
Your browser does not support inline frames or is currently configured not to display inline frames.
|
Forex rebates on every trade - win or lose!
hilary
- 04 Jun 2008 09:55
- 9843 of 11056
I need a bit more help now please folks.
After Foxey kindly showed me the error of my ways with my ma crossover of MACD the other day, I went back to the drawing board and re-wrote it completely using some code from another indicator called 2MA crossover which also gives an option to change arrow styles and has some nice "Avon Calling" ding dong alerts.
I now want to code it for MTF (iCustom will be fine). Unfortunately I've given it a go myself and keep getting some compilation errors that I don't understand.
Here's my code for the basic indicator.
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_width1 3
#property indicator_color2 Magenta
#property indicator_width2 3
extern int MACD_Fast = 12;
extern int MACD_Slow = 26;
extern int MACD_Slowing = 9;
extern int Bars_Count= 20000;
extern string note1 = "Arrow Type";
extern string note2 = "0=Thick, 1=Thin, 2=Hollow, 3=Round";
extern string note3 = "4=Fractal, 5=Diagonal Thin";
extern string note4 = "6=Diagonal Thick, 7=Diagonal Hollow";
extern string note5 = "8=Thumb, 9=Finger";
extern int ArrowType=2;
extern string note6 = "--------------------------------------------";
extern string note7 = "turn on Alert = true; turn off = false";
extern bool AlertOn = true;
extern string note8 = "--------------------------------------------";
extern string note9 = "send Email Alert = true; turn off = false";
extern bool SendAnEmail=false;
double CrossUp[];
double CrossDown[];
string AlertPrefix;
string GetTimeFrameStr() {
switch(Period())
{
case 1 : string TimeFrameStr="M1"; break;
case 5 : TimeFrameStr="M5"; break;
case 15 : TimeFrameStr="M15"; break;
case 30 : TimeFrameStr="M30"; break;
case 60 : TimeFrameStr="H1"; break;
case 240 : TimeFrameStr="H4"; break;
case 1440 : TimeFrameStr="D1"; break;
case 10080 : TimeFrameStr="W1"; break;
case 43200 : TimeFrameStr="MN1"; break;
default : TimeFrameStr=Period();
}
return (TimeFrameStr);
}
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ArrowType == 0) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 234);
}
else if (ArrowType == 1) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 225);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 226);
}
else if (ArrowType == 2) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 241);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 242);
}
else if (ArrowType == 3) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 221);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 222);
}
else if (ArrowType == 4) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 217);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 218);
}
else if (ArrowType == 5) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 228);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 230);
}
else if (ArrowType == 6) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 236);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 238);
}
else if (ArrowType == 7) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 246);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 248);
}
else if (ArrowType == 8) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 67);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 68);
}
else if (ArrowType == 9) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 71);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 72);
}
SetIndexBuffer(0, CrossUp);
SetIndexBuffer(1, CrossDown);
AlertPrefix=Symbol()+" ("+GetTimeFrameStr()+"): ";
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
bool NewBar()
{
static datetime lastbar;
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else
{
return(false);
}
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() {
int limit, i, counter;
double macdnow, macd_signow, macdprevious, macd_sigprevious, macdafter, macd_sigafter;
double Range, AvgRange;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(i = 0; i < = limit; i++) {
counter=i;
Range=0;
AvgRange=0;
for (counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;
macdnow = iMACD(Symbol(), Period(), MACD_Fast, MACD_Slow, MACD_Slowing, PRICE_CLOSE, MODE_MAIN, i);
macdprevious = iMACD(Symbol(), Period(), MACD_Fast, MACD_Slow, MACD_Slowing, PRICE_CLOSE, MODE_MAIN, i+1);
macdafter = iMACD(Symbol(), Period(), MACD_Fast, MACD_Slow, MACD_Slowing, PRICE_CLOSE, MODE_MAIN, i-1);
macd_signow = iMACD(Symbol(), Period(), MACD_Fast, MACD_Slow, MACD_Slowing, PRICE_CLOSE, MODE_SIGNAL, i);
macd_sigprevious = iMACD(Symbol(), Period(), MACD_Fast, MACD_Slow, MACD_Slowing, PRICE_CLOSE, MODE_SIGNAL, i+1);
macd_sigafter = iMACD(Symbol(), Period(), MACD_Fast, MACD_Slow, MACD_Slowing, PRICE_CLOSE, MODE_SIGNAL, i-1);
if ((macdnow > macd_signow) && (macdprevious < macd_sigprevious) && (macdafter > macd_sigafter)) {
CrossUp[i] = Low[i] - Range*1.5;
if (AlertOn && NewBar()) {
Alert(AlertPrefix + "MACD ("+MACD_Fast+","+MACD_Slow+","+MACD_Slowing+") crosses UP");
}
if (SendAnEmail && NewBar()) {
SendMail(AlertPrefix, "MACD ("+MACD_Fast+","+MACD_Slow+","+MACD_Slowing+") crosses UP");
}
}
else if ((macdnow < macd_signow) && (macdprevious > macd_sigprevious) && (macdafter < macd_sigafter)) {
CrossDown[i] = High[i] + Range*1.5;
if (AlertOn && NewBar()) {
Alert(AlertPrefix + "MACD ("+MACD_Fast+","+MACD_Slow+","+MACD_Slowing+") crosses DOWN");
}
if (SendAnEmail && NewBar()) {
SendMail(AlertPrefix, "MACD ("+MACD_Fast+","+MACD_Slow+","+MACD_Slowing+") crosses DOWN");
}
}
}
return(0);
}
Kayak
- 04 Jun 2008 10:05
- 9844 of 11056
Your son did all that, didn't he :-)
hilary
- 04 Jun 2008 10:07
- 9845 of 11056
I cook him dinner each night!
:o)
qwento
- 04 Jun 2008 10:53
- 9846 of 11056
Hilary.
for(i = 0; i < = limit; i++) {
You have a space between the '<' and the '=', remove it and it compiles
hilary
- 04 Jun 2008 11:17
- 9847 of 11056
Qwento,
Thanks for that, although I'm not sure where that space has come from. It's not there in my mq4 file which does compile OK.
To re-iterate, it's a MTF version of the above that I'm trying to code. I've named the above mq4 file MACD Crossover Arrows & Alert and tried to create a MTF file using iCustom. Here's my MTF code:
//+------------------------------------------------------------------+
//| MTF MACD Crossover Arrows & Alert |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_width1 3
#property indicator_color2 Magenta
#property indicator_width2 3
extern string note1 = "Arrow Type";
extern string note2 = "0=Thick, 1=Thin, 2=Hollow, 3=Round";
extern string note3 = "4=Fractal, 5=Diagonal Thin";
extern string note4 = "6=Diagonal Thick, 7=Diagonal Hollow";
extern string note5 = "8=Thumb, 9=Finger";
extern int ArrowType=2;
extern string note6 = "--------------------------------------------";
extern string note7 = "turn on Alert = true; turn off = false";
extern bool AlertOn = true;
extern string note8 = "--------------------------------------------";
extern string note9 = "send Email Alert = true; turn off = false";
extern bool SendAnEmail=false;
string AlertPrefix;
string GetTimeFrameStr() {
}
//---- input parameters
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIOD_W1 10080
PERIOD_MN1 43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
---------------------------------------*/
extern int TimeFrame=0;
//---- input parameters
extern int MACD_Fast = 12;
extern int MACD_Slow = 26;
extern int MACD_Slowing = 9;
extern int Bars_Count= 20000;
//---- buffers
double CrossUp[];
double CrossDown[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ArrowType == 0) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 234);
}
else if (ArrowType == 1) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 225);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 226);
}
else if (ArrowType == 2) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 241);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 242);
}
else if (ArrowType == 3) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 221);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 222);
}
else if (ArrowType == 4) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 217);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 218);
}
else if (ArrowType == 5) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 228);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 230);
}
else if (ArrowType == 6) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 236);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 238);
}
else if (ArrowType == 7) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 246);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 248);
}
else if (ArrowType == 8) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 67);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 68);
}
else if (ArrowType == 9) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 71);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 72);
}
SetIndexBuffer(0, CrossUp);
SetIndexBuffer(1, CrossDown);
AlertPrefix=Symbol()+" ("+GetTimeFrameStr()+"): ";
//---- name for DataWindow and indicator subwindow label
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period M1"; break;
case 5 : TimeFrameStr="Period M5"; break;
case 15 : TimeFrameStr="Period M15"; break;
case 30 : TimeFrameStr="Period M30"; break;
case 60 : TimeFrameStr="Period H1"; break;
case 240 : TimeFrameStr="Period H4"; break;
case 1440 : TimeFrameStr="Period D1"; break;
case 10080 : TimeFrameStr="Period W1"; break;
case 43200 : TimeFrameStr="Period MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
//----
return(0);
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
bool NewBar()
{
static datetime lastbar;
datetime curbar = Time[0];
if(lastbar!=curbar)
{
lastbar=curbar;
return (true);
}
else
{
return(false);
}
}
//+------------------------------------------------------------------+
//| MTF MACD Crossover |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= Bars-counted_bars;
for(i=0,y=0;i
I get a compilation error for line 158 which I don't understand. I also suspect that the main indicator loop is probably wrong.
FreemanFox
- 04 Jun 2008 19:41
- 9848 of 11056
Hils,
Just looked and see your coding request.
You've got two blocks of code here which are different. The 2nd post has blocks of crucial code commented out (incorrectly) which make it not compile. The first complies easily by doing the change which Qwento suggested.
Glancing at the code, is the second example suppose to be a modification of the first as I'm not quiet sure what the relationship is between the two and what your trying to do otherwise? Why 2 blocks of code?
hilary
- 05 Jun 2008 07:01
- 9849 of 11056
Foxey,
The first block of code in post 9843 is an indicator which I (with the help of my son) have created. It draws up or down arrows on the chart with a ma crossover of the MACD. It compiles and works well without any problem.
I'm not sure where the space between the "less than" and"equals" sign that Qwento identified has come from as it certainly wasn't there in MetaEditor. I suspect it simply appeared from Cyberspace when I copied and pasted from MetaEditor into the am post. This would make sense as there are also a couple of things which have displayed differently in the post to the way they appear in MetaEditor.
As I say though, this indicator is not a problem and works fine.
My problem is that I am trying to produce a MTF version of the indicator and that's where I (and my son) are struggling and asked for some assistance. The best we've come up with so far is the block of code in post 9847. The basic indicator has been called MACD Crossover Arrows & Alert and we are trying to link the MTF version to it via iCustom. At the moment we get a compilation error that we don't understand in Line 158. We also suspect that the indicator loop may be wrong.
A little knowledge is clearly a dangerous thing. My approach to this coding malarky has been to look at existing code, try to understand what it's doing and then to replicate it for my own purposes. I still have a long way to go before I'll be able to swap my Manolos for a pair of Jesus sandals and pretend to be a real coder.
Cue DelBoy.
:o)
FreemanFox
- 06 Jun 2008 13:45
- 9850 of 11056
Hils,
I understand your problem now and what you're trying to do.
I'll see if I can get around to looking at it over the weekend.
hilary
- 06 Jun 2008 13:59
- 9851 of 11056
If you can sort it out, Foxey, you can have my babies.
Just paste up your address and I'll bring them round.
:o)
FreemanFox
- 09 Jun 2008 08:14
- 9853 of 11056
Hils,
Not really had much chance to debug your code over the weekend but the code below now works. Main issue seemed to be, that however you copied it from your original indicator you truncated some key code at the ends of some lines. (I think you need a better cut 'n' paste tool !!).
There's still things that need to be sorted, like the position of where it plots the arrows could be made better and also it plots multiple arrows when you use a higher timeframe.
I'm not going to be able to look at sorting the remaining issues and give it a thorough testing until later in the week at the earliest but you may be able to pick it up and sort it now that the major problems with it are resolved. Let me know how you get on and I'll pick up the posts later in the week.
//+------------------------------------------------------------------+
//| MTF MACD Crossover Arrows & Alert |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_width1 3
#property indicator_color2 Magenta
#property indicator_width2 3
extern string note1 = "Arrow Type";
extern string note2 = "0=Thick, 1=Thin, 2=Hollow, 3=Round";
extern string note3 = "4=Fractal, 5=Diagonal Thin";
extern string note4 = "6=Diagonal Thick, 7=Diagonal Hollow";
extern string note5 = "8=Thumb, 9=Finger";
extern int ArrowType=2;
extern string note6 = "--------------------------------------------";
extern string note7 = "turn on Alert = true; turn off = false";
extern bool AlertOn = true;
extern string note8 = "--------------------------------------------";
extern string note9 = "send Email Alert = true; turn off = false";
extern bool SendAnEmail=false;
string AlertPrefix;
string GetTimeFrameStr() {
}
//---- input parameters
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIOD_W1 10080
PERIOD_MN1 43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
---------------------------------------*/
extern int TimeFrame=0;
//---- input parameters
extern int MACD_Fast = 12;
extern int MACD_Slow = 26;
extern int MACD_Slowing = 9;
extern int Bars_Count= 20000;
//---- buffers
double CrossUp[];
double CrossDown[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
if (ArrowType == 0) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 234);
}
else if (ArrowType == 1) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 225);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 226);
}
else if (ArrowType == 2) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 241);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 242);
}
else if (ArrowType == 3) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 221);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 222);
}
else if (ArrowType == 4) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 217);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 218);
}
else if (ArrowType == 5) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 228);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 230);
}
else if (ArrowType == 6) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 236);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 238);
}
else if (ArrowType == 7) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 246);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 248);
}
else if (ArrowType == 8) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 67);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 68);
}
else if (ArrowType == 9) {
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0, 71);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1, 72);
}
SetIndexBuffer(0, CrossUp);
SetIndexBuffer(1, CrossDown);
AlertPrefix=Symbol()+" ("+GetTimeFrameStr()+"): ";
//---- name for DataWindow and indicator subwindow label
switch(TimeFrame)
{
case 1 : string TimeFrameStr="Period M1"; break;
case 5 : TimeFrameStr="Period M5"; break;
case 15 : TimeFrameStr="Period M15"; break;
case 30 : TimeFrameStr="Period M30"; break;
case 60 : TimeFrameStr="Period H1"; break;
case 240 : TimeFrameStr="Period H4"; break;
case 1440 : TimeFrameStr="Period D1"; break;
case 10080 : TimeFrameStr="Period W1"; break;
case 43200 : TimeFrameStr="Period MN1"; break;
default : TimeFrameStr="Current Timeframe";
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| MTF MACD Crossover |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);
limit= Bars-counted_bars;
for(i=0,y=0;i
hilary
- 09 Jun 2008 09:30
- 9854 of 11056
Foxey,
You've been very kind to help out. Thank you.
Unfortunately though, I can't get your version to compile. I'm sure that it does compile, otherwise you wouldn't have bothered to paste it up. I really do think that there must be a problem with our cut and paste tools.
Help???????
FreemanFox
- 09 Jun 2008 10:11
- 9855 of 11056
Hils,
That's weird. I can see the bits of code that have not copied across correctly. If I cut 'n' paste it into word or notpad it works fine.
If I do the same into a MoneyAM post it looks correct during the editing but once the message is posted things disappear. There must be something going on strange with the MoneyAM's posting process.
If you want to drop me your email address I'll send it to you when I return later today.
hilary
- 09 Jun 2008 10:46
- 9856 of 11056
Thanks Foxey. Message sent.
FreemanFox
- 10 Jun 2008 08:10
- 9857 of 11056
Hils, message sent.
hilary
- 10 Jun 2008 21:11
- 9858 of 11056
Foxey,
I've noticed something weird concerning the problem that we're already aware of about how the MTF version of the MACD crossover indicator paints its arrows.
Here's a piccie of today's M5 Gold chart.
I've annotated it with my comments. The indicator timeframe is M15, so it paints 3 arrows for historical crossovers which we already know about. When you leave it running for new arrows to paint, I've noticed that it only paints one arrow as it should.
If you switch timeframes and go back to the M5, the single arrow will then repaint with 3 arrows.
Does that make sense? You need to leave it running to see for yourself.
Weird.
FreemanFox
- 11 Jun 2008 08:19
- 9859 of 11056
Hi Hils,
Yeah I spotted it myself when I left it running. I know how to sort all the issues with it but just not got time at the moment.
As soon as I can (probably weekend or early next week) I'll fix it. I think it will be pretty useful when complete. Let me know if you spot any other 'features' that need sorting.
Seymour Clearly
- 11 Jun 2008 13:52
- 9860 of 11056
Usd/Cad is under severe pressure as a large sell order rumoured to be in the region of 2 yards hits the market and there is talk that only a quarter of it has been filled so far.
What's that mean? Just out of interest - no position.
Spaceman
- 11 Jun 2008 14:57
- 9861 of 11056
In Forex trading jargon, a yard means a billion units.
hilary
- 11 Jun 2008 15:27
- 9862 of 11056
Foxey,
There's no great rush to sort the multiple paint problem as it does the job and the problem has now become simply cosmetic. It would be good if you are able to resolve it though when you do get some spare time.
I'm already finding the MTF version useful. This was the last piece of the jigsaw that I have been looking for which has now enabled me to trade each cross or pair entirely from one screen without needing to switch screens.
Along the way, I have also acquired the knowledge to be able to code an indicator which will produce Ruthie's Magic ArrersTM. I haven't written it yet, but will do over the next few weeks.
One other thing. Has anybody noticed all of the new instruments available with ODL? They're now covering a couple of soft commodities, the major indicies and all of the FTSE stocks.
Seymour,
I'm pleased to see you're putting that link to good use.