Is there an instructor in the house? - page 3

 
TSWilson wrote >>

Hi Huckleberry (and other newbies)


I think the point you make about the way you like to learn is important. It seems to me that one problem is that different people have very different approaches to learning.


I have even come across quite a few people in my time who say that they cannot learn from books and need personal teaching or mentoring.


While thinking about what and how to write and the best way in general to teach someone new to programming how to program in MetaTrader, I stumbled across a series of 5 articles in this forum about programming in MQL4 for beginners. You can find them by doing a search on "MQL Language For Newbies". They are translated from Russian, which makes the language a bit strange in places, but they don’t look too bad at a quick glance.


I would be interested in your’s or anyone else's opinion about this series of articles - Their strengths and their weaknesses.


Does something like this do the job for you? There seems to be no point in reinventing the wheel.


From my own experience, I occasionally come across a technical book that really "talks to me" while many others do not. I think that this is more about stumbling upon a book that connects with my learning style and current level of interest and knowledge rather than disparaging the authors of all the other books. I must say though, that in my experience, not all books on a given subject are equal.


Regards

Tim

Hello TSWilson (and all others)

Yes. You hit that right on the head. Each person has their own way of learning. Thank you for taking charge. Your advise for me to read certain threads, is well taken. I'll get back with you later as to the impact the threads had on me. I'm a reader, but I prefer trial and error. I want my hands on the project. Then sit back and investigate as to what just happened. Where did I go wrong, more so than, what went right. Let's make it better next time with a tweak here and there. My problem is keeping the project organized. I've got projects all over my garage. LOL. Just ask my wife.

Have a good evening.

Regards

Huckleberry

 
Huckleberry:

My problem is keeping the project organized. I've got projects all over my garage. LOL. Just ask my wife.

For what its worth, here's how I organize myself with regard to EA projects.


- Name your files in a scalable manner - ie. the filename should identify the EA (strategy), the major release and the minor version

- Create an EA Projects umbrella folder under which you should create a) a folder for each separate EA (strategy) and b) a Version Control spreadsheet (see below)

- Under each EA (strategy) folder, have a) a EA Source folder, b) an EA Object folder and c) a Data Dictionary spreadsheet (see below)

- Under the EA Source folder, have each version of the mq4 file for that EA (strategy), sorted so that they're in major release/minor version order

- Under the EA Object folder, have a folder for each version of that EA strategy named <EA name Major Minor> Kits, sorted so that they're in major release/minor version order

- In each Kits folder have the corresponding version of the ex4 file, along with a txt file of Release Notes (see below)


Version Control Spreadsheet:

Columns - Name, Strategy Description, Variants, Version Number, Bug Fixes, Improvements, Known Issues/Limitations

Rows - Each new EA (strategy) will update all columns

Each new version of the same EA (strategy) will update the Version Number, Bug Fixes, Improvements, Known Issues/Limitations columns


Data Dictionary Spreadsheet:

Columns - Construct, Type, Object Name, Default/Parameters, Range/Returns, Purpose, Accessed By

Rows - Either a variable or a function

Example for Variable:

Construct - Extern

Type - Int

Object Name - MyInteger

Default/Parameters - 0

Range/Returns 0-9

Purpose - A counter

Accessed By - init(), start(), fnMyFunction()

Example for Function:

Construct - Function

Type - Bool

Object Name - MyFunction()

Default/Parameters - int - number of open orders

Range/Returns - 0/1

Purpose - takes input of the number of open orders and returns 0 if none exist or 1 if some exist for current symbol

Accessed By - start()


Release Notes:

Include Name, Author, Release Date, Improvements, Bug Fixes, Known Issues/Limitations, User Instructions


Hope this helps.

CB

 
cloudbreaker wrote >>

For what its worth, here's how I organize myself with regard to EA projects.

- Name your files in a scalable manner - ie. the filename should identify the EA (strategy), the major release and the minor version

- Create an EA Projects umbrella folder under which you should create a) a folder for each separate EA (strategy) and b) a Version Control spreadsheet (see below)

- Under each EA (strategy) folder, have a) a EA Source folder, b) an EA Object folder and c) a Data Dictionary spreadsheet (see below)

- Under the EA Source folder, have each version of the mq4 file for that EA (strategy), sorted so that they're in major release/minor version order

- Under the EA Object folder, have a folder for each version of that EA strategy named <EA name Major Minor> Kits, sorted so that they're in major release/minor version order

- In each Kits folder have the corresponding version of the ex4 file, along with a txt file of Release Notes (see below)

Version Control Spreadsheet:

Columns - Name, Strategy Description, Variants, Version Number, Bug Fixes, Improvements, Known Issues/Limitations

Rows - Each new EA (strategy) will update all columns

Each new version of the same EA (strategy) will update the Version Number, Bug Fixes, Improvements, Known Issues/Limitations columns

Data Dictionary Spreadsheet:

Columns - Construct, Type, Object Name, Default/Parameters, Range/Returns, Purpose, Accessed By

Rows - Either a variable or a function

Example for Variable:

Construct - Extern

Type - Int

Object Name - MyInteger

Default/Parameters - 0

Range/Returns 0-9

Purpose - A counter

Accessed By - init(), start(), fnMyFunction()

Example for Function:

Construct - Function

Type - Bool

Object Name - MyFunction()

Default/Parameters - int - number of open orders

Range/Returns - 0/1

Purpose - takes input of the number of open orders and returns 0 if none exist or 1 if some exist for current symbol

Accessed By - start()

Release Notes:

Include Name, Author, Release Date, Improvements, Bug Fixes, Known Issues/Limitations, User Instructions

Hope this helps.

CB

Hello CB

Thanksfor taking the time to help organized the projects that will take place. As I mentioned earlier in this thread, I'll just did to understand the jargon that you have mentioned. The site is getting more familiar to me and will have specific questions soon, again to understand the jargon. With your info, and the help I have recieved from Niko, and TSWilson, I've got a good launch pad.

Good Trading

Huckleberry