Isn't that what AccountEquity() gives you? The following would do like you say,
assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
You'd drop this EA onto your GBPUSD chart and set required profit.
extern double required_profit = 100; int start() { if ( AccountEquity() < AccountBalance() + required_profit ) return( 0 ); int slippage = 1; for ( int i = OrdersTotal() - 1; i >= 0; i-- ) { if ( ! OrderSelect( i, SELECT_BY_POS ) ) continue; switch ( OrderType() ) { case OP_BUY: OrderClose( OrderTicket(), OrderLots(), Bid, slippage ); break; case OP_SELL: OrderClose( OrderTicket(), OrderLots(), Ask, slippage ); break; default: // All pending orders OrderDelete( OrderTicket() ); break; } } return( 1 / 0 ); // This division by zero might stop the EA from getting invoked again }
richplank, that sounds like the sort of EA I need, but I need it to take into account
more than one currency pair ie. combined profit of say GBP/USD and USD/CHF. Typically
these currency pairs will move in opposite directions a lot of the time, so not
much profit there, mostly loss situations. What I need the EA for is when both
these currency pairs move in the same direction, and create a profit situation.
When it hits my profit target, all open positions and pending orders are closed
out. Any further thoughts?
richplank wrote:
Isn't that what AccountEquity() gives you? The following would do like you say, assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
richplank:
Isn't that what AccountEquity() gives you? The following would do like you say, assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
Isn't that what AccountEquity() gives you? The following would do like you say, assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
extern double required_profit = 100; int start() { if ( AccountEquity() < AccountBalance() + required_profit ) return( 0 ); int slippage = 1; for ( int i = OrdersTotal() - 1; i >= 0; i-- ) { if ( ! OrderSelect( i, SELECT_BY_POS ) ) continue; switch ( OrderType() ) { case OP_BUY: OrderClose( OrderTicket(), OrderLots(), Bid, slippage ); break; case OP_SELL: OrderClose( OrderTicket(), OrderLots(), Ask, slippage ); break; default: // All pending orders OrderDelete( OrderTicket() ); break; } } return( 1 / 0 ); // This division by zero might stop the EA from getting invoked again }
richplank wrote:
Isn't that what AccountEquity() gives you? The following would do like you say, assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
extern double required_profit = 100; int start() { if ( AccountEquity() < AccountBalance() + required_profit ) return( 0 ); int slippage = 1; for ( int i = OrdersTotal() - 1; i >= 0; i-- ) { if ( ! OrderSelect( i, SELECT_BY_POS ) ) continue; switch ( OrderType() ) { case OP_BUY: OrderClose( OrderTicket(), OrderLots(), Bid, slippage ); break; case OP_SELL: OrderClose( OrderTicket(), OrderLots(), Ask, slippage ); break; default: // All pending orders OrderDelete( OrderTicket() ); break; } } return( 1 / 0 ); // This division by zero might stop the EA from getting invoked again }
richplank:
Isn't that what AccountEquity() gives you? The following would do like you say, assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
Isn't that what AccountEquity() gives you? The following would do like you say, assuming of course that you don't do other things on the same account.
You'd drop this EA onto your GBPUSD chart and set required profit.
extern double required_profit = 100; int start() { if ( AccountEquity() < AccountBalance() + required_profit ) return( 0 ); int slippage = 1; for ( int i = OrdersTotal() - 1; i >= 0; i-- ) { if ( ! OrderSelect( i, SELECT_BY_POS ) ) continue; switch ( OrderType() ) { case OP_BUY: OrderClose( OrderTicket(), OrderLots(), Bid, slippage ); break; case OP_SELL: OrderClose( OrderTicket(), OrderLots(), Ask, slippage ); break; default: // All pending orders OrderDelete( OrderTicket() ); break; } } return( 1 / 0 ); // This division by zero might stop the EA from getting invoked again }
Your code needs the improvement
extern double required_profit = 100; int start() { double closePrice; if ( AccountEquity() < AccountBalance() + required_profit ) return( 0 ); int slippage = 1; for ( int i = OrdersTotal() - 1; i >= 0; i-- ) { if ( ! OrderSelect( i, SELECT_BY_POS ) ) continue; RefreshRates(); switch ( OrderType() ) { case OP_BUY: closePrice=MarketInfo(OrderSymbol(),MODE_BID); OrderClose( OrderTicket(), OrderLots(), closePrice, slippage ); break; case OP_SELL: closePrice=MarketInfo(OrderSymbol(),MODE_ASK); OrderClose( OrderTicket(), OrderLots(), closePrice, slippage ); break; default: // All pending orders OrderDelete( OrderTicket() ); break; } } return( 1 / 0 ); // This division by zero might stop the EA from getting invoked again }See MarketInfo and RefreshRates
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Can anyone point me in the right direction? I have been successfully hedging currencies for a while now, but because most of the action happens in the middle of the night (I live in Australia) I am not able to close out positions when overall profit reaches a certain level. I tried to find an EA in this forum which closes all open orders once a user defined profit level has been reached , but nothing seems exactly what I need.
I will usually hedge GBP/USD (or EUR/USD) with USD/CHF so I need the EA to be able to calculate what the current profit level is (ie/- swap plus profit due to rate movements) , and if it hits a level that has been preset, it will close all open orders (and pending orders if thats possible) so that profit is locked in. Although it seems quite basic I have tried to work it out myself but not getting anywhere. So if there actually isnt anything like this on this site, I would be most grateful if anyone can help an old dinosaur like me.
Thanks