''\end_of_program' - unbalanced left parenthesis' ERROR is driving me crazy ! - page 2

 
Files:
 
Hi Doug

Before you delete and re-enter the code I suggest you step back and think about your objective. As I understand it, you wish to limit the amount a trade can go against you. If that is all you want to do, then another (better) solution may be to set a stop-loss when the order is placed. (I see that neither of the two OrderSend() functions have stop loss set.)

It can be dangerous having orders open without protective stop-losses in place. If your EA stops for some reason or your internet connection fails you could have an unprotected open position.

It's a bit off programming, but you mentioned that this EA uses a Martingale strategy. Martingale relies on recovering from losses by increasing the lot size for the next order. This means drawdown can be huge, but necessary for the strategy to work. If you use a stop-loss or exit earlier you will prevent Martingale from working properly and it will be less profitable or even loss-making. If you don't want to accept such large drawdowns, an alternative may be to start with much smaller lot sizes.

The approach this EA uses is way outside my comfort zone for risk due to the unprotected positions and Martingale strategy. However, that is a personal decision.

On more technical matters...

File handle:
I think of the file handle as a unique reference number that the operatiing system uses to identify the file you are dealing with. I'm sure others could give you more exact definitions, but for practical purposes that'll do. When opening the file, just assign the return value to an integer variable with a meaningful name and use that variable in subsequent file functions. It it wise to check its value after opening the file because if it does not open the file successfully the value will be -1. You then know not continue to use the file and perhaps print an error message instead.

void:
All functions have a type just as variables do. The type of the function is that of the variable returned, e.g. if the function returns a double then the function must have type "double." However, when no variable is returned functions can have type "void." In these cases the return statement must have no return value, i.e.
return;
as opposed to
return(variable);

Editor formatting codes:
On occassions I have seen the colour coding not work when I have uncommented large sections, but it fixes itself without problems. I really don't think this will be a source of your errors.
Incidentally, you can show all the formatting symbols in Microsoft Word just as you used to in WordPerfect. Hover your mouse over the toolbar button that looks like a backwards P and you will see Show/Hide.

for, while, etc.:
I think the problem of unbalanced parentheses is due to the unclear structure of the code. ( ) are used in these loop statements and functions to contain values passed to the function. { } are used to group code into blocks. You must be absolutely rigorous with syntax and how you use the parentheses. For example, if a parenthesis follows a missing semicolon or if there are not enough arguments before it, the parenthesis will not be recognised properly. Then it doesn't matter how much you count them or comment them out, errors will remain.

I don't want to dampen your enthusiasm, but these points are fairly basic aspects of programming in any language. I suggest you spend some time writing and debugging a simpler project, e.g. a simple indicator. It would be a better way to get programming understood so you can concentrate later on what you are trying to achieve rather than deal with programming and the problem at the same time.


I hope this helps.


Cheers
Jellybean
 

Hi JB et al,

To anyone starting to read this, except for a little bit at the end of it, this does not directly relate to my programming problem but falls under the category of indirectly related matters and building an online relationship, kinship and friendship and comradery between myself and JB and for that matter anyone else that wants to and ‘connects’ with me at this level. I could of sent it to him/her? privately but I believe that there is a place for the social development of these things in an OnLine community such as this and that it does contain things of value to this as such. If you have no interest in this aspect, please skip down to the last paragraph where I start to respond to JellyBean’s specific information, feedback and advice on my programming problem and education. I will close this lengthy response to JB there and then will continue to directly respond to JB’s very much appreciated assistance in my next response.

First off I want to correct a statement that I made about my programming experience: that I have none. While this statement is accurate as to programming computer applications such as are encountered here per say. I do have significant computer programming experience, but in a different and a very highly exacting field. Before my health crashed a few years ago, one of the various types of work that I did was as a machinist which is probably the most technical of all the trades and there are a lot of very sharp people in it. While most of my machining was a very wide variety of manual machining, I did have significant experience on CNC (Computer Numerically Controlled) machining. In theory everything should be very straight forward and turn out exactly as the machine is set to cut regardless of if it is set directly manually by a machinist or by a computer. However in practice this is definitely not the case MOST of the time. Thus when I ran a CNC I almost always modified and improved on it and optimized the machining program. Initially I taught myself at the machine as I was not the person who wrote the programs. This is especially true for new programs that have not been run yet and are considered as being ‘un-qualified and there are lengthy, very involved and specific procedures to follow in these cases. The potential for significant damage to both the machine and the work piece are very significant at all times. Likewise there is always considerable risk of significant injuries and even death from machining mishaps, regardless of the cause. Like many (industrial) accidents, including automobile crashes, they happen so fast that they ONLY way to avoid them is BEFORE they happen! Once it has begun, it is too late and then things are in the hands of the Fates. I had my share of them and witnessed many such incidents during my years in shops. Being unable to carry out any sort of ‘normal, regular types of jobs because of my significant and very unstable health problems, I have been reduced to living well below the poverty level for quite some time now. After I was in this position for a while, I set out to try and make a living on the internet that was within the limitations on me. I searched for quite some time but alas almost all of them were pyramid schemes/scams of one sort or another. A couple of years after this I realized I have a very valuable set of highly specialized knowledge and experience that I could draw on: my machinist skills. I want to interject something that has stuck with me for many years now. When I was younger, though I have always been and am very curious about just about everything which includes examining things from many very different angles, aspects and approaches and am frankly quite fanatical about finding the ‘truth’ I nevertheless tended to see things much more in black and white than I do know that I have more life experience. Most things, including things that are viewed from outside an activity that seem quite simple and straight forward, almost everything has a lot of subtlety to it. At one point in time many years ago, I was designing and building a set of computerized guitar controls. This included everything from the actual computer that had to be powerful enough to respond in real time yet be small enough to fit inside of a guitar and all of the various controls, effects and devices that it would operate. At that point in time these parameters were significantly more challenging of a task than it is today. While I was climbing this very steep learning curve, one of the many electronics resource books that I used always started of each chapter with a one sentence statement. The one that I remember is: “Experience comes before Expertise, even in the dictionary!” There is no substitute for ‘time in’ and ‘paying ones dues’. This applies to pretty well everything and most definitely to the ForEx. While I was searching the MQL database for assistance with my current programming problem I encountered a response from one person that said that he had personally coded over 500 different ForEx AEs! Wow!!!

So I decided that I would set up a contract CNC programming business. I can do it for anyone anywhere in the world with access to the InterNet and preferably a telephone as well and speaks the same language as me, which unfortunately is only English. A great many North Americans tend to be rather impoverished in this area when compared to many other parts of the world. Fortunately for me English is the international language of both science and aviation and is on the path of becoming the first globally universal language. Though time will tell. The first thing I set out to do was to refresh and upgrade my CNC programming skills. So far I have taken four OnLine courses from someone that is a walking encyclopedia on the subject, though his specific expertise is confined to the defacto standard make of CNC controller in north America. The theory and practice is all applicable regardless, though there are a VERY wide variety of proprietary differences in different CNC controllers and programming code: there are currently over 2,000 of them which is a real pain)< 8) He also does traditional courses and classes, including teaching other teachers in this subject. He has put thousands of people through the 4 courses that I have taken from him so far, with each course being between 200 ~ 250 hours of work per course for me. So far my marks have been 98%, two 99% and one 100%. I also found a number of errors in the courses that no one, including the instructor had picked up on prior to me finding them. So in a VERY real sense, I have significant programming experience. Though the application is in a specific vertical market, albeit a very large one, this is a field where mistakes can be and ARE literally catastrophic both in terms of equipment, work pieces and people. I have operated and programmed on machines that are well into the 7 figure range, and work pieces that have been in the same price range as well. Over and above this is the fact that it may be a crucial, critical part of something that if it is not finished correctly may ultimately put a great many more people with a significantly higher monetary loss in jeopardy. Thus with this comes a very significant and real responsibility and potential liability. I program for work pieces that are proprietary as well as some that are ‘classified’. Believe me, that steel is a lot harder to put back on once it is removed, and it is challenging enough to ‘remove’ it properly to start with. There was many a time I wished that I was working in a balsa wood mill! I have personally machined and continue to and program, and hence in essence machine, within tolerances of 1/10,000 of an inch! In North America if I need even tighter tolerances and the machine has the capacity, I will switch over to programming in metric for the specific parts of the work piece that need it. The setup technicians, machinists and CNC operators just hate it when I do it though. LoL (< 8) Unfortunately most work pieces seem to get made into scrap metal when they are just about finished and have had in some case hundreds or even thousands of man hours into them already )< 8)

My personal record of ‘making scrap metal’ was over a half million USD and had hundreds of hours into it before it came to me for it to be finished (off!). There was many a time that a welder saved my ass! It is VERY frustrating to have one cut that is just 1/10,000 of an inch past the spec or because a certain area has a finish that is ‘just a little bit off’ of the requirements. This is a field of computer programming where there is absolutely no room for any error at any time EVER! Once I have the program ‘finished’, which is done on specialized editors similar to the ones for MQL that highlights and color codes different aspects of the programs as well as notifies errors in it. I then run it through at least 5 different simulators and then refine it so that it as close to being ‘qualified’ that I can make it virtually. It is almost impossible for someone that does not have significant personal machining experience to be an effective, safe, competent and successful CNC programmer. Decades ago I had a teenager ask me what a machinist does? I thought about it for a minute and replied EVERYTHING that is manmade was either made by a machinist, or they made the machine that made the product, or made the machine that makes the final product, etc

Enough already, back to the matter at hand!

I'm just starting to read your response, advice and further assistance JB.

You start off with good advice to utilize a Stop Loss which I agree would be a very sensible and readily available and an easy, ready solution to my problem. However the original author of this AE terms it as something like a 'Price - Action' EA There is a 2 page info/instruction with it and I will upload it here. Alas your very sensible solution will not work in this case. They way this EA trades, it always shows the amounts as being zero for both the T/P & S/L entries! It only has data and shows it for the opening and closing prices for the trades it makes. I even have a nice little commercial EA that works in conjunction with most other EAs that is a 2 stage TSL that over-rides any other TSL that may be in place from either a manual trade or ones made by other EAs. Likewise with the way this EA trades, it will not work with this one.

See you again ‘Down the Road’ in a little bit JB (< 8)

 

Hi Doug

Before you delete and re-enter the code I suggest you step back and think about your objective. As I understand it, you wish to limit the amount a trade can go against you. If that is all you want to do, then another (better) solution may be to set a stop-loss when the order is placed. (I see that neither of the two OrderSend() functions have stop loss set.) If your EA stops for some reason or your internet connection fails you could have an unprotected open position.

I will just type in the new identical code (unless someone has spotted fundamental mistakes in it) below the section and rem out the old ones initially. As I copied and pasted all the lines dealing with order errors I only really put in a couple of lines of code and frankly am quite dumfounded at all of the trouble I am having with such a minimal addition. Speaking of which, though I think I mentioned it prior to this, I will leave the error handling aspects out of it initially until I can get the logic and order code working correctly and then put the error handling back in to it.

It can be dangerous having orders open without protective stop-losses in place.

I’m fully in agreement with you and though my ForEx tutor had me stop using S/Ls for a while on my demo account that I use for this as I was always playing it to safe and not leaving enough room for the trade to make a profit before it got stopped out by me S/L points. My progress has been very slow because I have had to cancel out on so many of our sessions. Amplifying it was the fact that that almost all of my trades were all losers, partially from the basic mistake I was making mentioned above. I told him, as well as some other interested people with the extremely poor winning/losing trade ratio was so bad that if I wanted to get at least some successful trades that after I had decided how and what the trade should be, that if I did the exact opposite I would be doing a hole lot better (the hole is where all my demo dollars are piling on top of the real ones from my early Live trading account). I am very happy that in the practice trades that I have been making for my course work the last couple of weeks that I am batting about 50/50 now. As it stands, that isn’t great, but compared to where I was at and how poorly I was doing, this is definite and significant progress for me and I was starting to think that I wouldn’t be able to be a successful trader as I know this is not that case because I am very successful at being self taught in a VERY wide range of subjects and know that if others can do it, I have the capacity to do it as well. So it is relative and seeing the numerous green bands of my T/P trades rather than them all being the pink S/L ones as well as the ones that were just outright losers has given me some encouragement and I am starting to get more confidence as my success has improved.


It's a bit off programming, but you mentioned that this EA uses a Martingale strategy. Martingale relies on recovering from losses by increasing the lot size for the next order. This means drawdown can be huge, but necessary for the strategy to work. If you use a stop-loss or exit earlier you will prevent Martingale from working properly and it will be less profitable or even loss-making. If you don't want to accept such large drawdowns, an alternative may be to start with much smaller lot sizes.
The approach this EA uses is way outside my comfort zone for risk due to the unprotected positions and Martingale strategy. However, that is a personal decision.

Firstly, I don’t think that the methodology and algorithm are off topic as one can’t begin to quantify them in code until they know very clearly what they are. The more that is known about it and the better and clearer the understanding of them is is crucial to programming them effectively and needs to be the starting point in any successful EA.

I understand the implications of the Martingale approach and the need to be wary. Though as I indicated there are adjustments to it that can and does ‘tone it down’ and make it a safer bet. Your comment about both the lack of the S/L coupled with the Martingale are well founded. As it currently stands if you put this on a (demo) account and let it run for a while, which I have done a number of times, it doesn’t take long for it to bleed copious quantities of red until there is no more ‘blood’ left in it to be drained. I have done this a number of times and the rate that it both makes and loses money as it currently stands is quite amazing. I have used it enough and experimented with the settings enough that I am very confident that in spite of the aspect of it being a Martingale system, that there are more than enough winning trades to overcome the ones that get cut off before they go into the hole much. Depending on the settings, all of the trade amounts start off very low, even with the settings set more aggressively it still starts of fairly low. Though it initially had the default maximum lots (per trade or all of them added together? I’m not sure which yet) set at 5 lots and the maximum margin allotment at 40%. I have cut the maximum lot size down to 0.5 and the maximum margin allowed to 10% and at these levels it is still very productive. Though having watched it in action, I am VERY confident that with the ability to place S/L and then optimize it to find the right balance of still giving it the chance to turn around into profit, and closing it out once it has gone too far into the red that this little EA will be very profitable on any currency pair, on any time frame (though in my limited experience the rate that it trades at I would definitely say that it qualifies as a scalper and as such I have run it on 1 minute charts) and in any market conditions. The winners can very quickly add up to very sizable amounts, some in the hundreds of dollars range, though there are some that get cut of very early as well: below $1, which is fine. From watching it I would say that somewhere between $5 ~ $10 USD would be a good S/L point. In the info sheet by the author, you will see that he said that he always traded it on 0.01 lot sizes. He also has a minimum time of 91 seconds before a trade could be closed out as that was the minimum that his broker would allow. I have checked with my broker and they have no minimum trade time and allow scalping. Though there minimum is 0.1 lots. I have the same knowledge and instincts that you have about being VERY wary of the Martigale aspect and I would NEVER trade this EA on a live trading account as it stands. Not even if I was sitting there to close out the losing trades manually. I can’t keep up to it on only one pair. Once has what is a very minor change to it that will allow it to safely achieve the significant potential that it inherently has, I will put it on all 17 pairs that my broker has at once. I have opened an account for my ForEx tutoring with a broker that trades in 0.01 lots, though it is on a standard lot of $100,000 and not a mini account of $10,000 so in this instance it isn’t really any different than the one I currently utilize.

On more technical matters...

File handle:
I think of the file handle as a unique reference number that the operating system uses to identify the file you are dealing with. I'm sure others could give you more exact definitions, but for practical purposes that'll do. When opening the file, just assign the return value to an integer variable with a meaningful name and use that variable in subsequent file functions. It iis wise to check its value after opening the file because if it does not open the file successfully the value will be -1. You then know not continue to use the file and perhaps print an error message instead.

Like you I think it is an unique file identifier, though for the error logs at the end of the program he is using file names, I doubt if it matters. When I have made changes to the S/L section that I spliced in so that it doesn’t flag any errors, it then always comes up with the first error in his ‘void Write(string String)’ statement. I have changed the ‘Write’ statement to the appropriate one to save it as ASCII text in the csv format. It also kept going nuts and his usage of the reserved term ‘string’ so I changed that to

string String = AlphaNumeric;

init String;

void FileWrite(), (string AlphaNumeric);

Continued . . . ===>

 

138

Jellybean 2009.10.18 05:01

Continued on ====>
void:
All functions have a type just as variables do. The type of the function is that of the variable returned, e.g. if the function returns a double then the function must have type "double." However, when no variable is returned functions can have type "void." In these cases the return statement must have no return value, i.e.
return;
as opposed to
return(variable);

Hmm, I understand what you are saying, but to me part of it seems reversed. I would think that the reserved, or for that matter uniquely created and defined function would be the ’type’ of the function, and that the ‘variable’ would be what is placed into the pair of parentheses immediately after the function. After all, it IS the content contained between the parentheses that does indeed actually ‘vary’ and can be anything so long as it is the appropriate type of information for that function. What do you think ?

Also, there are actually 2 questions that I have and am unsure about in your response:

The first one being an actual void statement like the one that was originally in the code:

void Write(string String)

or the one I changed it into:

string String = AlphaNumeric;

init String

void FileWrite(), (string AlphaNumeric);

This is as opposed to me wondering if when I am utilizing the ‘double’ defined function ‘LosingTrade’ that I created and if it should be ‘LosingTrade() as the specific trade has already been selected by the ‘SelectTrade()’ function as most of the other functions are? Though looking at the existing code (that worked just fine until I amazingly managed to totally mess it all up with adding only a few simple lines of code!), the numerous defined functions in the program such as ‘MaxBuys’ don’t have any subsequent value attached to them within parentheses which goes back to and supports your statement in the section immediately preceding this one as them actually being the ‘variables’ themselves.



Editor formatting codes:
On occasions I have seen the color coding not work when I have uncommented large sections, but it fixes itself without problems. I really don't think this will be a source of your errors.
Incidentally, you can show all the formatting symbols in Microsoft Word just as you used to in WordPerfect. Hover your mouse over the toolbar button that looks like a backwards P and you will see Show/Hide.

I vaguely remember encountering that capacity as well many years ago, but wasn’t quite sure. Before I ‘rewrite it’ I’ll use it to see what, if any hidden codes are there. As I said I already copied and pasted into Word to check and highlight and count the instances of both the right and left parenthesis which works just fine, but it forces to much of its own formatting onto the code so that when I copy and paste it back into the MetaEditor, it is totally messed up as far as it being valid MQL code anymore.

I think the problem of unbalanced parentheses is due to the unclear structure of the code. ( ) are used in these loop statements and functions to contain values passed to the function. { } are used to group code into blocks. You must be absolutely rigorous with syntax and how you use the parentheses. For example, if a parenthesis follows a missing semicolon or if there are not enough arguments before it, the parenthesis will not be recognized properly. Then it doesn't matter how much you count them or comment them out, errors will remain.

I tend to agree with you on this, after all there is hardly anything else there and I most certainly don’t have anywhere near a clear understanding of the proper syntax as of yet. I will go over your info on this in more depth as well as checking out the dictionary and looking at other program examples until I get a much better idea on ‘what to do == true’ and what ‘!NOT to do’ Puns intended (< 8). You also pointed to my incorrect usage of the loop structure which obviously needs to be correct(ed):

for(argument1: defining, conditional statement)

while(argument2/conditional statement)

(argument 3, step the Boolean decision counter)

break

I don't want to dampen your enthusiasm, but these points are fairly basic aspects of programming in any language. I suggest you spend some time writing and debugging a simpler project, e.g. a simple indicator. It would be a better way to get programming understood so you can concentrate later on what you are trying to achieve rather than deal with programming and the problem at the same time.

I appreciate your advice and viewpoint on this matter and understand the validity of it, but frankly it really doesn’t get much simpler than what I am trying to do as opposed to starting to make something completely from scratch. While I recognize the value of this learning approach, as I indicated before I have boxed myself into a corner very badly and need a fast way out. This is a matter of necessity and priorities for me NOW which rules out the approach you suggest. I don’t need/want an indicator or a script at the moment, but I do NEED to get this working ASAP. I will get it working and it will either be successful or I will rule it out as a loser and then quickly move onto plan B. I am neither deluded nor a fool (though we all have our moments (< 8). If I felt that I didn’t have a very high chance of this being (very) successful, I would not be doing it at all at this point in time. To say that my plate is currently very full is an understatement. I’m not sure if you are aware of it, but some time ago I posted a thread asking for feedback on starting learning MQL4 coding now or to wait for MT/MQL5 which is (supposedly) very close at hand. There was a range of responses, with a great many of them starting off with telling me a number of things that would and wouldn’t be in MQL5 as compared to MQL4, and then after making an argument for and presenting facts to suggest and support waiting for MQL5, and then everyone turned around turn around and made the recommendations that I start MQL4 immediately. I don’t think that there was actually anyone that said to wait in spite of much information to the contrary. When I thanked everyone for their input but said that there were a great many other circumstances in play for me and I would wait for MQL5, I think that unfortunately many people took it as a personal affront. However, like everyone else, no one but me can make such a decision for me. After I get a few fires that are currently out of control put out, I can come back to this in a lower pressure and more orderly fashion when I am able to.

I hope this helps.

You have been and continue to be very helpful with is overly inflated programming fiasco over something that will likely end up being something very minor. Mind you things always look easier and simpler after you have learned and know them and have experience in them. They don’t call them learning curves for nothing. As we both know, a simple little { or ; may be the source of all my frustration and problems. However I am persistent and will get this (minor?) difficulty sorted out and overcome it. Nothing like new, modern, simpler and easier to use programming languages. !NOT This is like DOS command prompt interfaces from 30 years ago before GUI where a misplaced punctuation mark or using a lower case letter when the word was supposed to start with a Capital and everything comes crashing to a (sometimes catastrophic) halt. Computers are still very stupid and retarded in many ways. For the first couple of decades of personal computers they really didn’t have enough power to really be of any significant use to the average consumer. I think it was scientists and technicians that recognized their usefulness for specific computational tasks that carried them long enough to get them this far where they have broad significant capacities now. It’s interesting that virtually everything in our modern day technological society was foretold by futurists, (science) fiction writers, scientists, technologists and inventors. Lots of people correctly predicted the huge massive and very powerful mainframes and super computers that large corporations, governments and scientists would have and utilize, including of course ‘Big Brother’. But to the best of my knowledge NO ONE foresaw the micro computer revolution with the plethora and cornucopia of applications that would become available because of them.

I’d like to think that this is ‘Much Ado about Nothing’ but that is not obviously the case for me at this point in time, which it should be.

So I say yet again: ‘Once more unto thy breach!’


Cheers
Jellybean

Regards,

DougRH4x

PS: It is obvious that the text info/description file isn’t up to date with the more recent versions of this EA that we have
 

Is this a valid representation of the proper loop structure ?

for(argument1: defining, conditional statement)

while(argument2/a function is performed when the 'for(argument1' is == true

(argument 3, step the Boolean decision counter)

break

.

.

On the subject of syntax and formatting, while I have been changing the parenthesis and brackets in efforts of trying to get rid of my ‘end_of_program’ - unbalanced left parenthesis

error I end up with a lot of the following error as a result. I am struggling to get clear of what this is, what causes it, and how it needs to be formatted and have the correct syntax to avoid them

‘Various’ – expression on a global scope not allowed

 

Hi Doug


The weekend is over now and I will have little time left after work and other commitments (including going away for a few days), so my responses will be fewer and further between.


string String = AlphaNumeric;

This is declaring a new variable of type string. String is the variable name you've chosen, and you are assigning the value of the variable AlphaNumeric to it. Avoid using variable names that look so similar to reserved words, they confuse the !!!! out of everyone.


void Write(string String)

This looks like the definition of a new function that has type void and takes an arugument of type string that you have called String. However, it is incomplete because there needs to be a body of code enclosed within { }. I doubt that you are intending to define a new function, though. I'm not sure what you are trying to do with this one.


for( ; ; )

I think you have the idea, but the terms you use not standard. The best description is in the book. The first part in the ( ) declares what variable to use, the second tests it and the third acts on it. I would read this for statement

for ( i=0; i<iMax; i++ ) { }

"for i equals 0, while i is less than iMax, increment i" and what is within { } is executed each time.


expression on global scope not allowed

This indicates code outside any function, including start(). Probably caused by incorrect { }.


Finally, I always start with a clear description of what I'm trying to do in words. Not just "exit losing trades early," but very specific, for example, "if the trade is a buy and the price moves more than x points below the entry then sell." I think you need to do this to help clarify the structure of the code you need.


Gotta go.

Jellybean

 

Hi JB,

Currntly ty-ping wit 1 hand & i'malreadiy terribl with2!

most ofhat u r refering to were part of the original program.

the only yning I added was the coplu of [lobic] lines of the conditional loop

I believe as well thst my imprpoer usage of th loop structe along with incorrect syntax and ; &, r the problem

i recognized the attemptd to utilze yhe reserved word string' like epetedly for 3 different puposes, lrt alone all in ony line is a VERY BAD idea. which is why I changed it and got rid of 1 of them. I will change the other one as well and only use it once as for its intended pupose of idedifying the type of data being used.

thanks again for your assistance!

Enjoy ur R & R

 

WB JellyBean,

I hope you had some nice R&R

The tip that you gave me that it wouldn't matter if the syntax & punctuation being off that it will not be correctly shown, resolved, accounted for gave me the tip that I needed.

I asked Rosh about the MQL4 programming 'book' that you mentioned and got the URL for it and that has been a lot of help.

I haven't got the program finnished and working the way that I want it yet, but now have the tools that I need to have in order to be able to do it.

. Thanks again,

. . DougRH4x

 
DougRH4x:

WB JellyBean,

I hope you had some nice R&R

The tip that you gave me that it wouldn't matter if the syntax & punctuation being off that it will not be correctly shown, resolved, accounted for gave me the tip that I needed.

I asked Rosh about the MQL4 programming 'book' that you mentioned and got the URL for it and that has been a lot of help.

I haven't got the program finnished and working the way that I want it yet, but now have the tools that I need to have in order to be able to do it.

. Thanks again,

. . DougRH4x

Hi Doug

I'm pleased to have helped.

Cheers

Jellybean

Reason: