}
//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.
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!
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;
}
//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
}