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

[amibroker] First Profitable Close, Long and Short (was Re: Exit on first profitable open )



PureBytes Links

Trading Reference Links

Hmmm, shall we extend the idea somewhat, to long and short trades?

Does this look sane for an exit on the first profitable close?  What
am I missing?
//////////////////////////////////////////////////////////
Buy = conditions;
Short = conditions;
Sell = Cover = 0;
inBullTrade = inBearTrade = 0;

for( bar = 1; bar < BarCount; bar++ )
{
  // LONG SIDE
  if( inBulltrade[bar-1] == 0 AND Buy[bar] )
  {
    inBulltrade[bar] = 1;
    BullHoldC[bar] = Close[bar];
  }
  else
  {
    inBulltrade[bar] = inBulltrade[bar-1];
    BullHoldC[bar] = BullHoldC[bar-1];
  }

  if( inBulltrade[bar-1] AND Close[bar] > BullHoldC[bar] )
  {
    Sell[bar] = 1;
    inBulltrade[bar] = 0;
  }
  else
  {
    Sell[bar] = 0;
  }

  // SHORT SIDE
  if( inBeartrade[bar-1] == 0 AND Short[bar] )
  {
    inBeartrade[bar] = 1;
    BearHoldC[bar] = Close[bar];
  }
  else
  {
    inBeartrade[bar] = inBeartrade[bar-1];
    BearHoldC[bar] = BearHoldC[bar-1];
  }

  if( inBeartrade[bar-1] AND Close[bar] < BearHoldC[bar] )
  {
    Cover[bar] = 1;
    inBeartrade[bar] = 0;
  }
  else
  {
    Cover[bar] = 0;
  }

}
//////////////////////////////////////////////////////////

--- In amibroker@xxxxxxxxxxxxxxx, "Fred" <ftonetti@xxx> wrote:
>
> That'll certainly work ... but it's overkill and run times will 
> expand dramatically.
> 
> --- In amibroker@xxxxxxxxxxxxxxx, Graham <kavemanperth@xxxx> wrote:
> > because an intital sell signal was not defined to enable the use of
> > exrem, or other methods to exclude surplus buy signals you probably
> > need to use a loop method
> > something along these lines
> > 
> > buy = conditions;
> > Sell = 0;
> > intrade = 0;
> > holdO = Null;
> > 
> > for(i=1;i<BarCount;i++)
> > {
> >  if( Buy[i] AND intrade[i-1]==0 )
> >  {
> >   intrade[i] = 1;
> >   HoldO[i] = O[i];
> >  }
> >  else
> >  {
> >   intrade[i] = intrade[i-1];
> >   HoldO[i] = HoldO[i-1];
> >  }
> >  if( O[i] > HoldO[i] AND intrade[i-1])
> >  {
> >   Sell[i] = 1;
> >   Intrade[i] = 0;
> >  }
> >  else
> >  {
> >   Sell[i] = 0;
> >  }
> > }
> > 
> > 
> > On 8/9/05, Fred <ftonetti@xxxx> wrote:
> > > The example I provided would of course be for same day trading on 
> the
> > > buy side ... If what you want is delayed a bar because you are 
> buying
> > > on the Open of the following bar then it would be one bar less 
> i.e.
> > > 
> > > Sell = O > Ref(O, -(BSB - 1));
> > > 
> > > If this doesn't work for you then you need to be more specific 
> about
> > > exactly what is happening and how that compares with what you are
> > > after.
> > > 
> > > 
> > > --- In amibroker@xxxxxxxxxxxxxxx, "Peter" <pa299@xxxx> wrote:
> > > > Fred
> > > > Thanks but been there.
> > > > As I understand it BarsSince(Buy); will return the bars to the 
> last
> > > Raw
> > > > buy signal. You may have the actual Buy entry then one or more
> > > other buy
> > > > signals which are ignored ( assuming you include the line
> > > > Buy=ExRem(Buy,Sell);) then the sell signal. BarsSince(Buy); will
> > > return
> > > > the bars to last Buy signal not the one where you entered the
> > > trade.
> > > > That's the bit I can't solve.
> > > > Peter
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: amibroker@xxxxxxxxxxxxxxx 
> [mailto:amibroker@xxxxxxxxxxxxxxx]
> > > On
> > > > Behalf Of Fred
> > > > Sent: Tuesday, 9 August 2005 7:38 a.m.
> > > > To: amibroker@xxxxxxxxxxxxxxx
> > > > Subject: [amibroker] Re: Exit on first profitable open
> > > >
> > > > Assuming you have an impulse type buy i.e.
> > > >
> > > > Buy = Cross(X, Y);
> > > >
> > > > then ...
> > > >
> > > > BSB = BarsSince(Buy);
> > > >
> > > > ... should give you how many bars it's been since the buy
> > > occured ...
> > > >
> > > > Then assuming that you also bought at an opening ... then ...
> > > >
> > > > Sell = O > Ref(O, -BSB);
> > > >
> > > > --- In amibroker@xxxxxxxxxxxxxxx, "Peter" <pa299@xxxx> wrote:
> > > > > Hi
> > > > > After spending a huge amount of time trying to code an `Exit 
> on
> > > the
> > > > > first profitable open' I give up.
> > > > > Is anyone willing to share the code for what should be a very
> > > simple
> > > > > exit?????
> > > > >
> > > > > Any help would be appreciated!!
> > > > > Peter
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > 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
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 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
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > 
> > 
> > -- 
> > Cheers
> > Graham
> > AB-Write >< Professional AFL Writing Service
> > Yes, I write AFL code to your requirements
> > http://e-wire.net.au/~eb_kavan/ab_write.htm
>




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 NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/