PureBytes Links
Trading Reference Links
|
Hello,
First for everyone else not understanding what first-class functions are:
http://en.wikipedia.org/wiki/First-class_function
To answer your question:
AFL is designed for traders to make indicator and system coding SHORT.
Look at TASC Traders Tips every month - AmiBroker code is ALWAYS THE SHORTEST one.
Lisp, Scheme, ML and Haskell that all support this model of programming
are generally found awkward to programmers, NOT mentioning ordinary people.
General perception of this is that it is more convoluted that object-oriented
programming and OOP is for average non-programmer is hard to grasp.
Expecting features like that in AmiBroker which is tool for TRADERS,
not programmers is ridiculous and makes no sense because no one
(maybe except you) would use it.
Ever wondered why Lisp, Scheme, ML and Haskell NEVER gained
any popularity?
For what is worth - if you are after this programming paradigm
you can use JScript. AmiBroker allows you to code everything
in JScript if you want and JScript supports all things you are after.
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "scourt2000" <stevehite@xxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Sunday, January 27, 2008 5:00 PM
Subject: [amibroker] Re: Identify bar for actual Buy
>
> Tomasz,
>
> Tomasz,
>
> Why did you design an array-processing language and not allow
> functions to be first-class?
>
> Then, you could have wonderful things like APPLY and MAP from the
> Scheme world to eliminate the necessity of hard-coded for() loops
> (i.e., the looping will be implied). It's not that any of this
> makes the actual processing faster, but it allows code to be written
> that is succinct and flow from one statement line to the next.
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx>
> wrote:
>>
>> Hello,
>>
>> By default you are operating on ARRAYS not on single values.
>>
>> A must-read for everyone starting out:
>> http://www.amibroker.com/guide/h_understandafl.html
>>
>> In short: RECURSIVE calculations need a FOR loop and [] operator
>> http://www.amibroker.com/guide/keyword/for.html
>>
>> "For" loop and array subscript operator [] gives you acces
>> to INDIVIDUAL values.
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message -----
>> From: "Graham Johnson" <grahamj@xxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Sunday, January 27, 2008 8:00 AM
>> Subject: [amibroker] Re: Identify bar for actual Buy
>>
>>
>> > Hi
>> >
>> > The bottom line with this is that I want to be able to set a stop
> and
>> > have control over it.
>> >
>> > After thinking it through, I decided that the first step was to
> set
>> > the stop for the first Buy signal and keep it at the same value
> until
>> > a Sell signal and then set it to 0 again.
>> >
>> > Seemed like a great theory but the stop value is reset at each
> bar
>> > and therefore does not maintain a constant value. Maybe it is a
>> > mindset thing - my professional experience was with procedural
>> > languages and AFL taxes my thinking processes sometimes - maybe
>> > something about teaching an old dog new tricks...
>> >
>> > Anyway, the snippet of code for setting the stop is as follows
>> >
>> > Buy = Ref(vaValidEntry,-1) AND Low <= Ref(vaLimitEntry, -1);
>> > BuyPrice = Min(Open, Ref(vaLimitEntry, -1));
>> > vaIStopVal = ATR(vISATRPer) * vISMult;
>> > vaInitStop = 0;
>> > vaInitStop = IIf(((Buy == 1) AND (Ref(vaInitStop, -1) == 0)) ,
>> > BuyPrice - (Ref(vaIStopVal, -1)), Ref(vaInitStop, -1));
>> > _TRACE(" | buy: " + Buy + " | stop: " + vaInitStop + " |
> PrevStop: "
>> > + Ref(vaInitStop, -1));
>> >
>> > Any ideas as to where I've gone wrong and why it is resetting the
>> > value each bar, please.
>> >
>> > Graham
>> >
>> >> I'm sure that a solution for this has been on the forum, but -
>> > after
>> >> much searching......
>> >>
>> >> Code is for a Long system that does not pyramid.
>> >>
>> >> I am looking to manually code the disaster stop, so need to be
> able
>> > to
>> >> set the stop on the day that the trade is actually entered, and
> not
>> >> have the water muddied by subsequent signals that are not taken
>> > because
>> >> the system does not pyramid.
>> >>
>> >> I know that the ApplyStop function is available, but I need to
>> > acquire
>> >> the technique for controlling stops programatically.
>> >>
>> >> Hopefully, this is clear.
>> >>
>> >> Graham
>> >>
>> >
>> >
>> >
>> >
>> > 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
>> >
>> >
>> >
>>
>
>
>
>
> 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
>
>
>
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/
|