I'm an experienced software developer who uses OEC to do futures trading, but have never programmed real-time systems such as EasyLanguage or C#, and I need some help getting some scripts that will clean compile and be easily modified.
I am not (yet) a professional mark-to-market trader, so this request for programming assistance is for personal education and is *non-commerical* per *my understanding* of the ET definition. I am not seeking to market any software that anyone can help me develop. I'm posting here because OEC programmers are likely to follow this thread. I have been unable to find any OEC message boards or OEC threads where anyone is willing to do anything even slightly helpful. Even a few EasyLanguage software developers who invite requests for price quotes are either too busy or have not replied to quote requests. So now I'm trying to find someone here.
There are really three different things that I'd like to have working on the OECTrader platform, but I have so far posted a request for help in getting started with simplest of the three, because, if I could have even just a bare skeleton of working code to alert me that three EMAs have converged, I could continue developing that EMA-convergence alert script to allow testing of either 2, 3, or 4 harmonic EMAs instead of the hard-wired 3, etc.
That EMA convergence script is the simplest of the three things I'd like to implement, which is described at the bottom of this post and earlier up in the thread. The EMA-convergence signal seemed the least likely of the three that the EOC development team would have any interest in it except maybe as some kind of example of a useful script for their documentation of Custom Indicators to do something more useful than the Hello World script they provide as their only example of code.
The three things I need to have running with OECTrader, written as Parts 1, 2, and 3 below. After I asked my broker at OEC if he knew of anyone who did OEC programming for pay, he said he did not know of any, but he asked me to write up my needs and he'd pass them on to the OEC development team for their consideration. I'd pay ANYONE who can do ANY of these three things, but up to now I have only mentioned here the simplest one of the three (Part 3 below), because if I could have at least an initial version of Part 3 up and running, I could do Parts 1 and 2 myself later, as time allows. This is my wishlist:
-----------
Part 1 (Vervain Crossover--POPULAR):
A lot of trading systems are based on detecting trend changes signalled by crossovers in moving averages. A highly respected published algorithm for a trading Strategy based on research is Sylvain Vervoort's May 2008 article in Stocks and Commodities titled "The Quest for a Reliable Crossover."
VervoortCrossover.ELD is a free download written in EasyLanguage available for download if I get access to the TradeStation forums by taking the free trial of TradeStation they are offering now. If I get TradeStation, I can probably also get the TS source code and then try to port that code over to the OEC platform. A *lot* of people are very interested in Vervoort crossover, both for automated trading and for indicators on a graph. Google now shows 5190 hits for
http://www.google.com/search?source...rlz=1T4ADBF_enUS322US322&q=vervoort+crossover which I can find other versions of it for many different platforms, but nobody seems to have posted anything about using VervoortCrossover with OEC. I've been trying to find some code for OEC that would clean compile to make a Custom Indicator, not the usual Strategy to implement it, because I'd like to see it in action before converting an Indicator to an automated trading Strategy. So. Here's an implementation of it as an Indicator for thinkorswim at
http://www.thinkscripter.com/2009/03/31/vervoort-crossover/ where that post list the TOS script source code and also the nice graph I've attached as taken from that TOS forum post. I tried compiling that code on OEC as if it was EL and it has syntax errors. Also, since that's just one anonymous person's implementation, I'd really rather have the algorithm taken from Vervain's article or an "official" TradeStation implementation. Also, instead of changing colors of the indicator line to indicate crossover, I'd like to be able to put symbols on the graph at the crossover points just like they did in the attached graph for Range Exhaustion of my Part 2 where they used +1 and -1 for buy and sell signals.
TradeStation members can download a free file named VervoortCrossover.ELD compiled in EasyLanguage code for TradeStation that's probably an accurate implementation. But I believe that file is a *Strategy* that gives Buy/Sell trade signals, while what I'm looking for is an *Custom Indicator* for OEC that I can see on a graph and then use OEC Custom Alerts to play a WAV file and give a popup when those crossovers happen. If the bool variables Buy/Sell are available in a script that compiles in OEC, it would be very easy for me to have Custom Alerts test for them and, eventually, maybe use it as a trading system.
I've been posting on trader message boards and Googleing to find financial software developers who can give me a VervainCrossover indicator script that compiles with OEC ... but nobody i've found seems interested because none of them work with OEC. I could probably do it myself with a lot of learning curve if i get TradeStation and get VervoortCrossover to work on TS, and then port the script over to OEC, but that would require installing and learning TS but I'd rather just stick with OEC because I have used way too many platforms this year and don't want to learn another one and have it clog up my PC with its DLLs everywhere as most of them have done in the past.
------------
Part 2: (an interesting and unique approach to finding tops and bottoms)
If I could get Vervain's algorithm running on OEC and have the source code, I could probably adapt the source code given here for an interesting approach to finding near-term tops and bottoms based on oversold or overbought conditions:
http://newsletter.neoticker.com/200...-trading-with-simple-range-exhaustion-system/
The graph from that blog post is attached to this post, mostly to show how that author uses +1 and -1 to indicate buy and sell points as an alternative to changing the color of the price line.
While the Vervoort graph changes the MA from red to green to signal a crossover, an alternative would be to put symbols on the graph at the crossover points. I'd really like to try out the range-exhaustion algorithm on OEC and also have it play a WAV file when those buy and sell points occur. Since this range-exhaustion algorithm is not public domain, you'd almost surely need permission from the author, Lawrence Chan (and maybe Neoticker also) before you could "publish it for commercial purposes."
-----------
Part 3: (a very "simple" Custom Indicator to alert for MA convergences Last price in order to signal a possible reversal point)
I spend a lot of time flipping back and forth between all my charts looking for points where moving averages of different lengths converge to a point. I've previously posted a graph of 6BZ9 on BoE's recent announcement day with MAs of 21, 42, 84, and 168 as their period lengths. I'd like to have OECTrader play a WAV file to alert me when either of two, three, or four (as set by Properties) of the EMAs converge with the last price, but it's a little complicated to put into Custom Alerts because the EMAs won't usually be *exactly* equal. It would be a tremendous help if I could program a Custom Indicator to tell me when the harmonic-length EMAs converge to a point with Last price usually starting a fan-shaped expansion that usually accelerates rapidly. It would be nice if the "exactness" could be made an adjustable parameter under Properties so the script doesn't need to be recompiled to change it. Call that variable SLOP (positive int). If the three moving averages are MA1, MA2, MA3, and LAST is the price, with everything in int ticks, then i'd code up this script to sound a Custom Alarm to alert me to look at the chart and consider taking the trade whenever ALARM becomes true in this pseudocode that's always testing convergence of a hard-wired three harmonic EMAs (a later version will allow the number of harmonic EMAs to be specified under Properties as either 2, 3, or 4). Making the # of EMAs variable makes testing their convergence more complex than adding two and subtracting two to compare the sum against SLOP. To take it even further, I'd eventually like to have the script pop up a prepopulated bracket order for this commodity to either buy or sell, depending on whether LAST is above or below the EMA convergence point. Here is some pseudocode:
bool ALARM = false
int SLOP= {inherited from Properties of graph's Custom Indicator, allow values of 0 to 10}
float LAST = {last price of commodity on this graph, inherited from graph being displayed}
int BASEPERIOD = {user defined period length of shortest EMA, inherited from Custom Indicator Properties}
float MA1 = "EMA for BASEPERIOD" {short EMA inherited from graph}
float MA2 = "EMA for BASEPERIOD*2" {medium EMA inherited from graph}
float MA3 = "EMA for BASEPERIOD*4" {long EMA inherited from graph}
if [ABS(INT(MA1 - MA2 + MA3 - LAST)) <= SLOP]
then ALARM = TRUE
else ALARM = FALSE
endif