[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] AUTOMATIC TRADING



PureBytes Links

Trading Reference Links

hi,
 
I didn't test your code nor the code posted below but it might be that you have got the brackets not entirely correct.
 
The code I posted below should do the following.
 
When it first encounters a "Buy" then it will buy 1 contract, then sell 2, resulting in 1 short position, then buy 2, resulting in 1 long position etc.
 
When it first encounters a "Sell" ...... similar as above,
 
hope it works now,
 
rgds, Ed
 
 
 
LastPosition=0;
Buy=C > Ref(C, -1);
Sell=C < Ref(C, -1);
Buy  = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);
 
if( LastValue( Buy ) ) {
 
 ibc = GetTradingInterface("IB");
 
 if( ibc.IsConnected() ) {
 
     if(LastPosition==0) {
   
         ibc.PlaceOrder( Name(), "Buy", 1, "MKT", 0, 0, "Day", False);
         LastPosition=1;
     
     } else if( LastPosition==-1) {
 
        ibc.PlaceOrder( Name(), "Buy", 2, "MKT", 0, 0, "Day", False );
        LastPosition=1;
  
  }
 
 }
 
else if( LastValue( Sell ) ) {
 
 ibc = GetTradingInterface("IB");
 
 if( ibc.IsConnected() ) {
 
     if( LastPosition==0 ) {
 
         ibc.PlaceOrder( Name(), "Sell", 1, "MKT", 0, 0, "Day", False );
           LastPosition=-1;
     
     } else if( LastPosition==1 ){
 
      ibc.PlaceOrder( Name(), "Sell", 2, "MKT", 0, 0, "Day", False );
         LastPosition=-1;
 
     }
     
 }
 
}
----- Original Message -----
Sent: Thursday, June 09, 2005 7:08 PM
Subject: [amibroker] AUTOMATIC TRADING

Hi, I'm trying to automate orders with AmiBroker 4.7 and TWS but I'm not
able to do it. I've written a "dummy" trading system which buys when
close is higher than the last close and sells when close is lower than
the last close (very useful in 1-minute charts to test orders).  The
problem is that AB starts sending orders to Buy 2 contracts and stops.
Maybe there's something wrong with brackets or another stupid thing but
it would be very helpful for me if someone in the list provides an
example code to automate orders (or test and arrange mine).

Thanks a lot and good trading,
Alberto Muņoz

This is the AFL code:

LastPosition=0;
Buy=C > Ref(C, -1);
Sell=C < Ref(C, -1);
Buy  = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

if( LastValue( Buy ) )
{
ibc = GetTradingInterface("IB");

if( ibc.IsConnected() )
{
    if(LastPosition==0)
    {
        ibc.PlaceOrder( Name(), "Buy", 1, "MKT", 0, 0, "Day", False);
        LastPosition=1;
    }
}

else
{
if( LastPosition==-1)
    {
      ibc.PlaceOrder( Name(), "Buy", 2, "MKT", 0, 0, "Day", False );
       LastPosition=1;
    }
   }
}

if( LastValue( Sell ) )
{
ibc = GetTradingInterface("IB");
if( ibc.IsConnected() )
{
    if( LastPosition==0 )
    {
       ibc.PlaceOrder( Name(), "Sell", 1, "MKT", 0, 0, "Day", False );
         LastPosition=-1;
    }
}

else
{
if( LastPosition==1 )
    {
       ibc.PlaceOrder( Name(), "Sell", 2, "MKT", 0, 0, "Day", False );
         LastPosition=-1;
    }
   }
}


Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html





Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com

For other support material please check also:
http://www.amibroker.com/support.html





Yahoo! Groups Links