Tâche terminée
Spécifications
This is Basket EA project.
This EA at this stage, it doesn’t use any indicators. This EA will use formula listed below or Manual price entry. This EA needs calculation of previous candles’ Open, High, Low, Close, MidLevel ( (High-Low)/2), 25% == (High-((High-Low)*25%) || (Low+(High-Low)*25%), 70% == (High-Range*68%) || (Low + Range* 68%), PP == (High+Low+Close)/3
**Range == distance from high to low
** 70%, 25%, etc.. Should be variable, so that I can input these % value.
Strategy:
Initially, at beginning of new bar, EA must wait until price reach following criteria.
Wait current price to reach certain price first. Only if price reached ActivatePricePoint, then EA will look for signal to open buy or sell. If price never reached this “ActivatePricePoint, then EA must wait for next bar and start over. *** So, each time frame, EA will have to read value for the new ActivatePricePoint unless ActivatePricePoint is set for manual price.
** This ActivatePricePoint will be an extern option that I will be able to set it manually. ActivatePricePoint
Example:
ActivatePricePoint= PP; à EA will wait until current price reached previous bar’s( h+L+C/3), then, start looking for ‘condition’ to take order.
ActivatePricePoint = MidLevel; à EA will wait until current price reached previous bar’s( H-L/2), then, start looking for ‘condition’ to take order.
ActivatePricePoint = 30% à EA will wait until current price reached xx%. So, previous bar’s high to low, if price reached 30% level, then, start looking for ‘condition’ to take order. In this settings, xx% can be calculated as (High-((High-Low)*xx%) || (Low+(High-Low)*xx%),
ActivatePricePoint = 1.50000 à EA will wait until current price reached 1.50000, then, start looking for ‘condition’ to take order.
Taking Order Condition:
This setting will be an extern option. These entry Choices should be same as above selection. Open, High, Low, Close, xx % , PP or Manual price entry
Example:
TakeLong = 25%;
TakeShort = 25%
// for this entry selectionà O,H,L,C is clear settings. if price>= then, Take Long. If price <=, then, TakeShort. But, when I use xx%, it should be calculated differently when taking Long order. So, it cannot be (High-((High-Low)*xx%) || (Low+(High-Low)*xx%),
So, TakeLong = 25%; // EA should take Prce>=( High – Range * 25%).
But TakeShort= 25%; // EA should take Price <=(Low+Range*25%)
The below is what I am looking for EA’s extern settings:
· Magic#
· TimeFrame = 5;// 5 = 5 min, 1440 = 1 day, etc…
· MaxSpread = x; // if spread is higher than x, EA should wait till spread comes down to less than x;
· ActivatePricePoint = abc123;
· TakeLong = abc123;
· TakeShort = abc123;
· Manual LotSize = xx;
· Combined TP == xx: à This is combined of all open order in the account. Basket method (So, it should be closed all under same magic#)
Example: If I have 1 order of USDCHF long + 1 order of EURUSD short + 4 order GBPUSD == Combined TP, EA should close all.
· Combined SL= xx; : same as above - basket of orders
· Individual TP = xx; // Individual TP or SL is set, EA will put hard TP and SL when place an order.
· Individual SL =xx; // Individual TP or SL is set, EA will put hard TP and SL when place an order.
*** Combined TP/SL Individual TP/SL – EA will close individually or All orders in combined, whichever comes first.
· CloseEOCifPositive = true;// if this is set to true, EA will check at the EOC (end of the current bar) for profit. If combined order’s profit>=0, close all orders. And EA must wait for the ‘new condition’ before open new orders.
· Trading Pair selection: à I need pairs listed below to be extern settings, so that I can select. IF YOU HAVE BETTER SUGGESTION ON HOW I SELECT THESE PAIRS, I AM OPEN TO SUGGESTION. I AM OPEN TO AN IDEA TO REDUCED (SHORTEN) THE ENTRY SETTINGS.
Example: If I set currency listed below = true, EA will open orders on pairs that are set ‘true’ IF CONDITIONS ARE MET. If I set this ‘false’, even if conditions are met, EA should NOT open orders.
ü EURUSD = true;
ü USDCHF = true
ü GBPUSD = true
ü USDCAD = true
ü AUDUSD= true
ü NZDUSD= true
ü USDJPY= true
ü EURJPY= true
ü GBPJPY= true
ü CHFJPY= true
ü EURCHF= true
ü EURGBP =true;
ü EURAUD=true;
ü CADJPY=true;
ü AUDNZD=true;
ü AUDCAD=true;
ü AUDCHF=true;
ü AUDJPY=true;
ü CHFJPY=true;
· TradingHours = true;
StartTrading: HH/MM;
StopTrading: HH/MM;
· OneOrderPerCandle = true; // if this is set to true, EA only open 1 order. Even if it opened 1 order and close within few seconds, EA must wait until new bar to re-assess the entry condition. If this is set to ‘false, EA will keep open new orders after closing existing orders as long as conditions are met on same bar.
· ManualEmergencyShutdown = true;// if this is set to ‘true’, EA will close all opened orders only on same magic#, regardless of its profit or loss.
· Screen Comments: I want EA to display on screen following information:
ü Magic# = 111;
ü CombinedTP = xx;
ü CombinedSL = xx;
ü IndividualTP = xx;
ü IndividualTP = xx;
ü ActivatePricePoint = pp
ü TakeLong = 40%;
ü TakeShort = 10%;
ü TotalPairSelected = 5; // number of currency that I set to ‘true’, should be counted here
ü CloseEOCifPositive = yes or no // If I have this option set to ‘true’, screen comment should note here
ü LotSizePerOrder = x;
ü Open Pairs: E/U, E/J,U/Chf, U/Cad, etc..
ü CurrentRealizedProfitLoss = xxx (if it is positive, it should display xxx… If negative, it should display –xxx)
Important Note:
I am sure this is going to use calculation and I am not sure what the CPU usage will be like. I do not want EA to refresh every ‘tick’ like some of the EAs that I have. It creates unnecessary logs and I would like coder to keep this in mind when doing the coding.
If coders feels, changing of some settings that I indicate above, will make better to program, please let me know first before change it. So, that we are on the same page.
EA must check to make sure there isn’t any Open orders before looking for another entry. As long as there is opened orders on same pair, EA should not open new orders. Example: If I have opened 1 long order of EUR/USD, on new bar, under no circumstances, EA should not open New Order until existing order of EUR/USD is closed. ** I have seen this happened with my older EAs that when market is volatile and EA triggers to close-all orders. But, somehow, broker’s execution didn’t catch up with EA and still have orders left that has not closed. Meanwhile, EA triggers new orders. THIS CAN’T HAPPENED. This is important because of FIFO rules in US and no hedging rules on same pair. So, EA needs to make sure to check this.
Any doubt or questions you may have, please contact me before do the work.
IF YOU DO NOT HAVE THE TIME OR HAVE MANY PROJECT IN PROGRESS, PLEASE DO NOT APPLY. i NEED THIS PROJECT DONE IN TIMELY FASHION.
Thank you,