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 -----
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
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 -----
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
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 -----
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
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
>
>
>
>
>
>