<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>http://traderpedia.it/wiki/index.php?action=history&amp;feed=atom&amp;title=Formula_123_High</id>
	<title>Formula 123 High - Cronologia</title>
	<link rel="self" type="application/atom+xml" href="http://traderpedia.it/wiki/index.php?action=history&amp;feed=atom&amp;title=Formula_123_High"/>
	<link rel="alternate" type="text/html" href="http://traderpedia.it/wiki/index.php?title=Formula_123_High&amp;action=history"/>
	<updated>2026-04-13T14:08:54Z</updated>
	<subtitle>Cronologia della pagina su questo sito</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://traderpedia.it/wiki/index.php?title=Formula_123_High&amp;diff=3048&amp;oldid=prev</id>
		<title>imported&gt;Stefano Fanton il 12:05, 27 apr 2012</title>
		<link rel="alternate" type="text/html" href="http://traderpedia.it/wiki/index.php?title=Formula_123_High&amp;diff=3048&amp;oldid=prev"/>
		<updated>2012-04-27T12:05:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nuova pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ci&amp;amp;nbsp;sono&amp;amp;nbsp;alcune modifiche minori per gestire alcuni casi non previsti nella rilevazione dei pattern 123, sia high che low. Per quanto riguarda le strategy ho fatto alcune verifiche sperimentali sulle prestazioni dei pattern 123H e 123L, come primo risultato ho riscontrato che il 123H, che in teoria andrebbe usato per entrare short su sfondamento del low di 2, spesso dà ottimi risultati entrando long sù rottura dell'high di 3. Lo stesso vale per il 123L, dove anzichè entrare long sù rottura dell'high di 2, si può anche entrare short su sfondamento del low di 3. &lt;br /&gt;
&lt;br /&gt;
Alla luce di queste verifiche&amp;amp;nbsp;è stato&amp;amp;nbsp;introdotto un filtro per stabilire in che direzione entrare in presenza di un pattern,&amp;amp;nbsp; &amp;quot;the trend is your friend&amp;quot; e quindi è stata&amp;amp;nbsp;inserita una media mobile esponenziale a 90 periodi come filtro indicatore del trend primario. Aggiunto anche l'&amp;amp;nbsp;Expert Commentary &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Descrizione di alcune variabili di Input: &lt;br /&gt;
&lt;br /&gt;
*'''Account&amp;lt;br&amp;gt;'''capitale iniziale utilizzabile default (10000) &lt;br /&gt;
*'''MaxPercRisk'''&amp;lt;br&amp;gt;definisce in percentuale il capitale rischiato in caso di stop loss. Lo stop-loss è due volte questo parametro, di default (2) &lt;br /&gt;
*'''MaxPercLoss&amp;lt;br&amp;gt;'''definisce in percentuale il massimo rischio accettabile tra prezzo di entry e prezzo di stop. Quando il rischio calcolato è maggiore, il sistema non genera ordini. Di default (5) &lt;br /&gt;
*'''Note&amp;lt;br&amp;gt;'''il sistema non gestische entrate multiple, ovvero quando è sul mercato non genera altri ordini.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Release: 123 High Version 0.0.6 15.10.2005 &lt;br /&gt;
&lt;br /&gt;
Categoria: Strategia&amp;lt;br&amp;gt;Formula per Tradestation™: &lt;br /&gt;
&lt;br /&gt;
INIZIO FORMULA &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;input: BarsBackTrend(15), {Bars Back ricerca del trend}&amp;lt;br&amp;gt;MaxBtwBar(4), {Max barre tra successive sequenze}&amp;lt;br&amp;gt;DisplayRH(True), {Abilita/Disabilita visualizzazione RH}&amp;lt;br&amp;gt;chkRange(True), {Abilita/Disabilita controllo Range &amp;amp;gt; 0}&amp;lt;br&amp;gt;Color1(Magenta), {Colore 1a Barra}&amp;lt;br&amp;gt;Color2(Red), {&amp;quot;&amp;quot; &amp;quot;&amp;quot; 2a &amp;quot;&amp;quot; &amp;quot;&amp;quot;}&amp;lt;br&amp;gt;Color3(Magenta), {&amp;quot;&amp;quot; &amp;quot;&amp;quot; 3a &amp;quot;&amp;quot; &amp;quot;&amp;quot;}&amp;lt;br&amp;gt;History(True), {Cancella old 123High}&amp;lt;br&amp;gt;NrDelPrev(5); {Se History=False Nr di 123High da cancellare}&amp;lt;br&amp;gt;Input:Account(10000),MaxPercRisk(2),MaxPercLoss(5),LowRisk(True);&amp;lt;br&amp;gt;{****************************************************************************}&amp;lt;br&amp;gt;var: BarHigh1(0), {contatore High 1a barra}&amp;lt;br&amp;gt;BarLow2Low(0), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; Low 2a &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;BarLow2High(0), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; High &amp;quot;&amp;quot; &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;BarHigh3High(0), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 3a &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;BarHigh3Low(0), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; Low &amp;quot;&amp;quot; &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;One(False), {True/False 1a Barra}&amp;lt;br&amp;gt;Two(False), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; 2a &amp;quot;&amp;quot; &amp;quot;&amp;quot;}&amp;lt;br&amp;gt;Three(False), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; 3a &amp;quot;&amp;quot; &amp;quot;&amp;quot;}&amp;lt;br&amp;gt;Low2high(False), {Setup High 2a barra}&amp;lt;br&amp;gt;Low2Low(False), { &amp;quot;&amp;quot; Low &amp;quot;&amp;quot; &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;High3High(False), { &amp;quot;&amp;quot; High 3a &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;High3Low(False), { &amp;quot;&amp;quot; Low &amp;quot;&amp;quot; &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;OffSet(0), {Offset Up/Down Testo}&amp;lt;br&amp;gt;OldHigh1(0), {Precedente valore del High1 x Nullify Bar}&amp;lt;br&amp;gt;ValueOne(-1), {ID testo 1a barra}&amp;lt;br&amp;gt;ValueTwo(-1), {&amp;quot;&amp;quot; &amp;quot;&amp;quot; 2a &amp;quot;&amp;quot; &amp;quot;&amp;quot;}&amp;lt;br&amp;gt;ValueThree(-1), {&amp;quot;&amp;quot; &amp;quot;&amp;quot; 3a &amp;quot;&amp;quot; &amp;quot;&amp;quot;}&amp;lt;br&amp;gt;ValueBrk(0), {}&amp;lt;br&amp;gt;BarTwoTxt(0), {Posizione testo 2a barra}&amp;lt;br&amp;gt;BarThreeTxt(0), { &amp;quot;&amp;quot; &amp;quot;&amp;quot; &amp;quot;&amp;quot; 3a &amp;quot;&amp;quot; }&amp;lt;br&amp;gt;CompleteLow(False), {Setup 123High Low }&amp;lt;br&amp;gt;CompleteHigh(False),{Setup 123High High }&amp;lt;br&amp;gt;BarBrkout(0), {Posizione breakout 123H }&amp;lt;br&amp;gt;idx(0), {contatore generico }&amp;lt;br&amp;gt;Complete(False); {Abilita incremento oldHigh1}&amp;lt;br&amp;gt;Var:TradeAccount(-1),PosSize(0),TrailBars(10),cCurrentEntries(0),cAvgEntryPrice(0),cEntryPrice(0);&amp;lt;br&amp;gt;Var:BuyStop(-1),LExitStop(-1),SellStop(-1),SExitStop(-1),HighLimit(-1),XAverage90(0),Eq(0),T1(0); &lt;br /&gt;
&lt;br /&gt;
{****************************************************************************} &lt;br /&gt;
&lt;br /&gt;
condition1=True;&amp;lt;br&amp;gt;if ChkRange then condition1=Range &amp;amp;gt; 0; &lt;br /&gt;
&lt;br /&gt;
{Incrementa contatori}&amp;lt;br&amp;gt;if complete then OldHigh1=OldHigh1+1;&amp;lt;br&amp;gt;if complete then BarBrkOut=BarBrkOut+1;&amp;lt;br&amp;gt;If One Then BarHigh1=BarHigh1+1;&amp;lt;br&amp;gt;If Low2High then begin&amp;lt;br&amp;gt;BarLow2High=BarLow2High+1;&amp;lt;br&amp;gt;BarTwoTxt=BarTwoTxt+1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;If Two And High3High then begin&amp;lt;br&amp;gt;BarHigh3High=BarHigh3High+1;&amp;lt;br&amp;gt;BarThreeTxt=BarThreeTxt+1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;If Low2Low then BarLow2Low=BarLow2Low+1;&amp;lt;br&amp;gt;If High3Low then BarHigh3Low=BarHigh3Low+1;&amp;lt;br&amp;gt;{Fine incremento contatori} &lt;br /&gt;
&lt;br /&gt;
{inizio setup}&amp;lt;br&amp;gt;{Se il massimo e' superiore al massimo del High1 allora l' UpTrend continua&amp;lt;br&amp;gt;annulla il Setup }&amp;lt;br&amp;gt;if High &amp;amp;gt;= High[BarHigh1] and One then begin&amp;lt;br&amp;gt;One=False;&amp;lt;br&amp;gt;Two=False;&amp;lt;br&amp;gt;Three=False;&amp;lt;br&amp;gt;Low2High=False;&amp;lt;br&amp;gt;Low2Low=False;&amp;lt;br&amp;gt;High3High=False;&amp;lt;br&amp;gt;High3Low=False;&amp;lt;br&amp;gt;BarHigh1=0;&amp;lt;br&amp;gt;BarLow2Low=0;&amp;lt;br&amp;gt;BarLow2High=0;&amp;lt;br&amp;gt;BarHigh3high=0;&amp;lt;br&amp;gt;BarHigh3Low=0;&amp;lt;br&amp;gt;BarTwoTxt=0;&amp;lt;br&amp;gt;BarThreeTxt=0;&amp;lt;br&amp;gt;CompleteLow=False;&amp;lt;br&amp;gt;CompleteHigh=False;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Ricerca la prima barra alla fine di un Uptrend }&amp;lt;br&amp;gt;{Swing High}&amp;lt;br&amp;gt;if One=False And High[1] &amp;amp;gt;=Highest(High[2],BarsBackTrend) and High &amp;amp;lt; High[1] then begin&amp;lt;br&amp;gt;BarHigh1=1;&amp;lt;br&amp;gt;One=True;&amp;lt;br&amp;gt;Two=False;&amp;lt;br&amp;gt;Three=False;&amp;lt;br&amp;gt;Low2High=True;&amp;lt;br&amp;gt;BarLow2High=0;&amp;lt;br&amp;gt;Complete=False;&amp;lt;br&amp;gt;High3High=False;&amp;lt;br&amp;gt;High3Low=False;&amp;lt;br&amp;gt;CompleteLow=False;&amp;lt;br&amp;gt;if Low &amp;amp;lt; Low[1] then begin&amp;lt;br&amp;gt;Low2Low=True;&amp;lt;br&amp;gt;BarLow2Low=0;&amp;lt;br&amp;gt;Two=True;&amp;lt;br&amp;gt;BarTwoTxt=0;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;If Low[1] &amp;amp;lt; Low[2] then begin&amp;lt;br&amp;gt;Low2Low=True;&amp;lt;br&amp;gt;BarLow2Low=1;&amp;lt;br&amp;gt;Two=True;&amp;lt;br&amp;gt;BarTwoTxt=1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Ricerca della 2 barra del 123High}&amp;lt;br&amp;gt;{Se fine uptrend trovato e non e' stata ancora trovati il minimo &amp;amp;lt; minimo 1a barra}&amp;lt;br&amp;gt;If One And Two=False and Low &amp;amp;lt; Low[1] and condition1 then begin&amp;lt;br&amp;gt;Low2Low=True; {trovato massimo superiore aggiorna contatore}&amp;lt;br&amp;gt;Two=True; {Trovata 2a barra}&amp;lt;br&amp;gt;Three=False; {cerca 3a barra}&amp;lt;br&amp;gt;High3High=False;&amp;lt;br&amp;gt;High3Low=False;&amp;lt;br&amp;gt;BarLow2Low=0;&amp;lt;br&amp;gt;BarTwoTxt=0;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Se setup 1 e 2 barre dell'123High sono passati cerca la 3 barra ritracciata}&amp;lt;br&amp;gt;If One And Two And Three=False then begin&amp;lt;br&amp;gt;if High3High=False And High &amp;amp;gt; High[BarLow2High] or High &amp;amp;gt; High[1] and condition1 then begin&amp;lt;br&amp;gt;High3High=True;&amp;lt;br&amp;gt;BarHigh3High=0;&amp;lt;br&amp;gt;BarThreeTxt=0;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;if High3Low=False And Low &amp;amp;gt; Low[BarLow2Low] or Low &amp;amp;gt; Low[1] and condition1 then begin&amp;lt;br&amp;gt;High3Low=True;&amp;lt;br&amp;gt;BarHigh3Low=0;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;if High3High And High3Low then begin&amp;lt;br&amp;gt;Three=True;&amp;lt;br&amp;gt;value1=Low[BarHigh1];&amp;lt;br&amp;gt;BarTwoTxt=BarHigh1;&amp;lt;br&amp;gt;for idx = BarHigh1 downto 0 begin&amp;lt;br&amp;gt;if Low[idx] &amp;amp;lt; value1 then begin&amp;lt;br&amp;gt;value1=Low[idx];&amp;lt;br&amp;gt;BarTwoTxt=idx;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;value1=High[BarTwoTxt];&amp;lt;br&amp;gt;for idx = BarTwoTxt downto 1 begin&amp;lt;br&amp;gt;if High[idx] &amp;amp;gt; value1 then begin&amp;lt;br&amp;gt;value1=High[idx];&amp;lt;br&amp;gt;BarThreeTxt=idx;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;End;&amp;lt;br&amp;gt;CompleteLow=False;&amp;lt;br&amp;gt;CompleteHigh=False;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Controllo che la combinazioni non superi il numero massimo delle barre}&amp;lt;br&amp;gt;{Ross consiglia max 3 barre 1 ,2, e 3 }&amp;lt;br&amp;gt;if BarHigh1 &amp;amp;gt; MaxBtwBar*3 or MaxList(BarLow2Low,BarLow2High) &amp;amp;gt; MaxBtwBar*2 or MaxList(BarHigh3High,BarHigh3Low) &amp;amp;gt; MaxBtwBar then begin&amp;lt;br&amp;gt;One=False;&amp;lt;br&amp;gt;Two=False;&amp;lt;br&amp;gt;Three=False;&amp;lt;br&amp;gt;Low2High=False;&amp;lt;br&amp;gt;Low2Low=False;&amp;lt;br&amp;gt;High3High=False;&amp;lt;br&amp;gt;High3Low=False;&amp;lt;br&amp;gt;BarHigh1=0;&amp;lt;br&amp;gt;BarLow2Low=0;&amp;lt;br&amp;gt;BarLow2High=0;&amp;lt;br&amp;gt;BarHigh3high=0;&amp;lt;br&amp;gt;BarHigh3Low=0;&amp;lt;br&amp;gt;BarTwoTxt=0;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Completamento 123High }&amp;lt;br&amp;gt;{Ricerca primo ritracciamento completo dell'123High}&amp;lt;br&amp;gt;If One And Two And Three then begin&amp;lt;br&amp;gt;If CompleteLow Then BarBrkOut=barBrkOut+1;&amp;lt;br&amp;gt;If CompleteLow=False And Low &amp;amp;lt; Low[1] then begin&amp;lt;br&amp;gt;CompleteLow=True;&amp;lt;br&amp;gt;BarBrkOut=0;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;if CompleteHigh=False And High&amp;amp;lt; High[1] then CompleteHigh=True;&amp;lt;br&amp;gt;If CompleteHigh=False Or CompleteLow=False And High &amp;amp;gt;= High[barThreeTxt] then BarThreeTxt=0;&amp;lt;br&amp;gt;If CompleteLow And CompleteHigh then begin&amp;lt;br&amp;gt;if date[BarTwoTxt] &amp;amp;lt;= date[BarThreeTxt] then begin&amp;lt;br&amp;gt;Offset=Average(Range,15)*0.5; {Offset x testo}&amp;lt;br&amp;gt;{Trova il minimo e il massimo tra la 1a e la 3a dell-123Low}&amp;lt;br&amp;gt;ValueOne=TEXT_new(Date[BarHigh1],Time[BarHigh1],High[BarHigh1]+Offset,&amp;quot;1&amp;quot;);{Testo della prima barra}&amp;lt;br&amp;gt;ValueTwo=Text_new(Date[BarTwoTxt],time[barTwoTxt],Low[BarTwoTxt]-Offset,&amp;quot;2&amp;quot;);{testo seconda barra }&amp;lt;br&amp;gt;ValueThree=Text_new(Date[barThreeTxt],time[BarThreeTxt],High[BarThreeTxt]+Offset,&amp;quot;3&amp;quot;);&amp;lt;br&amp;gt;Value1=Text_SetColor(ValueOne,Color1);&amp;lt;br&amp;gt;Value2=Text_SetColor(ValueTwo,Color2);&amp;lt;br&amp;gt;Value3=Text_SetColor(ValueThree,Color3);&amp;lt;br&amp;gt;OldHigh1=BarHigh1;&amp;lt;br&amp;gt;Complete=True;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;One=False;&amp;lt;br&amp;gt;Two=False;&amp;lt;br&amp;gt;Three=False;&amp;lt;br&amp;gt;Low2High=False;&amp;lt;br&amp;gt;Low2Low=False;&amp;lt;br&amp;gt;High3High=False;&amp;lt;br&amp;gt;High3Low=False;&amp;lt;br&amp;gt;CompleteLow=False;&amp;lt;br&amp;gt;CompleteHigh=False;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Setup x RH e display 123H}&amp;lt;br&amp;gt;If Complete then begin&amp;lt;br&amp;gt;if DisplayRH then begin&amp;lt;br&amp;gt;ValueBrk=Text_new(Date[barbrkout],time[barbrkout],Low[barbrkout]-offset*2,&amp;quot;RH------&amp;quot;);&amp;lt;br&amp;gt;Value1=Text_SetColor(ValueBrk,Color2);&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;Alert(&amp;quot;Sell Short &amp;amp;lt; &amp;quot;+NumToStr(Low[BarHigh3Low],3)+&amp;quot; / Stop &amp;amp;gt; &amp;quot;+NumToStr(High[BarHigh3High],3));&amp;lt;br&amp;gt;{Complete=False;}&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{Se True cancella vecche barre}&amp;lt;br&amp;gt;if History=False and ValueOne &amp;amp;gt; NrDelPrev then value1=Text_Delete(Text_Getfirst(1)); &lt;br /&gt;
&lt;br /&gt;
{ Strategy }&amp;lt;br&amp;gt;XAverage90=XAverage(Close,89)[1];&amp;lt;br&amp;gt;if Complete then begin&amp;lt;br&amp;gt;value9=AbsValue(High[BarThreeTxt]-Low[BarTwoTxt])/Close*100;&amp;lt;br&amp;gt;if value9&amp;amp;lt;=MaxPercLoss and cCurrentEntries=0 then begin&amp;lt;br&amp;gt;TradeAccount=Account-(CurrentContracts*AvgEntryPrice)+NetProfit;&amp;lt;br&amp;gt;if Close&amp;amp;gt;XAverage90 and (LowRisk=false or (High[BarThreeTxt]&amp;amp;gt;XAverage90[BarThreeTxt] and Low[BarTwoTxt]&amp;amp;gt;XAverage90[BarTwoTxt])) then begin&amp;lt;br&amp;gt;BuyStop=TicksRound(High[BarThreeTxt]+TicksMTS(High[BarThreeTxt]));&amp;lt;br&amp;gt;LExitStop=TicksRound(Low[BarTwoTxt]-TicksMTS(Low[BarTwoTxt]));&amp;lt;br&amp;gt;SellStop=-1;&amp;lt;br&amp;gt;SExitStop=-1;&amp;lt;br&amp;gt;HighLimit=-1;&amp;lt;br&amp;gt;end&amp;lt;br&amp;gt;else if Close&amp;amp;lt;=XAverage90 and (LowRisk=false or (Low[BarTwoTxt]&amp;amp;lt;=XAverage90[BarTwoTxt] and High[BarThreeTxt]&amp;amp;lt;=XAverage90[BarThreeTxt])) then begin&amp;lt;br&amp;gt;SellStop=TicksRound(Low[BarTwoTxt]-TicksMTS(Low[BarTwoTxt]));&amp;lt;br&amp;gt;SExitStop=TicksRound(High[BarThreeTxt]+TicksMTS(High[BarThreeTxt]));&amp;lt;br&amp;gt;HighLimit=TicksRound(High[BarHigh1]+TicksMTS(High[BarHigh1]));&amp;lt;br&amp;gt;BuyStop=-1;&amp;lt;br&amp;gt;LExitStop=-1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;if MaxList(BuyStop,SellStop)&amp;amp;lt;&amp;amp;gt;-1 and TradeAccount&amp;amp;gt;2*MaxList(BuyStop,SellStop) then&amp;lt;br&amp;gt;PosSize=PositionMoneyMng(TradeAccount,MaxPercRisk,MaxList(BuyStop,SellStop),MaxList(BuyStop,SExitStop)-MaxList(LExitStop,SellStop))&amp;lt;br&amp;gt;else begin&amp;lt;br&amp;gt;BuyStop=-1;&amp;lt;br&amp;gt;LExitStop=-1;&amp;lt;br&amp;gt;HighLimit=-1;&amp;lt;br&amp;gt;SellStop=-1;&amp;lt;br&amp;gt;SExitStop=-1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;{print(&amp;quot;Complete0 &amp;quot;,date[BarHigh1],&amp;quot; &amp;quot;,date[BarTwoTxt],&amp;quot; &amp;quot;,date[BarThreeTxt],&amp;quot; &amp;quot;,date);&amp;lt;br&amp;gt;print(&amp;quot;Complete1 &amp;quot;,date[BarLow2Low],&amp;quot; &amp;quot;,date[BarLow2High],&amp;quot; &amp;quot;,date[BarHigh3Low],&amp;quot; &amp;quot;,date[Barhigh3High]);}&amp;lt;br&amp;gt;Complete=False;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
if MarketPosition=0 then begin&amp;lt;br&amp;gt;if BuyStop&amp;amp;lt;&amp;amp;gt;-1 then begin&amp;lt;br&amp;gt;if Low&amp;amp;gt;LExitStop and Close&amp;amp;gt;XAverage90 then&amp;lt;br&amp;gt;Buy (&amp;quot;RHL&amp;quot;) PosSize shares next bar at BuyStop stop&amp;lt;br&amp;gt;else begin&amp;lt;br&amp;gt;BuyStop=-1;&amp;lt;br&amp;gt;LExitStop=-1;&amp;lt;br&amp;gt;HighLimit=-1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end&amp;lt;br&amp;gt;else if SellStop&amp;amp;lt;&amp;amp;gt;-1 then begin&amp;lt;br&amp;gt;if High&amp;amp;lt;HighLimit and Close&amp;amp;lt;=XAverage90 then&amp;lt;br&amp;gt;Sell (&amp;quot;RHS&amp;quot;) PosSize shares next bar at SellStop stop&amp;lt;br&amp;gt;else begin&amp;lt;br&amp;gt;SellStop=-1;&amp;lt;br&amp;gt;SExitStop=-1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
cCurrentEntries=CurrentEntries;&amp;lt;br&amp;gt;cAvgEntryPrice=AvgEntryPrice;&amp;lt;br&amp;gt;if (cCurrentEntries&amp;amp;gt;cCurrentEntries[1]) then begin&amp;lt;br&amp;gt;cEntryPrice=(CurrentContracts*AvgEntryPrice-(CurrentContracts-PosSize)*cAvgEntryPrice[1])/PosSize;&amp;lt;br&amp;gt;BuyStop=-1;&amp;lt;br&amp;gt;HighLimit=-1;&amp;lt;br&amp;gt;SellStop=-1;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;if (cCurrentEntries=0 and cCurrentEntries[1]&amp;amp;lt;&amp;amp;gt;0) then begin&amp;lt;br&amp;gt;LExitStop=-1;&amp;lt;br&amp;gt;SExitStop=-1;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{ Gestione Exit Stop &amp;amp;amp; Trailing }&amp;lt;br&amp;gt;if MarketPosition=1 then begin&amp;lt;br&amp;gt;{if Low&amp;amp;gt;cEntryPrice and cEntryPrice&amp;amp;gt;LExitStop then&amp;lt;br&amp;gt;LExitStop=cEntryPrice;} {Peggiora performance }&amp;lt;br&amp;gt;ExitLong (&amp;quot;LES&amp;quot;) next bar at LExitStop stop;&amp;lt;br&amp;gt;if BarsSinceEntry&amp;amp;gt;TrailBars then&amp;lt;br&amp;gt;ExitLong (&amp;quot;LET&amp;quot;) next bar at TicksRound(Lowest(Low,TrailBars)) stop;&amp;lt;br&amp;gt;end&amp;lt;br&amp;gt;else if MarketPosition=-1 then begin&amp;lt;br&amp;gt;{if High&amp;amp;lt;cEntryPrice and cEntryPrice&amp;amp;lt;SExitStop then&amp;lt;br&amp;gt;SExitStop=cEntryPrice;} {Peggiora performance }&amp;lt;br&amp;gt;ExitShort (&amp;quot;SES&amp;quot;) next bar at SExitStop stop;&amp;lt;br&amp;gt;if BarsSinceEntry&amp;amp;gt;TrailBars then&amp;lt;br&amp;gt;ExitShort (&amp;quot;SET&amp;quot;) next bar at TicksRound(Highest(High,TrailBars)) stop;&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
{ Expert Commentary Report }&amp;lt;br&amp;gt;If AtCommentaryBar then begin&amp;lt;br&amp;gt;Eq=Account-(CurrentContracts*AvgEntryPrice)+NetProfit;&amp;lt;br&amp;gt;Vars:Str(&amp;quot;&amp;quot;);&amp;lt;br&amp;gt;Str=Str+&amp;quot;*************** System inputs **************************&amp;quot;+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Starting Capital&amp;amp;nbsp;: &amp;quot;+NumToStr(Account,2)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Percentage of Equity to risk&amp;amp;nbsp;: &amp;quot;+NumToStr(MaxPercRisk,2)+&amp;quot;&amp;amp;nbsp;% &amp;quot;+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;*************** Current statistics ************************&amp;quot;+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Market position&amp;amp;nbsp;: &amp;quot;+NumToStr(MarketPosition,0)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Current Shares held&amp;amp;nbsp;: &amp;quot;+NumToStr(CurrentContracts,0)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Current Equity&amp;amp;nbsp;: &amp;quot;+NumToStr(Eq,2)+NewLine;&amp;lt;br&amp;gt;if BuyStop&amp;amp;lt;&amp;amp;gt;-1 or SellStop&amp;amp;lt;&amp;amp;gt;-1 then&amp;lt;br&amp;gt;Str=Str+&amp;quot;Percentage of current Equity to risk&amp;amp;nbsp;: &amp;quot;+NumToStr(MaxPercRisk,2)+&amp;quot;&amp;amp;nbsp;% equals &amp;quot;+NumToStr(-Eq*MaxPercRisk/100,2)+&amp;quot; dollars &amp;quot;+NewLine;&amp;lt;br&amp;gt;If BuyStop&amp;amp;lt;&amp;amp;gt;-1 then begin&amp;lt;br&amp;gt;Str=Str+&amp;quot;Entry Long&amp;amp;nbsp;: &amp;quot;+NumToStr(BuyStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Exit Long&amp;amp;nbsp;: &amp;quot; +NumToStr(LExitStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Difference between Entry Long and Exit Long in Dollars&amp;amp;nbsp;: &amp;quot;+NumToStr(BuyStop-LExitStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Number of shares to buy to risk &amp;quot;+NumToStr(MaxPercRisk,2)+&amp;quot;&amp;amp;nbsp;% of capital&amp;amp;nbsp;: &amp;quot;+NumToStr(PosSize,0)+NewLine;&amp;lt;br&amp;gt;end&amp;lt;br&amp;gt;else If MarketPosition=1 then begin&amp;lt;br&amp;gt;Eq=Account+NetProfit;&amp;lt;br&amp;gt;T1=-CurrentContracts*(cAvgEntryPrice-LExitStop);&amp;lt;br&amp;gt;Str=Str+&amp;quot;Percentage of current Equity to risk&amp;amp;nbsp;: &amp;quot;+NumToStr(AbsValue(100*T1/Eq),2)+&amp;quot;&amp;amp;nbsp;% equals &amp;quot;+NumToStr(T1,2)+&amp;quot; dollars &amp;quot;+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Entry Long&amp;amp;nbsp;: &amp;quot;+NumToStr(cEntryPrice,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Exit Long&amp;amp;nbsp;: &amp;quot; +NumToStr(LExitStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Difference between Entry Long and Exit Long in Dollars&amp;amp;nbsp;: &amp;quot;+NumToStr(cEntryPrice-LExitStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Open Position Profit in Dollars&amp;amp;nbsp;: &amp;quot;+NumToStr(OpenPositionProfit,2)+NewLine;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;If SellStop&amp;amp;lt;&amp;amp;gt;-1 then begin&amp;lt;br&amp;gt;Str=Str+&amp;quot;Entry Short&amp;amp;nbsp;: &amp;quot;+NumToStr(SellStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Exit Short&amp;amp;nbsp;: &amp;quot; +NumToStr(SExitStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Difference between Entry Short and Exit Short in Dollars&amp;amp;nbsp;: &amp;quot;+NumToStr(SExitStop-cEntryPrice,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Number of shares to Sell to risk &amp;quot;+NumToStr(MaxPercRisk,2)+&amp;quot;&amp;amp;nbsp;% of capital&amp;amp;nbsp;: &amp;quot;+NumToStr(PosSize,0)+NewLine;&amp;lt;br&amp;gt;end&amp;lt;br&amp;gt;else If MarketPosition=-1 then begin&amp;lt;br&amp;gt;Eq=Account+NetProfit;&amp;lt;br&amp;gt;T1=-CurrentContracts*(SExitStop-cAvgEntryPrice);&amp;lt;br&amp;gt;Str=Str+&amp;quot;Percentage of current Equity to risk&amp;amp;nbsp;: &amp;quot;+NumToStr(AbsValue(100*T1/Eq),2)+&amp;quot;&amp;amp;nbsp;% equals &amp;quot;+NumToStr(T1,2)+&amp;quot; dollars &amp;quot;+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Entry Short&amp;amp;nbsp;: &amp;quot;+NumToStr(cEntryPrice,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Exit Short&amp;amp;nbsp;: &amp;quot; +NumToStr(SExitStop,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Difference between Entry Short and Exit Short in Dollars&amp;amp;nbsp;: &amp;quot;+NumToStr(SExitStop-cEntryPrice,4)+NewLine;&amp;lt;br&amp;gt;Str=Str+&amp;quot;Open Position Profit in Dollars&amp;amp;nbsp;: &amp;quot;+NumToStr(OpenPositionProfit,2)+NewLine;&amp;lt;br&amp;gt;end;&amp;lt;br&amp;gt;Commentary(Str);&amp;lt;br&amp;gt;end; &lt;br /&gt;
&lt;br /&gt;
FINE FORMULA&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vedi anche:  ==&lt;br /&gt;
&lt;br /&gt;
*[[Indice sequenziale Formule|Indice sequenziale Formule]] &lt;br /&gt;
*[[Formula 123 Low|Formula 123 Low]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Formule]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Stefano Fanton</name></author>
	</entry>
</feed>