NexusFi: Find Your Edge


Home Menu

 





The Economic Events Collection for MultiCharts


Discussion in MultiCharts

Updated
      Top Posters
    1. looks_one Nicolas11 with 10 posts (21 thanks)
    2. looks_two Jura with 9 posts (46 thanks)
    3. looks_3 Wouter with 5 posts (2 thanks)
    4. looks_4 knias with 3 posts (0 thanks)
      Best Posters
    1. looks_one Jura with 5.1 thanks per post
    2. looks_two Nicolas11 with 2.1 thanks per post
    3. looks_3 SARdynamite with 2 thanks per post
    4. looks_4 Locust with 1.7 thanks per post
    1. trending_up 24,060 views
    2. thumb_up 83 thanks given
    3. group 23 followers
    1. forum 51 posts
    2. attach_file 18 attachments




 
Search this Thread

The Economic Events Collection for MultiCharts

  #41 (permalink)
 ABCTG   is a Vendor
 
Posts: 2,433 since Apr 2013
Thanks Given: 481
Thanks Received: 1,627

monexx,

did you download the Economic events before with the Java tool?

Regards,
ABCTG


monexx View Post
Hello Jura
I compiled code in Multicharts but the chart does not show me anything.

Can you please advise where it can be wrong?


Follow me on Twitter Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
ZombieSqueeze
Platforms and Indicators
MC PL editor upgrade
MultiCharts
Exit Strategy
NinjaTrader
REcommedations for programming help
Sierra Chart
Better Renko Gaps
The Elite Circle
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Spoo-nalysis ES e-mini futures S&P 500
29 thanks
Just another trading journal: PA, Wyckoff & Trends
25 thanks
Tao te Trade: way of the WLD
24 thanks
Bigger Wins or Fewer Losses?
21 thanks
GFIs1 1 DAX trade per day journal
17 thanks
  #42 (permalink)
monexx
Nitra Slovakia
 
Posts: 3 since Feb 2014
Thanks Given: 2
Thanks Received: 0


ABCTG View Post
monexx,

did you download the Economic events before with the Java tool?

Regards,
ABCTG


Yes, I downloaded it.
Upcoming economic events idicator works well.
This version for backtest published by Jura does not work .
It will not appear historical economic events on the chart .

Reply With Quote
  #43 (permalink)
 
Jura's Avatar
 Jura   is a Vendor
 
Posts: 775 since Apr 2010
Thanks Given: 2,352
Thanks Received: 690



monexx View Post
Yes, I downloaded it.
Upcoming economic events idicator works well.
This version for backtest published by Jura does not work .
It will not appear historical economic events on the chart .

What have you tried so far, and when does the error occur?

Started this thread Reply With Quote
Thanked by:
  #44 (permalink)
monexx
Nitra Slovakia
 
Posts: 3 since Feb 2014
Thanks Given: 2
Thanks Received: 0

I turned off : Update on every tick
I compile the code in this form :

Inputs:
NameOfList("myHistList"),
RegionsToKeep("EUR;USD;GBP"),
ChopUpStrings(False),
Ticks_OffSet(8),
HighImpact_Color(Red),
MediumImpact_Color(yellow),
LowImpact_Color(cyan),
DisplayArrow(True),
Arrow_Size(5),
DisplayLine(True),
Line_Width(1),
Line_Style(2),
DisplayText(True),
Text_FontSize(10),
Text_FontName("Lucida Sans Typewriter"),
Text_FontColor(white);

Variables:
tickOffSet( Ticks_OffSet * MinMove), //(Power(10, Round(Log(PriceScale) / Log(10), 0)) / MinMove) ),
tickSize(MinMove / PriceScale),
dtEconEvent(0), prevDtEconEvent(0), dtNextBar(0), dtPrevBar(0), indexNumber(1),
firstDate(0), firstTime(0), arrowID(0), textID(0), tlID(0), loopDoneForBar(False), impactOfEvent(0),
listLength(0),
x(0), y(0), z(0);

if (CurrentBar = 1) then begin
firstDate = Date;
firstTime = Time_s;
end;

Arrays:
barPrice[](0), barDT[](0), barPriceLow[](0);

once cleardebug;

// Collect data
if (BarStatus(1) = 2) then begin
x = Array_GetMaxIndex(barPrice);

Array_SetMaxIndex(barPrice, x + 1);
Array_SetMaxIndex(barDT, x + 1);
Array_SetMaxIndex(barPriceLow, x + 1);

barPrice[x+1] = Highest(High, 10); //High;

if (x > 10) then
barPrice[x+1-10] = Highest(High, 20);

barDT[x+1] = ELDateToDateTime(Date) + ELTimeToDateTime_s(Time_s);
barPriceLow[x+1] = Low - (MinMove * 2);

end; //: Data collection


if (LastBarOnChart_s = True) and (BarStatus(1) = 2) and (GetAppInfo(aiRealTimeCalc) = 0) then begin

// Generate economic events list
once begin

value1 = EE.GetHistoricalEvents(NameOfList, firstDate, Date);
// value1 = EE.GetFutureEvents(NameOfList);
value1 = EE.KeepTimeRange(NameOfList, SessionStartTime(0, DayOfWeek(Date)), SessionEndTime(0, DayOfWeek(Date)));
value1 = EE.KeepRegions(NameOfList, RegionsToKeep); // Only keep the specified regions in the list
value1 = EE.RemoveImpact(NameOfList, 0); // Remove all events with impact 0 (i.e. bank holiday)

// Note: uncomment the line below to see which Economic Events are in the list after the filtering functions. (For debugging purposes)
// EE.PrintToOutputLog(NameOfList);
end;

Print("Lengt of bar array: ", array_getmaxindex(barPrice), " and barDt: ", array_getmaxindex(barDT));

dtEconEvent = EE.DateTimeOfEvent(NameOfList, indexNumber);
listLength = EE.GetMaxIndex(NameOfList);

z = 1;
y = 1;
value1 = 1;
value2 = 1;

// Loop through data
for x = 1 to Array_GetMaxIndex(barDT) - 1 begin

// if there are multiple economic events on this time
for z = 0 to 9 begin

if (IntPortion(barDT[x]) = IntPortion(dtEconEvent)) and (barDT[x-1] < dtEconEvent) and (barDT[x+1] > dtEconEvent) then begin

Print("PrevBar: ", DateTimeToString(barDT[x-1]), " Event: ", DateTimeToString(dtEconEvent), " next bar: ", DateTimeToString(barDT[x+1]));
Print(Spaces(2), "Date of event: ", FormatDate("dd-MM-yy", ELDateToDateTime(EE.DateList(NameOfList, indexNumber))),
" Time of event: ", FormatTime("HH:mm:ss", ELTimeToDateTime(EE.TimeList(NameOfList, indexnumber))),
" name of event: ", EE.EventList(NameOfList, indexNumber));

// Plot
if (z = 0) then begin

if (DisplayText = True) then

textID = Text_New_s(EE.DateList(NameOfList, indexNumber),
EE.TimeList(NameOfList, indexNumber) * 100,
barPrice[x] + (tickSize * 2) + Arrow_Size,
IffString(ChopUpStrings = True,
StrChopUp(Text(EE.EventList(NameOfList, indexNumber), " (", EE.RegionList(NameOfList, indexNumber), ")")),
Text(EE.EventList(NameOfList, indexNumber), " (", EE.RegionList(NameOfList, indexNumber), ")")
));

if (DisplayArrow = True) then

arrowID = Arw_New_s(EE.DateList(NameOfList, indexNumber),
EE.TimeList(NameOfList, indexNumber) * 100,
barPrice[x], True);

if (DisplayLine = True) then
tlID = TL_New_s(EE.DateList(NameOfList, indexNumber),
EE.TimeList(nameOfList, indexNumber) * 100,
barPriceLow[x],
EE.DateList(NameOfList, indexNumber),
EE.TimeList(nameOfList, indexNumber) * 100,
barPriceLow[x] * 0.85);


end //: z = 0

else if (DisplayText = True) then
value1 = Text_SetString(textID, Text(Text_GetString(textID), NewLine, "&", NewLine,
IffString(ChopUpStrings = True,
StrChopUp(Text(EE.EventList(NameOfList, indexNumber), " (", EE.RegionList(NameOfList, indexNumber), ")")),
Text(EE.EventList(NameOfList, indexNumber), " (", EE.RegionList(NameOfList, indexNumber), ")"))
));

// Formatting
value6 = Text_SetSize(textID, Text_FontSize);
value6 = Text_SetFontName(textID, Text_FontName);
value6 = Text_SetStyle(textID, 0, 1);
value6 = Text_SetColor(textID, Text_FontColor);

value7 = Arw_SetSize(arrowID, Arrow_Size);

value8 = TL_SetStyle(tlID, Line_Style);
value8 = TL_SetSize(tlID, Line_Width);

impactOfEvent = EE.ImpactList(NameOfList, indexNumber);

switch (impactOfEvent) begin

case 1: // low impact
value5 = Arw_SetColor(arrowID, LowImpact_Color);
value5 = TL_SetColor(tlID, LowImpact_Color);

case 2: // medium
value5 = Arw_SetColor(arrowID, MediumImpact_Color);
value5 = TL_SetColor(tlID, MediumImpact_Color);

case 3: // high
value5 = Arw_SetColor(arrowID, HighImpact_Color);
value5 = TL_SetColor(tlID, HighImpact_Color);

end; //: ImpactOfEvent switch

indexNumber = indexNumber + 1;

dtEconEvent = IFF(indexNumber > listLength, 9999999, EE.DateTimeOfEvent(NameOfList, indexNumber));

Print(Spaces(3), "Next econ event = ", DateTimeToString(dtEconEvent));

// value2 = value2 + 1;

end else if (IntPortion(barDT[x]) > IntPortion(dtEconEvent)) then begin

Print("BarDT: ", DateTimeToString(BarDT[x]), " econ event: ", DateTimeToString(dtEconEvent), " - happened on a market closed day");

indexNumber = indexNumber + 1;

dtEconEvent = EE.DateTimeOfEvent(NameOfList, indexNumber);

// value1 = value1 + 1;
end;

end; //: z loop
end; //: x loop

// Print("How many economic events missed? ", value1);
// Print("How many economic events plotted? ", value2);

loopDoneForBar = False;

while (loopDoneForBar = False) begin

// If the economic event doesn't happen on this day -> skip
// that way, when the market is closed when economic events happened, the list moves on
if (IntPortion(barDT[x]) > IntPortion(dtEconEvent)) then begin

y = y + 1;

Print(Spaces(2), "How many days skipped? ", NumToStr(y, 0));

Print(Spaces(4), "Date: ", FormatDate("dd-MM-yyyy", barDT[x]),
" event date: ", FormatDate("dd-MM-yyyy", dtEconEvent));

indexNumber = indexNumber + 1;

if (indexNumber <= listLength) then begin
dtEconEvent = EE.DateTimeOfEvent(NameOfList, indexNumber);
// Print("indexnum: ", NumToStr(indexNumber, 0));
end;

loopDoneForBar = True;

end else

if (barDT[x-1] < dtEconEvent) and (barDT[x+1] > dtEconEvent) then begin

z = z + 1;

Print("How many events are there according to the code? ", NumToStr(z, 0),
" And what is x? ", NumToStr(x, 0));

// Print(Spaces(2), "dt: ", NumToStr(dtEconEvent, 10), " indexNumber: ", indexNumber,
// " Date: ", FormatDate("dd-MM-yyyy", dtEconEvent), " time: ", ToTime_DT(dtEconEvent));

// Draw text & arrows
textID = Text_New_s(EE.DateList(NameOfList, indexNumber), EE.TimeList(NameOfList, indexNumber) * 100, barPrice[x] + tickOffSet,
Text(EE.EventList(NameOfList, indexNumber), "(", EE.RegionList(NameOfList, indexNumber), ")"));

arrowID = Arw_New_s(EE.DateList(NameOfList, indexNumber), EE.TimeList(NameOfList, indexNumber),
barPrice[x] + 0.33 * tickOffSet, True);

indexNumber = indexNumber + 1;
dtEconEvent = EE.DateTimeOfEvent(NameOfList, indexNumber);

if (dtEconEvent = prevDtEconEvent) then
loopDoneForBar = False
else
loopDoneForBar = True;

end else
loopDoneForBar = True;
end;
//prevDtEconEvent = dtEconEvent;




Print("length of list? : ", EE.GetMaxIndex(NameOfList));

end; //: LastBarOnChart_s check




I got this error message : attached screenshot

Attached Thumbnails
Click image for larger version

Name:	EE for backtest.png
Views:	289
Size:	260.2 KB
ID:	138018  
Reply With Quote
  #45 (permalink)
 hoolio 
Melbourne, Australia
 
Experience: Intermediate
Platform: NT8, Multicharts,Sierra
Broker: CQG, IB
Trading: YM,CL,GC,6E,6J
Posts: 97 since Mar 2013
Thanks Given: 85
Thanks Received: 60

Hi Jura and Nicolas,
I've been using your wonderful tool for months now.

However, I ran into my first forexfactory problem today - see pic below.
Do you think they've changed their settings again ?

EDIT - IGNORE THIS, IT'S BACK UP AND RUNNING AGAIN

Attached Thumbnails
Click image for larger version

Name:	Screen Shot 2014-11-30 at 10.02.22 am.png
Views:	279
Size:	56.0 KB
ID:	167446  
Reply With Quote
  #46 (permalink)
jacoGreeff
Cape Town
 
Posts: 6 since Mar 2012
Thanks Given: 4
Thanks Received: 0

Hi Guys I keep getting the error STD Exception: underflow/overflow/range error??? Anyone know how to fix it??

Reply With Quote
  #47 (permalink)
 tortoise 
Boston, MA
 
Experience: Intermediate
Platform: MultiCharts, TradeStation, NinjaTrader, ThinkorSwim
Trading: ES
Posts: 26 since Jul 2011
Thanks Given: 16
Thanks Received: 13


Jura View Post
Upcoming Economic Events indicator

This indicator plots a text box on the chart with the upcoming economic events:


In this screenshot, taken on 15:56 local time (Western-Europe), you can see that Geithner was about to speak in 4 minutes (a Medium impact event) and the business inventories were also announced in four minutes.

The indicator has the following settings:


Most of these settings are self-explanatory. The 'TicksOffSetBottom' is the number of ticks you want the text box be displayed above the lowest value on the price scale. The 'RecalcAfter' is the number of seconds the box is updated - this is included to prevent excessive updating from MultiCharts to keep everything running smoothing.

Important note: You'll need the Economic Events Collection for MultiCharts (see first post in this thread and download here) to work with this indicator.

This indicator can be downloaded here.

I'm a little bit confused by this: I only see functions in the download package, but no "indicator." What am I missing here? Thanks...

Reply With Quote
  #48 (permalink)
 
Jura's Avatar
 Jura   is a Vendor
 
Posts: 775 since Apr 2010
Thanks Given: 2,352
Thanks Received: 690


tortoise View Post
I'm a little bit confused by this: I only see functions in the download package, but no "indicator." What am I missing here? Thanks...

This is somewhat ironic. My post that you quote has a sentence that read: "This indicator can be downloaded here.". Did you click on that link? It takes me to the download file (.pla) with the indicator. Does the .pla file not work for you?

Started this thread Reply With Quote
  #49 (permalink)
rrams
Phoenix, Arizona
 
Posts: 1 since Oct 2011
Thanks Given: 0
Thanks Received: 0

I just love the Economic Events tools. They are indispensable!

Starting about March 29, the downloader gives an error message:
Problem for identification of hour in: <td class="calendar__cell calendar__time time">1:30am</td>
main.ParseStringAndSave.parseStringAndSaveToFile(ParseStringAndSave.java:165)

Probably Forex Factory changed the calendar format again.

Could Nicolas11 fix the Java or whoever is officially maintaining the source code?

Thank you, very much appreciate this effort.

Reply With Quote
  #50 (permalink)
knias
Hamburg, Germany
 
Posts: 5 since Oct 2010
Thanks Given: 1
Thanks Received: 0



rrams View Post
Starting about March 29, the downloader gives an error message:
Problem for identification of hour in: <td class="calendar__cell calendar__time time">1:30am</td>
main.ParseStringAndSave.parseStringAndSaveToFile(ParseStringAndSave.java:165)

Problem for identification of hour in: <td class="calendar__cell calendar__time time">1:30am</td>
main.ParseStringAndSave.parseStringAndSaveToFile(ParseStringAndSave.java:165)
main.Main.step3_proceedForFutureEconomicEvents(Main.java:134)
main.Main.main(Main.java:319)

Same Problem here, any help how to fix this problem would be apreciated.
Thank you

Reply With Quote




Last Updated on May 2, 2016


© 2024 NexusFi™, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Privacy Policy - Downloads - Top
no new posts