Can anyone suggest a EA that has the code to only trade a currency pair once a day or session?
Thanks, JP
Trade Pair Once Per Day Code / EA
-
theforexedge
- Trader
- Posts: 220
- Joined: Thu Apr 26, 2012 10:31 pm
- Location: Torquay
-
dudest
- Trader
- Posts: 1847
- Joined: Tue May 08, 2012 2:37 pm
Trade Pair Once Per Day Code / EA
How I would do it:
Cheers
Code: Select all
int my_magic_number = 999;
string my_symbol = "GBPUSD";
int my_timeframe = PERIOD_D1;
..
// Select last opened ticket
if ( OrderSelect( ticket_number, SELECT_BY_TICKET )
{
// Check if the ticket is 'one of ours'
if ( (OrderMagicNumber() == my_magic_number) && (OrderSymbol() == my_symbol) )
{
// Check whether the ticket was opened in the last session ( in this case: yesterday )
if ( OrderOpenTime() < iTime( my_symbol, my_timeframe, 0 ) )
{
// OK to open new trade
ticket_number = OrderSend( ..... );
}
}
}
else
{
// Order selection failed
Print( StringConcatenate( "Unable to select last opened ticket due to error: ", GetLastError() ) );
}
..
-
MrLong
Trade Pair Once Per Day Code / EA
Code: Select all
extern bool useOneDailyTrade = true; // only allow to trade a currency if one has not closed today
if(useOneDailyTrade && (CheckTodaysOrders(CurrentPair)>=1))
continue;
//+------------------------------------------------------------------+
//| Checks closed number
//+------------------------------------------------------------------+
int CheckTodaysOrders(string symbol)
{
int TodaysOrders=0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if(OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==symbol && (OrderCloseTime()>=iTime(symbol,1440,0)))
{
TodaysOrders+=1;
}
}
return(TodaysOrders);
}-
theforexedge
- Trader
- Posts: 220
- Joined: Thu Apr 26, 2012 10:31 pm
- Location: Torquay
Trade Pair Once Per Day Code / EA
Thanks guys for the code snippets.. 