Perhaps you could specify it so there are a number of user-adjustable parameters or "knobs" that you can manipulate after the final product is delivered. So you can change your mind later, so you can run it on new stocks / futures / forexpairs / options as they pop up from time to time in the future, so you can adapt to changing market conditions. You don't have to tell the programmer what values of parameters (settings of knobs) you intend to use.
For example, suppose your magic system is the following (long only for brevity):
For example, suppose your magic system is the following (long only for brevity):
- Filter1 = RSI(14) > 60
- Filter2 = Sentiment < 33
- If Filter1 AND Filter2 AND (SMA(Close,10) > SMA(Close,50)) then buy to enter long
- If (daysintrade > 50) OR (Close < SMA(Close,5)) then sell to exit long
- Knob1: Use filter1, yes or no?
- Knob2: Number of days in RSI?
- Knob3: Greater than, or less than?
- Knob4: RSI threshold value
- Knob5: Use filter2, yes or no?
- Knob6: Greater than, or less than?
- Knob7: Sentiment threshold value
- Knob8: Use filter3, yes or no?
- Knob9: Number of days in ADX?
- Knob10: Greater than, or less than?
- Knob11: ADX threshold value
- Knob12: Number of days in first SMA?
- Knob13: first SMA of what? Close? ((H+L)/2)? ((O+H+L+C)/4)?
- Knob 14: Number of days in second SMA?
- Knob 15: second SMA of what? Close? ((H+L)/2)? ((O+H+L+C)/4)?
- Knob 16: daysintrade threshold value
- Knob 17: Exit clauses combined by AND? by OR?
- Knob 18: Exit MA is Simple? Exponential?
- Knob 19: Number of days in exit MA?
- Knob 20: Greater than, or less than?