MetaStock™ Zone Forum & FAQ Artykuły Linki Elliott Waves EasyLanguage™ Zone

A B C D E F G H I J K L M N O P R S T U V W Y Z #

Signal/Value Accumulator by Jose Silva

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: wwflhp <wwfarr[at]yahoo.com>
To: equismetastock[at]yahoogroups.com <equismetastock[at]yahoogroups.com>
Date: Thursday, December 14, 2006, 8:48:46 PM
Subject: [EquisMetaStock Group] How do I generate a conditional clear signal for an average price?

Version Used 9.0 Date: 12-9-06

Subject: How do I generate a conditional clear signal for an average price?

I want to have a sell signal that is conditional on the average price of pyramided buys. That is, the sell signal is only generated if the current closing price of a stock exceeds the average purchase price after several pyramided fixed $ amount buy signals. The problem is, how do I clear the total invested and total shares owned sum variables to zero only after the conditional sell signal is generated?
Specifically;

PurchaseAmount:=5000;
BuySignal:= Cross(C,Mov(C,20,E));
TotalInvested:= If(BuySignal,PREV+PurchaseAmount,PREV);
TotalShares:= If(BuySignal,PREV+(PurchaseAmount/C),PREV);
AvePrice:=TotalInvested/TotalShares;
SellCondition:=Cross(Mov(C,20,E),C);
SellSignal:=SellCondition AND (C>(AvePrice));

How do I clear TotalInvested and TotalShares, to 0 only if sell signal is true?
I tried many variations following the SellSignal including;

If(SellSignal,TotalInvested=0,Ref(TotalInvested,-1));
If(SellSignal,TotalShares=0,Ref(TotalShares,-1));

I've also tried

If(Ref(SellSignal,-1),TotalInvested=0,Ref(TotalInvested,-1));
If(Ref(SellSignal,-1),TotalShares=0,Ref(TotalShares,-1));

And I've tried

If(Ref(SellSignal,-1),TotalInvested=0,
TotalInvested=Ref(TotalInvested,-1));
If(Ref(SellSignal,-1),TotalShares=0, TotalShares=Ref(TotalShares,-1));

But I get strange results. I can't get TotalInvested and TotalShares to go to 0 after the SellSignal and to stay 0 until the next BuySignal. Thanks and Happy Holidays, Bill

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: Jose Silva <josesilva22[at]yahoo.com>
To: equismetastock[at]yahoogroups.com <equismetastock[at]yahoogroups.com>
Date: Thursday, December 14, 2006, 10:26:49 PM
Subject: [EquisMetaStock Group] Re: How do I generate a conditional clear signal for an average price?

Bill, maybe this indicator code can be of help:


Signal/Value Accumulator

{ Signal/Value accumulator v2.0
Accumulates & resets values between signals.
http://www.metastocktools.com }

{ Start count signal }
start:=TroughBars(1,C,5)=0;

{ End count signal }
end:=PeakBars(1,C,5)=0;

{ Value to accumulate - Volume }
value:=V;

{ Indicator output choice }
plot:=Input("plot: [1]Accumulation, [2]Signals",1,2,1);

{ Remove redundant interim start/end signals }
init:=Cum(IsDefined(start+end))=1;
flag:=ValueWhen(1,start-end<>0 OR init,start);
start:=flag*(Alert(flag=0,2)
OR start*Cum(start)=1);
end:=(flag=0)*(Alert(flag,2)
OR end*Cum(end)=1);

{ Accumulate values }
acc:=Cum(flag*value);
accVal:=acc-ValueWhen(1,end,acc);

{ Plot in own window }
If(plot=1,accVal,start-end)



Signal_Value_Accumulator
Source / From: TOP
Metastockusers[at]yahoogroups[dot]com

Equis and MetaStock® and MetaStock Professional® are registered trademarks of Equis International. Achelis Binary Wave®, The DownLoader®,
Expert Advisor®, OptionScope®, Quotecenter® and Smart Charts® are trademarks of Equis International, a Thomson Reuters company.

TradeStation® Pro, TradeStation® 2000i, OptionStation®, SuperCharts®, PowerEditor® and EasyLanguage®
are registered trademarks of TradeStation Technologies, Inc. Other names and marks referred to are the property of their respective owners.

All information provided on this website is for educational purposes only. Trading involves risk, including possible loss of principal and other losses.

Ten i inne materiały na tej stronie zostały zamieszczone zostały jedynie w celach edukacyjnych, nie ponoszę żadnej odpowiedzialno¶ci za ich stosowanie.

Gra na giełdzie i rynkach walutowych (FOREX) niesie ze sob± ryzyko poważnych strat finansowych!