Trabalho concluído
Termos de Referência
Upgrade /modify existing multi magic ea .
Existing hedge ea has following parameters coded.These are standard parameters on most professional ea templates
//--- Standard parameters
extern bool EnableLongs = true;
extern bool EnableShorts = true;
extern double Lots = 0.1;
extern double TradeMaxRisk = 0; // TradeMaxRisk > 0 so much % risk will be used, either based on SL or Account equity
extern double StopLoss = 80; // 0 deactivates Stop Loss
extern double TakeProfit = 40; // 0 deactivates Take Profit
extern double IncrementalGap = 50; // Add positions every X pips
double StartTrail = 40; // Start trail after so many pips.
double TrailingStop = 0; // 0 deactivates Trailing Stop
double TrailStep = 1; // With which increments TS moves
double GainForBE = 0; // How many pips will trigger Break Even. 0 deactivates.
double PipsBE = 0; // Level at which Break Even will be put
extern int StartTime = 600; // Start trading at 7:00
extern int StopTime = 1800; // Stop trading at 23:00; Set to StartTime for continous operation (default).
int TradeBarPosition = 0; // When 0 trade on current bar, 1=>previous bar, 2=>two bars ago, etc.
extern int MaximumSpread = 5;
int SpreadTimeout = 300; // 5 minutes
extern int Slippage = 3;
bool UseMultiMagic = false; // Allows for the same EA on the same symbol and TF
int Magic = 20429;
//---- Debugging
extern bool DoScreenShots = false; // Makes screen shots when a trade is open
UPgrade existing EA
The EA must be back testable on 4 digits as well as ready for 5 digits
Existing ea is designed to open a position , if there are no positions open .EA code to be modified to open positions only , if lwma filters are met (see lwma filters to be coded)
Existing EA places buy and sell on same pair
Existing EA will open a buy and a sell , as soon as ea is placed on a chart (in manual mode) ..
Modify EA is on default manual mode ,if manual mode disabled , it will trade automatically .Coder will code default switch to enable automatic trading .
Work manually :true /false
MAKE THE FOLLOWING MODIFICATIONS , ADDITIONS AND CHANGES
Add two indicators , lwma filter , logic for two magics ,exit logic , martingaly type mm , indicator log reading code ,self checks ,price filter , account number , expiration date
Indicators will trigger rising and falling readings :Indicators must be +80 for long modes and -80 for short modes.
Indicators have to be coded as being enabled /disabled
INDICATOR NAME :joy (see exact indicator name from indicator supplied)
I want EA to read , every close of bar , the readings for the indicator , for the currency pairs from a common log file with whatever reading are at close of bar .It should check and repeat function every 900 seconds , on all currency pairs on your indicator.
extern bool Enablejoylogs = true;
extern int joybuy = +80;
extern int joysell = -80
The whole ea will t work without this being joy= false
If joy = true ea will not work without this filter reading
INDICATOR 2 (see exact indicator name from indicator supplied)
extern bool Usestochtb15m = false;
Indicator name :stochtb15m
if(Usestochtb15mfilter)
{
// stochtb15m close on preceeding 30m candle must be greater than 80 points for long and lower than 80 points for shorts
SIGNAL 1 ARE OPENED AS A BUY AND A SELL . EA PLACED ON CHART ENTRIES semi auto option For rising signal .Manual mode(default)
SIGNAL 2 ARE OPENED AS A BUY AND A SELL . EA PLACED ON CHART ENTRIES semi auto option For falling signal ..Manual mode (default)
SIGNAL 1 ARE OPENED AS A BUY AND A SELL . EA PLACED ON CHART ENTRIES trade automatically.For rising signal 2 indicators.1 indicator is read from log files , other indicator is place on chart
SIGNAL 2 ARE OPENED AS A BUY AND A SELL . EA PLACED ON CHART ENTRIES trade automatically.For falling signal 2 indicators.1 indicator is read from log files , other indicator is place on chart
Ea has multi magics , one magic will be used for rising signals mode and second signal will be used for falling signals mode .One magic will be used for rising signals and second magic will be used for falling signals
EA TO BE SET ON RISING SIGNAL DEFAULT , IF FALSE IT WILL BE FALLING SIGNAL. THIS IS APPLICABLE TO MANUAL MODES ONLY .IN AUTOMODE IT WILL SELECT AUTOMATICALLY.
SIGNAL 1logic for rising signal
For rising signal ,, ea will place a buy and a sell on same pair
Signal 1 MAGIC 1 long buy at market / manual entry election with ea market , stop loss 2 , take profit 1
EXIT RULE TO CLOSE ALL , IF STOP IS HIT
short position short sell at market / manual entry election with ea stop loss 2 , take profit 2
Exit rule 1
SIGNAL 2 logic for falling signal
For falling signal ea will use 1 c/ 1 d.
Signal 2 magic MAGIC 2 long buy at market / manual entry election with ea market , stop loss 2 , take profit 1
Exit rule 2
short sell at market / manual entry election with ea stop loss 2 , take profit 2
EXIT RULE TO CLOSE ALL , IF STOP IS HIT
EXIT RULES to be coded
Exit rule 1 :Close trade ,if profit is 30% of stop loss value and also price below lwma 8, 18 and 30 on 30 minutes , and price is also above lwma 2,18,75 on 5 min
Exit rule 2 :Close trade ,if profit is 30% of stop loss value and also price above lwma 8, 18 and 30 on 30 minutes and price is also above lwma 2,18,75 on 5 min
EXIT RULE 3 : CLOSE ALL
After closing position WITH TAKE PROFIT , and if only 1 position open , that is either a long or a short , stop loss will be moved to stop loss 3 and take profit 3
If only 1 position is open , and it is in profit by 10 pips , ea will add a counter /opposing position with a stop of 40 and target of 10.
If any position closed with stop loss hit , HEDGE TRADING BROKEN SET UP , close all.
Additional code required for checking (to deal with requotes, missed trades , frequent requests , bucket shop tacticts (no fills))
Code:Ea to check stop loss and take profit every 15 seconds , if zero it will input ea specificied stop
In the EA I would like stop loss check and profit target and order CLOSING checks included (just in case trades are missed due mt4 brokers excuses like contex is busy , too many frequent requests ) i.e check sl , check pft and check order CLOSING every 15 seconds for upto 5 minutes
bool checksl=false;
#define ExpirationDate D'2016.01.31 0:00'
#define ACCOUNT_NUMBER -1 // Set to account number to protect
Code:Take profit 2 is 30% of stop loss value
Code ;maximum open positions long =1 , short =1 , so ea does not open more than one long and one short
Code :price filter
input bool UsePriceFilter=true;
Price filter is :Price must be 40 pips higher from the low point of last 240 minutes , for rising mode , and price for falling mode must be 40 pips lower from from the high point of last 240 minutes
Code lwma filter
input bool UseLWMAFilter=true;(Before opening a trade ea will look for following filters for rising and falling , if above lwmas it is rising signal , if below lwmas it is falling signal.
if(UseLWMAFilter)
{
double _lwma8 = iMA(symbol, PERIOD_M30, 8, 0, MODE_LWMA, PRICE_CLOSE, 0);
double _lwma18 = iMA(symbol, PERIOD_M30, 18, 0, MODE_LWMA, PRICE_CLOSE, 0);
double _lwma30 = iMA(symbol, PERIOD_M30, 30, 0, MODE_LWMA, PRICE_CLOSE, 0);
if(_lwma8 <= _lwma18 || _lwma18 <= _lwma30) _closelong = true;
if(_lwma8 >= _lwma18 || _lwma18 >= _lwma30) _closeshort = true;
double _lwma2 = iMA(symbol, PERIOD_M5, 2, 0, MODE_LWMA, PRICE_CLOSE, 0);
double _lwma60 = iMA(symbol, PERIOD_M5, 60, 0, MODE_LWMA, PRICE_CLOSE, 0);
double _lwma120 = iMA(symbol, PERIOD_M5, 120, 0, MODE_LWMA, PRICE_CLOSE, 0);
if(_lwma2 <= _lwma60 || _lwma60 <= _lwma120) _closelong = true;
if(_lwma2 >= _lwma60 || _lwma60 >= _lwma120) _closeshort = true;
}
}
extern int TakeProfit2 = 30;
extern int TakeProfit3 = 60;
extern int StopLossSecond2 = 30;
extern int StopLossSecond3 = 60;
Code partial close , partial close percentage and level of partial close pips , with external inputs .
Partial close is only valid when take profit 3 is in place.
ADD : CODES FOR ADDING AN EXISTING MARTINGALING POSITION SIZE /PROFIT MANAGER LOGIC FROM EXISTING EA .codes will be provided .
PROGRAMMER WILL CHECK ALL FUNCTIONS WORK without bugs
Enclosed text file is indicator log file , it has to be read by ea
Coder will send partial close script with expiry proof , with images of partial closed trades working correctly , before application for work can be entertained. MOST OF YOU STRUGGLE/FAIL TO WRITE PARTIAL close CODES , AND THIS IS IMPORTANT PART OF THIS EA.
I don't want an ea delivered by an amateur and I have to test every function for a whole week .It is a waste of my time , sometimes a whole week. I don't want to pay peanuts , you pay peanuts , you get a ..................to code for you.It is cheaper to pay a professional , a bit extra.After delivery of ea , coder must provide back up service, and may be required to provide information after delivery.
Coder will write text on ea with explanations. Existing ea logic supplied.