Been taking a look at AB after being gone for a
few years.
Looks like there is still no simple AFL method to
retrieve the current equity
to compute a positionsize for the next
trade.
I tried Equity(), Equity(1), Equity(0), and all
the other variants that I could think of.
Even tried Foreign("~~~EQUITY", "C"); No joy.
I believe that Herman van den Bergen ran across
this some time ago.
I haven't found what his solution was, if he
found one.
Herman, you out there?
Any ideas?
Thanks,
-CS
What I am trying is
really a very simple test formula like:
OptimizerSetEngine("cmae");
//============== Optimize
========================
StopPct = Optimize("StopPct", 15, 1, 15, 1);
//StopPoints =
Optimize("StopPoints", 100 , 5, 100, 5);
T1=Optimize("T1", 3 ,3,25,1); //MACD Short period
T2=Optimize("T2", 28 ,26,30,1); //MACD Long period
WT=Optimize("WT", 18 ,10,22,1); //Wilders periods
LTH=27;//Optimize("LTH",25,10,30,2); //Lower threshold
line
UTH=73;//Optimize("UTH",73,60,80,2); //Upper threshold
line
THT=Optimize("THT",
8 ,8,21,1); // Dynamic Band periods
UBC=Optimize("UBC", 1.6 ,0,3,0.1); // UBand change
LBC=Optimize("LBC", 1.3 ,0,3,0.1); // LBand change
PctEq= 5;//Optimize("Percent of Equity", 5
,1,15,1);
//================ Buy
& Sell & Short & Cover Formula
============
M1=MACD(T1,T2);//MA(MACD(T1,T2),MAT);
A1=RSIa(M1,WT);
//Dynamic Bands
UB=HHV(A1,THT)-(UBC);
LB=LLV(A1,THT)+(LBC);
Buy=Cross(A1,LB);// AND A1<=LTH;
Sell=Cross(UB,A1);// AND A1>=UTH;
Short=Sell;
Cover=Buy;
//=============== APPLY STOP
=======================
//ApplyStop( type,
mode, amount, exitatstop, volatile = False, ReEntryDelay = 0 )
//------------------ Max Loss Stop in Percent
-------------------------
ApplyStop( 0, 1, StopPct, 1, True, 0 ) ;// Percent Max
Loss
//------------------- Max Loss Stop in
Points ------------------------------
//ApplyStop( 0, 2, StopPoints, 1, True, 0
) ;// Points Max Loss
//==============
DYNAMIC CONTRACT CONTROL =================
MinContracts=1;//Optimize("Min
Contracts",1,1,5,1);
MaxContracts=10;//Optimize("Max
Contracts",20,5,25,1);
Margin=MarginDeposit;
PctEq=PctEq/100;
Eq=Equity(); // Crashomatic
PS=Min( MaxContracts * Margin ,
Max( PctEq * Eq , MinContracts *
Margin ));
PositionSize = PS;