Market Trader Forum

Market Trader Forum
das ultimative Expertenforum
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Market Trader Forum Foren-Übersicht -> eSignal Ecke
Autor
Nachricht
wp


Anmeldedatum: 29.08.2005
Beiträge: 388

Market Pivot
Verfasst am: 15.02.2006, 10:21

@wuelle

Ok, dann fang ich mal an mit einem extrem harcoded Market Pivot.

Je nach Underlying muss beim Runden rnd.Nt die Tickgröße berücksichtigt werden.

Zitat:



var area;
var app;
var MP;

function preMain() {

setPriceStudy(true);
setStudyTitle("MarketPivot");
setCursorLabelName("MP",0);
setDefaultBarFgColor(Color.blue,0);
setPlotType(PLOTTYPE_DOT,0);
setDefaultBarThickness(1,0);

}


function main (){
app =
((high(-5,inv("d")) -low(-5,inv("d"))+1) + Math.abs (close(-5,inv("d"))- open(-5,inv("d")))+1)+
((high(-4,inv("d")) -low(-4,inv("d"))+1) + Math.abs (close(-4,inv("d"))- open(-4,inv("d")))+1)+
((high(-3,inv("d")) -low(-3,inv("d"))+1) + Math.abs (close(-3,inv("d"))- open(-3,inv("d")))+1)+
((high(-2,inv("d")) -low(-2,inv("d"))+1) + Math.abs (close(-2,inv("d"))- open(-2,inv("d")))+1)+
((high(-1,inv("d")) -low(-1,inv("d"))+1) + Math.abs (close(-1,inv("d"))- open(-1,inv("d")))+1);

area= ((high(-1,inv("d"))+low(-1,inv("d")))/2*(high(-1,inv("d"))-low(-1,inv("d"))+1) + Math.abs(close(-1,inv("d"))+open(-1,inv("d")))/2*(Math.abs(close(-1,inv("d"))-open(-1,inv("d")))+1))+
((high(-2,inv("d"))+low(-2,inv("d")))/2*(high(-2,inv("d"))-low(-2,inv("d"))+1) + Math.abs(close(-2,inv("d"))+open(-2,inv("d")))/2*(Math.abs(close(-2,inv("d"))-open(-2,inv("d")))+1))+
((high(-3,inv("d"))+low(-3,inv("d")))/2*(high(-3,inv("d"))-low(-3,inv("d"))+1) + Math.abs(close(-3,inv("d"))+open(-3,inv("d")))/2*(Math.abs(close(-3,inv("d"))-open(-3,inv("d")))+1))+
((high(-4,inv("d"))+low(-4,inv("d")))/2*(high(-4,inv("d"))-low(-4,inv("d"))+1) + Math.abs(close(-4,inv("d"))+open(-4,inv("d")))/2*(Math.abs(close(-4,inv("d"))-open(-4,inv("d")))+1))+
((high(-5,inv("d"))+low(-5,inv("d")))/2*(high(-5,inv("d"))-low(-5,inv("d"))+1) + Math.abs(close(-5,inv("d"))+open(-5,inv("d")))/2*(Math.abs(close(-5,inv("d"))-open(-5,inv("d")))+1));


MP = Rnd.Nt( area/app, 100);

drawTextAbsolute(10, MP, "MarketPivot @"+MP, Color.black, Color.cyan, Text.ONTOP, null, 10,"MP");

return (MP);

}
//rounding function rounding function rounding function rounding function rounding function rounding function rounding function
var Rnd = new round_efs_extension();//Rnd.Dn(number,tick amount);Rnd.Up(number,tick amount);Rnd.Nt(number,tick amount);
function round_efs_extension(){
this.Up = function(tmp1,div1){return Math.ceil((tmp1-1/div1)*div1)/div1;}//Round Up
this.Dn = function(tmp1,div1){return Math.floor((tmp1+1/div1)*div1)/div1;}//Round Down
this.Nt = function(tmp1,div1){return Math.round(tmp1*div1)/div1;}//Round Nearest
}




Sieht dann beim Bund so aus. Zum Vergleich, Joram hat ebenfalls einen MP von 120.26.


_________________


Zuletzt bearbeitet von wp am 15.02.2006, 10:27, insgesamt einmal bearbeitet

 
SwingManT


Anmeldedatum: 17.08.2005
Beiträge: 1700
Wohnort: Frankfurt am Main


Verfasst am: 15.02.2006, 10:31

@wp

Zitat:

Ok, dann fang ich mal an mit einem extrem harcoded Market Pivot.



- Du schonst uns überhaupt nicht!

 
wuelle


Anmeldedatum: 24.08.2005
Beiträge: 336


Verfasst am: 15.02.2006, 13:43

@WP

Hier ist was los!

Ich habe ja noch nicht mal Deinen Box Whisker Code, nebst geplanter Ergänzung um den Box Wiskey modified OpenUp und OpenDn verdaut, schon legst Du nach. :-)

Was mir auf Anhieb einfällt, ist, daß eSignal bekanntlich das Settlement als Closing nimmt. Dieser Umstand und die Auswirkung auf die Market Pivots wurde hier ja bereits kontrovers dikutiert.

Dieser Umstand muß eSignal Benutzern, wie Du sicherlich weißt, seit efs2 keine Kopfschmerzen mehr bereiten.

Wenn man will, kann man in der Formel

Zitat:

((high(-5,inv("d")) -low(-5,inv("d"))+1) + Math.abs (close(-5,inv("d")) - open(-5,inv("d")))+1)




statt close(-5,inv("d")) das Intervall close(-5,inv("660") einsetzen und erhält die Market Pivots mit dem Close von 19:00 Uhr.

eSignal bietet also die Möglichkeit im Handumdrehen die Pivotlevels mit unterschiedlichem Wert für das Close, zum Beispiel Settlement oder 19:00 oder 22:00 zu vergleichen und ins Excel zu exportieren!





_________________


 
wuelle


Anmeldedatum: 24.08.2005
Beiträge: 336


Verfasst am: 15.02.2006, 15:58


@WP

Ich habe mal an Deinem Code rumgebastelt.

Je nachdem, welche Parole Joram oder Swingman ausgeben, kann der geneigte eSignal User jetzt per Menü auswählen, auf welcher Basis der MP errechnet werden soll: Settlement, 19:00, 20:00 oder 22:00.

Außerdem habe ich den Code um folgende Zeile erweitert:

Zitat:

if ( getBarStateInterval("D") == BARSTATE_NEWBAR ) { //Check new day




Das beschleunigt die Berechnung enorm, da das Progarmm nicht bei jedem Balken, sondern nur am Tagesbeginn einmal den Code durchläuft und die Pivots berechnet!

Der erweiterte Code:

Zitat:


var area;
var app;
var MP;

function preMain() {

setPriceStudy(true);
setStudyTitle("MarketPivot");
setCursorLabelName("MP",0);
setDefaultBarFgColor(Color.blue,0);
setPlotType(PLOTTYPE_DOT,0);
setDefaultBarThickness(1,0);

var fp1 = new FunctionParameter("Pivotstyle", FunctionParameter.STRING);
fp1.setName("Pivotstyle");
fp1.addOption("Settlement");
fp1.addOption("19:00");
fp1.addOption("20:00");
fp1.addOption("22:00");
fp1.setDefault("Settlement");

}

function main (Pivotstyle){

if ( getBarStateInterval("D") == BARSTATE_NEWBAR ) { //Check new day

if (Pivotstyle == "Settlement") var cl = "D";
if (Pivotstyle == "19:00") var cl = 660;
if (Pivotstyle == "20:00") var cl = 720;
if (Pivotstyle == "22:00") var cl = 840;

app =
((high(-5,inv("d")) -low(-5,inv("d"))+1) + Math.abs (close(-5,inv(cl))- open(-5,inv("d")))+1)+
((high(-4,inv("d")) -low(-4,inv("d"))+1) + Math.abs (close(-4,inv(cl))- open(-4,inv("d")))+1)+
((high(-3,inv("d")) -low(-3,inv("d"))+1) + Math.abs (close(-3,inv(cl))- open(-3,inv("d")))+1)+
((high(-2,inv("d")) -low(-2,inv("d"))+1) + Math.abs (close(-2,inv(cl))- open(-2,inv("d")))+1)+
((high(-1,inv("d")) -low(-1,inv("d"))+1) + Math.abs (close(-1,inv(cl))- open(-1,inv("d")))+1);

area= ((high(-1,inv("d"))+low(-1,inv("d")))/2 * (high(-1,inv("d"))-low(-1,inv("d"))+1) +
Math.abs(close(-1,inv(cl))+open(-1,inv("d")))/2 *
(Math.abs(close(-1,inv(cl))-open(-1,inv("d")))+1))+
((high(-2,inv("d"))+low(-2,inv("d")))/2*(high(-2,inv("d"))-low(-2,inv("d"))+1) +
Math.abs(close(-2,inv(cl))+open(-2,inv("d")))/2 *
(Math.abs(close(-2,inv(cl))-open(-2,inv("d")))+1))+
((high(-3,inv("d"))+low(-3,inv("d")))/2*(high(-3,inv("d"))-low(-3,inv("d"))+1) +
Math.abs(close(-3,inv(cl))+open(-3,inv("d")))/2 *
(Math.abs(close(-3,inv(cl))-open(-3,inv("d")))+1))+
((high(-4,inv("d"))+low(-4,inv("d")))/2*(high(-4,inv("d"))-low(-4,inv("d"))+1) +
Math.abs(close(-4,inv(cl))+open(-4,inv("d")))/2 *
(Math.abs(close(-4,inv(cl))-open(-4,inv("d")))+1))+
((high(-5,inv("d"))+low(-5,inv("d")))/2*(high(-5,inv("d"))-low(-5,inv("d"))+1) +
Math.abs(close(-5,inv(cl))+open(-5,inv("d")))/2*
(Math.abs(close(-5,inv(cl))-open(-5,inv("d")))+1));


MP = Rnd.Nt( area/app, 100);
}

drawTextAbsolute(10, MP, "MarketPivot @"+MP, Color.black, Color.cyan, Text.ONTOP, null, 10,"MP");

return (MP);

}
//rounding function rounding function rounding function rounding function rounding function rounding function rounding function
var Rnd = new round_efs_extension();//Rnd.Dn(number,tick amount);Rnd.Up(number,tick amount);Rnd.Nt(number,tick amount);
function round_efs_extension(){
this.Up = function(tmp1,div1){return Math.ceil((tmp1-1/div1)*div1)/div1;}//Round Up
this.Dn = function(tmp1,div1){return Math.floor((tmp1+1/div1)*div1)/div1;}//Round Down
this.Nt = function(tmp1,div1){return Math.round(tmp1*div1)/div1;}//Round Nearest
}







 
Neues Thema eröffnen   Neue Antwort erstellen    Market Trader Forum Foren-Übersicht -> eSignal Ecke
 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Market Pivot Berechnung mit Intraday-Daten 835 02.11.2007, 16:49
Keine neuen Beiträge Market Pivot im FX 351 18.04.2007, 17:20
Keine neuen Beiträge Market Profile 258 06.10.2005, 06:22
Keine neuen Beiträge Market Pivot System für BuFu - Auswertung 391 11.09.2005, 14:42
Keine neuen Beiträge Pivot Links 266 20.08.2005, 23:54
 



[ Time: 0.2580s ][ Queries: 121 (0.0199s) ][ GZIP on - Debug on ]