PureBytes Links
Trading Reference Links
|
Chuck,
you may want to experiment a little with
StaticVaribles, they are really not difficult to use once you get used to it. It
is just because of the Syntax that they look rather confusing and intimidating.
imho, it is impossible to develop a Real-Time trading system without using
Staticvariables. You'll have to "think real-time" :-) Something like
this:
///1 Buy = buyconditions;
BuyRT = LastValue(C) >
LastValue(ref(H,-1));
///2 We're in a buy now, until we get a
sell signal Bought = Flip(Buy,
Sell,);
funtion NewBar( )....// Use
Change in DateTime() to detect start of a new bar
If( NewBar() )
StaticVarSet("BuyRT",0); // Resets Buy at the begin of
each new bar PrevBuyRT = StaticVarGet("BuyRT"); if( BuyRT AND NOT
PrevBuyRT ) // You'll never get a reapeat Buy unless BuyRT has been
reset { StaticVarSet("BuyRT",1); ibc.ModifyOrder( ...
); StaticVarSet("BuyEntryPrice",LastValue(C)); }
///3 Where did we enter? Need to remember first buyprice
and to ignore subsequent buy signals (e.g. signals where we are already in a
buy) Buyprice = Valuewhen (Buy and !Bought);
///4 Now we go
flat Sell = C > Buyprice + 2 or C < Buyprice - 2; -----Original
Message----- From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]On
Behalf Of cstrader Sent: Sunday, January 08, 2006 6:52 PM To:
amibroker@xxxxxxxxxxxxxxx Subject: Re: [amibroker] Struggling again... advice
requested
Hi Herman:
Those are both excellent ideas.
They may be what I need. Perhaps I'm making too much of it, but I am
indeed in a quagmire. Let me try to be clearer.
I want to get
in and out of trades as the day goes on (not simple reversals, but in and out of
trades). To set my exits I need to remember the initial buyprice of the
entry. In actual trading I can get this entry price from the TWS,
but I can't do that during development. I need also need to ignore
later extraneous buy signals.
Ideally the code would look something
like that below. However, it is not possible, because you need to know the
value of Sell in line 2 in order to determine whether you are at the real
(first) buypoint rather than a later extraneous one. However Sell cannot
be defined until line 4 (after buyprice is determined)
A possibility is
to set buyprice as static rather than array. As I mentioned earlier, this
is a solution, but not a very good one.
What am I
missing?
Chuck
///1 Buy = buyconditions;
///2 We're
in a buy now, until we get a sell signal Bought = Flip(Buy,
Sell,);
///3 Where did we enter? Need to remember first
buyprice and to ignore subsequent buy signals (e.g. signals where we are already
in a buy) Buyprice = Valuewhen (Buy and !Bought);
///4 Now we go
flat Sell = C > Buyprice + 2 or C < Buyprice -
2;
----- Original Message ----- From:
Herman van den Bergen To: amibroker@xxxxxxxxxxxxxxx Sent: Sunday, January
08, 2006 5:41 PM Subject: RE: [amibroker] Struggling again... advice
requested
Perhaps this will give you more ideas...
In the past
i have "attached" text, signals, trade information, etc. to bars by using
staticvariables named with the bar's time appended. For text example you could
use: staticvarsettext("Bar"+TimeNumber, "your info to attach"); Where the
TimeNumber is SelectedValue(TimeNum()). You can also use
StaticvarSet("Bar"+TimeNumber, Numericalvalue) to attach signals. This method
will work if you only want to tag a limited number of bars (up to a few
hundred). You can loop through the bars displayed and plot numbers or
show/recall text from selected bars.
I presume you have looked at using a
table? Look at the OSAKA plugin.
If you do not need to save data after
shutdown you can, instead of using a text file, save long strings (same as file)
in a StaticvarSetText(), easier?
Chuck, i think you may be making is more
complicated than it needs be...if you can describe exactly what your need
perhaps we can help you better....
herman
-----Original
Message----- From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]On
Behalf Of cstrader Sent: Sunday, January 08, 2006 12:54 PM To:
amibroker@xxxxxxxxxxxxxxx Subject: Re: [amibroker] Struggling again... advice
requested
Thanks again Herman.
I basically do that too,
although it isn't really the issue I have.
My thinking is now here:
What I need is a new type of variable -- it is static in the sense that it holds
its value across bars, but dynamic in the sense that it can change over
time. The problem with static variables is that when you set them at, say
14:00, they change their value back at say 10:00 as well.
In
essence, what I want is a Hold() function where the length of the hold is
determined dynamically rather than statically. Doesn't (yet)
exist!
What I think what I'm going to try (anyone else ever done this?)
is to create a "history" text file. At the end of every bar I will write
(append) the current status to a text file, along with the current
barindex. This can be done realtime or by running the cursor across the
chart. Then I'll read in from that history file as time goes on.
This will allow me to know what my positions were at say 10:31, even when it's
14:01.
I'm thinking this might help me,? although you've probably
guessed by now that I really have no idea what I'm doing...
:)
chuck ----- Original Message ----- From: Herman van den
Bergen To: amibroker@xxxxxxxxxxxxxxx Sent: Sunday, January 08, 2006 11:50
AM Subject: RE: [amibroker] Struggling again... advice
requested
In real trading you can use LastPrice = Lastvalue(C) or
GetRTData("Last");
During developement I often use LastPrice =
SelectedPrice(C); This allows me to step my cursor over the bars (or just click
on the chart to select a bar) on the chart and trigger trades. Of course this is
ONLY to test the mechanics of your system and profits and fills do not reflect
real prices. Limit orders tend to fill only one way because the selectedprice
can be far away from the market price seen by the TWS.
For initial
testing I find this much easier/faster than working with simulators or the DEMO
TWS.
herman
-----Original Message----- From:
amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]On
Behalf Of cstrader Sent: Sunday, January 08, 2006 11:20 AM To:
amibroker@xxxxxxxxxxxxxxx Subject: Re: [amibroker] Struggling again... advice
requested
Herman....right but this assumes that you are real time and
live or paper trading. But what do you do when you are developing the
system? ----- Original Message ----- From: Herman van den Bergen To:
amibroker@xxxxxxxxxxxxxxx Sent: Sunday, January 08, 2006 11:15 AM Subject:
RE: [amibroker] Struggling again... advice requested
In simple system
you can check the positionsize:
IBPosSize = ibc.GetPositionSize( Ticker
); assuming you got full fills you don't want to go short if you are already
short, or long if you are already long. For this type of trading you
could/should be using minute bars and limit trades to one per minute. If
trading a reversal system you can also maintain your own Static position
indicator... hreman
-----Original Message----- From:
amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]On
Behalf Of cstrader Sent: Sunday, January 08, 2006 11:04 AM To:
amibroker@xxxxxxxxxxxxxxx Subject: Re: [amibroker] Struggling again... advice
requested
Sorry, I think my post wasn't that clear. I am
trading intraday, and I want to get in and out of trades frequently during
the day. The trouble I'm having is determining whether I should open a
new trade, because I don't know yet whether I've gotten out of the old
one. That is, you want to use Exrem() to avoid repeated buy signals,
but you can't do that because you have to use the sell conditions to define
the buy conditions. Am I making any sense?
----- Original
Message ----- From: "Tradingbasis" <tzg@xxxxxxxxxxxxxxxx> To:
<amibroker@xxxxxxxxxxxxxxx> Sent: Sunday, January 08, 2006 10:56
AM Subject: RE: [amibroker] Struggling again... advice
requested
> Hi, > > try this one: > >
Setup = your buy condition; > Tradedate =
ValueWhen(setup,DateNum(),1); > LastTradedate = Ref(Tradedate,-1); >
Otpd = Tradedate > Lasttradedate;//only one trade per day > > Buy
= Setup; > > > - - - - - - - - - - - - - - - - - - -
- > Best regards > > Thomas >
www.tradingbasis.com > support@xxxxxxxxxxxxxxxx > - - - - - - - - -
- - - - - - - - - - - > > -----Original Message----- > From:
amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx]
On > Behalf > Of cstrader > Sent: Sunday, January 08, 2006
4:48 PM > To: amibroker@xxxxxxxxxxxxxxx > Subject: [amibroker]
Struggling again... advice requested > > I am struggling (again!),
and would like to request some advice. > > > > My new
systems take more than one trade in a day. This creates what I >
call > the Catch-22 problem. You can't anymore use arrays to mark
the trades > because the entry is dependent on the exit which is dependent
on the > entry... So now what do I
do? > > > > One possibility is to code with loops.
I hate that idea because it's > complicated and because I thought that AB
was all about avoiding loops. > > > > Another
possibility is to mark the entry price with a static variable and > hold
it until the exit. This will (maybe) work OK in actual trading and >
in > AA but it is hard to tell what is happening because the buy and
sell > arrows > on the chart display are no longer accurate (because
later static variable > assignments mess up the display of earlier
ones). > > > > This seems like such a basic problem that
someone else must have dealt > with > it and found the
solution. > > > >
Thanks! > > > >
chuck > > > > > 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 > > > > > >
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
SPONSORED
LINKS Investment management software Real estate investment software Investment
property software Software support Real estate investment analysis software
Investment software
YAHOO! GROUPS LINKS
Visit your
group "amibroker" on the web. To unsubscribe from this group,
send an email
to: amibroker-unsubscribe@xxxxxxxxxxxxxxx Your use
of Yahoo! Groups is subject to the Yahoo! Terms of Service.
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
SPONSORED LINKS
YAHOO! GROUPS LINKS
|