Download Free Forex Bar Timer Indicator – ForexMT4Systems

My home-made bar replay for MT4

I made a home-made bar replay for MT4 as an alternative to the tradingview bar replay. You can change timeframes and use objects easily. It just uses vertical lines to block the future candles. Then it adjusts the vertical lines when you change zoom or time frames to keep the "future" bars hidden.
I am not a professional coder so this is not as robust as something like Soft4fx or Forex Tester. But for me it gets the job done and is very convenient. Maybe you will find some benefit from it.

Here are the steps to use it:
1) copy the text from the code block
2) go to MT4 terminal and open Meta Editor (click icon or press F4)
3) go to File -> New -> Expert Advisor
4) put in a title and click Next, Next, Finish
5) Delete all text from new file and paste in text from code block
6) go back to MT4
7) Bring up Navigator (Ctrl+N if it's not already up)
8) go to expert advisors section and find what you titled it
9) open up a chart of the symbol you want to test
10) add the EA to this chart
11) specify colors and start time in inputs then press OK
12) use "S" key on your keyboard to advance 1 bar of current time frame
13) use tool bar buttons to change zoom and time frames, do objects, etc.
14) don't turn on auto scroll. if you do by accident, press "S" to return to simulation time.
15) click "buy" and "sell" buttons (white text, top center) to generate entry, TP and SL lines to track your trade
16) to cancel or close a trade, press "close order" then click the white entry line
17) drag and drop TP/SL lines to modify RR
18) click "End" to delete all objects and remove simulation from chart
19) to change simulation time, click "End", then add the simulator EA to your chart with a new start time
20) When you click "End", your own objects will be deleted too, so make sure you are done with them
21) keep track of your own trade results manually
22) use Tools-> History center to download new data if you need it. the simulator won't work on time frames if you don't have historical data going back that far, but it will work on time frames that you have the data for. If you have data but its not appearing, you might also need to increase max bars in chart in Tools->Options->Charts.
23) don't look at status bar if you are moused over hidden candles, or to avoid this you can hide the status bar.


Here is the code block.
//+------------------------------------------------------------------+ //| Bar Replay V2.mq4 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #define VK_A 0x41 #define VK_S 0x53 #define VK_X 0x58 #define VK_Z 0x5A #define VK_V 0x56 #define VK_C 0x43 #define VK_W 0x57 #define VK_E 0x45 double balance; string balance_as_string; int filehandle; int trade_ticket = 1; string objectname; string entry_line_name; string tp_line_name; string sl_line_name; string one_R_line_name; double distance; double entry_price; double tp_price; double sl_price; double one_R; double TP_distance; double gain_in_R; string direction; bool balance_file_exist; double new_balance; double sl_distance; string trade_number; double risk; double reward; string RR_string; int is_tp_or_sl_line=0; int click_to_cancel=0; input color foreground_color = clrWhite; input color background_color = clrBlack; input color bear_candle_color = clrRed; input color bull_candle_color = clrSpringGreen; input color current_price_line_color = clrGray; input string start_time = "2020.10.27 12:00"; input int vertical_margin = 100; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { Comment(""); ChartNavigate(0,CHART_BEGIN,0); BlankChart(); ChartSetInteger(0,CHART_SHIFT,true); ChartSetInteger(0,CHART_FOREGROUND,false); ChartSetInteger(0,CHART_AUTOSCROLL,false); ChartSetInteger(0,CHART_SCALEFIX,false); ChartSetInteger(0,CHART_SHOW_OBJECT_DESCR,true); if (ObjectFind(0,"First OnInit")<0){ CreateStorageHLine("First OnInit",1);} if (ObjectFind(0,"Simulation Time")<0){ CreateTestVLine("Simulation Time",StringToTime(start_time));} string vlinename; for (int i=0; i<=1000000; i++){ vlinename="VLine"+IntegerToString(i); ObjectDelete(vlinename); } HideBars(SimulationBarTime(),0); //HideBar(SimulationBarTime()); UnBlankChart(); LabelCreate("New Buy Button","Buy",0,38,foreground_color); LabelCreate("New Sell Button","Sell",0,41,foreground_color); LabelCreate("Cancel Order","Close Order",0,44,foreground_color); LabelCreate("Risk To Reward","RR",0,52,foreground_color); LabelCreate("End","End",0,35,foreground_color); ObjectMove(0,"First OnInit",0,0,0); //--- create timer EventSetTimer(60); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer EventKillTimer(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ //| ChartEvent function | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id==CHARTEVENT_CHART_CHANGE){ int chartscale = ChartGetInteger(0,CHART_SCALE,0); int lastchartscale = ObjectGetDouble(0,"Last Chart Scale",OBJPROP_PRICE,0); if (chartscale!=lastchartscale){ int chartscale = ChartGetInteger(0,CHART_SCALE,0); ObjectMove(0,"Last Chart Scale",0,0,chartscale); OnInit(); }} if (id==CHARTEVENT_KEYDOWN){ if (lparam==VK_S){ IncreaseSimulationTime(); UnHideBar(SimulationPosition()); NavigateToSimulationPosition(); CreateHLine(0,"Current Price",Close[SimulationPosition()+1],current_price_line_color,1,0,true,false,false,"price"); SetChartMinMax(); }} if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="New Sell Button") { distance = iATR(_Symbol,_Period,20,SimulationPosition()+1)/2; objectname = "Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1],foreground_color,2,5,false,true,true,"Sell"); objectname = "TP for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]-distance*2,clrAqua,2,5,false,true,true,"TP"); objectname = "SL for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]+distance,clrRed,2,5,false,true,true,"SL"); trade_ticket+=1; } } if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="New Buy Button") { distance = iATR(_Symbol,_Period,20,SimulationPosition()+1)/2; objectname = "Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1],foreground_color,2,5,false,true,true,"Buy"); objectname = "TP for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]+distance*2,clrAqua,2,5,false,true,true,"TP"); objectname = "SL for Trade # "+IntegerToString(trade_ticket); CreateHLine(0,objectname,Close[SimulationPosition()+1]-distance,clrRed,2,5,false,true,true,"SL"); trade_ticket+=1; } } if(id==CHARTEVENT_OBJECT_DRAG) { if(StringFind(sparam,"TP",0)==0) { is_tp_or_sl_line=1; } if(StringFind(sparam,"SL",0)==0) { is_tp_or_sl_line=1; } Comment(is_tp_or_sl_line); if(is_tp_or_sl_line==1) { trade_number = StringSubstr(sparam,7,9); entry_line_name = trade_number; tp_line_name = "TP for "+entry_line_name; sl_line_name = "SL for "+entry_line_name; entry_price = ObjectGetDouble(0,entry_line_name,OBJPROP_PRICE,0); tp_price = ObjectGetDouble(0,tp_line_name,OBJPROP_PRICE,0); sl_price = ObjectGetDouble(0,sl_line_name,OBJPROP_PRICE,0); sl_distance = MathAbs(entry_price-sl_price); TP_distance = MathAbs(entry_price-tp_price); reward = TP_distance/sl_distance; RR_string = "RR = 1 : "+DoubleToString(reward,2); ObjectSetString(0,"Risk To Reward",OBJPROP_TEXT,RR_string); is_tp_or_sl_line=0; } } if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="Cancel Order") { click_to_cancel=1; Comment("please click the entry line of the order you wish to cancel."); } } if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam!="Cancel Order") { if(click_to_cancel==1) { if(ObjectGetInteger(0,sparam,OBJPROP_TYPE,0)==OBJ_HLINE) { entry_line_name = sparam; tp_line_name = "TP for "+sparam; sl_line_name = "SL for "+sparam; ObjectDelete(0,entry_line_name); ObjectDelete(0,tp_line_name); ObjectDelete(0,sl_line_name); click_to_cancel=0; ObjectSetString(0,"Risk To Reward",OBJPROP_TEXT,"RR"); } } } } if (id==CHARTEVENT_OBJECT_CLICK){ if (sparam=="End"){ ObjectsDeleteAll(0,-1,-1); ExpertRemove(); }} } //+------------------------------------------------------------------+ void CreateStorageHLine(string name, double value){ ObjectDelete(name); ObjectCreate(0,name,OBJ_HLINE,0,0,value); ObjectSetInteger(0,name,OBJPROP_SELECTED,false); ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); ObjectSetInteger(0,name,OBJPROP_BACK,true); ObjectSetInteger(0,name,OBJPROP_ZORDER,0); } void CreateTestHLine(string name, double value){ ObjectDelete(name); ObjectCreate(0,name,OBJ_HLINE,0,0,value); ObjectSetInteger(0,name,OBJPROP_SELECTED,false); ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); ObjectSetInteger(0,name,OBJPROP_BACK,true); ObjectSetInteger(0,name,OBJPROP_ZORDER,0); } bool IsFirstOnInit(){ bool bbb=false; if (ObjectGetDouble(0,"First OnInit",OBJPROP_PRICE,0)==1){return true;} return bbb; } void CreateTestVLine(string name, datetime timevalue){ ObjectDelete(name); ObjectCreate(0,name,OBJ_VLINE,0,timevalue,0); ObjectSetInteger(0,name,OBJPROP_SELECTED,false); ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); ObjectSetInteger(0,name,OBJPROP_BACK,false); ObjectSetInteger(0,name,OBJPROP_ZORDER,3); } datetime SimulationTime(){ return ObjectGetInteger(0,"Simulation Time",OBJPROP_TIME,0); } int SimulationPosition(){ return iBarShift(_Symbol,_Period,SimulationTime(),false); } datetime SimulationBarTime(){ return Time[SimulationPosition()]; } void IncreaseSimulationTime(){ ObjectMove(0,"Simulation Time",0,Time[SimulationPosition()-1],0); } void NavigateToSimulationPosition(){ ChartNavigate(0,CHART_END,-1*SimulationPosition()+15); } void NotifyNotEnoughHistoricalData(){ BlankChart(); Comment("Sorry, but there is not enough historical data to load this time frame."+"\n"+ "Please load more historical data or use a higher time frame. Thank you :)");} void UnHideBar(int barindex){ ObjectDelete(0,"VLine"+IntegerToString(barindex+1)); } void BlankChart(){ ChartSetInteger(0,CHART_COLOR_FOREGROUND,clrNONE); ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,clrNONE); ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,clrNONE); ChartSetInteger(0,CHART_COLOR_CHART_DOWN,clrNONE); ChartSetInteger(0,CHART_COLOR_CHART_UP,clrNONE); ChartSetInteger(0,CHART_COLOR_CHART_LINE,clrNONE); ChartSetInteger(0,CHART_COLOR_GRID,clrNONE); ChartSetInteger(0,CHART_COLOR_ASK,clrNONE); ChartSetInteger(0,CHART_COLOR_BID,clrNONE);} void UnBlankChart(){ ChartSetInteger(0,CHART_COLOR_FOREGROUND,foreground_color); ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,bear_candle_color); ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,bull_candle_color); ChartSetInteger(0,CHART_COLOR_BACKGROUND,background_color); ChartSetInteger(0,CHART_COLOR_CHART_DOWN,foreground_color); ChartSetInteger(0,CHART_COLOR_CHART_UP,foreground_color); ChartSetInteger(0,CHART_COLOR_CHART_LINE,foreground_color); ChartSetInteger(0,CHART_COLOR_GRID,clrNONE); ChartSetInteger(0,CHART_COLOR_ASK,clrNONE); ChartSetInteger(0,CHART_COLOR_BID,clrNONE);} void HideBars(datetime starttime, int shift){ int startbarindex = iBarShift(_Symbol,_Period,starttime,false); ChartNavigate(0,CHART_BEGIN,0); if (Time[WindowFirstVisibleBar()]>SimulationTime()){NotifyNotEnoughHistoricalData();} if (Time[WindowFirstVisibleBar()]=0; i--){ vlinename="VLine"+IntegerToString(i); ObjectCreate(0,vlinename,OBJ_VLINE,0,Time[i],0); ObjectSetInteger(0,vlinename,OBJPROP_COLOR,background_color); ObjectSetInteger(0,vlinename,OBJPROP_BACK,false); ObjectSetInteger(0,vlinename,OBJPROP_WIDTH,vlinewidth); ObjectSetInteger(0,vlinename,OBJPROP_ZORDER,10); ObjectSetInteger(0,vlinename,OBJPROP_FILL,true); ObjectSetInteger(0,vlinename,OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,vlinename,OBJPROP_SELECTED,false); ObjectSetInteger(0,vlinename,OBJPROP_SELECTABLE,false); } NavigateToSimulationPosition(); SetChartMinMax();} }//end of HideBars function void SetChartMinMax(){ int firstbar = WindowFirstVisibleBar(); int lastbar = SimulationPosition(); int lastbarwhenscrolled = WindowFirstVisibleBar()-WindowBarsPerChart(); if (lastbarwhenscrolled>lastbar){lastbar=lastbarwhenscrolled;} double highest = High[iHighest(_Symbol,_Period,MODE_HIGH,firstbar-lastbar,lastbar)]; double lowest = Low[iLowest(_Symbol,_Period,MODE_LOW,firstbar-lastbar,lastbar)]; ChartSetInteger(0,CHART_SCALEFIX,true); ChartSetDouble(0,CHART_FIXED_MAX,highest+vertical_margin*_Point); ChartSetDouble(0,CHART_FIXED_MIN,lowest-vertical_margin*_Point); } void LabelCreate(string labelname, string labeltext, int row, int column, color labelcolor){ int ylocation = row*18; int xlocation = column*10; ObjectCreate(0,labelname,OBJ_LABEL,0,0,0); ObjectSetString(0,labelname,OBJPROP_TEXT,labeltext); ObjectSetInteger(0,labelname,OBJPROP_COLOR,labelcolor); ObjectSetInteger(0,labelname,OBJPROP_FONTSIZE,10); ObjectSetInteger(0,labelname,OBJPROP_ZORDER,10); ObjectSetInteger(0,labelname,OBJPROP_BACK,false); ObjectSetInteger(0,labelname,OBJPROP_CORNER,CORNER_LEFT_UPPER); ObjectSetInteger(0,labelname,OBJPROP_ANCHOR,ANCHOR_LEFT_UPPER); ObjectSetInteger(0,labelname,OBJPROP_XDISTANCE,xlocation); ObjectSetInteger(0,labelname,OBJPROP_YDISTANCE,ylocation);} double GetHLinePrice(string name){ return ObjectGetDouble(0,name,OBJPROP_PRICE,0); } void CreateHLine(int chartid, string objectnamey, double objectprice, color linecolor, int width, int zorder, bool back, bool selected, bool selectable, string descriptionn) { ObjectDelete(chartid,objectnamey); ObjectCreate(chartid,objectnamey,OBJ_HLINE,0,0,objectprice); ObjectSetString(chartid,objectnamey,OBJPROP_TEXT,objectprice); ObjectSetInteger(chartid,objectnamey,OBJPROP_COLOR,linecolor); ObjectSetInteger(chartid,objectnamey,OBJPROP_WIDTH,width); ObjectSetInteger(chartid,objectnamey,OBJPROP_ZORDER,zorder); ObjectSetInteger(chartid,objectnamey,OBJPROP_BACK,back); ObjectSetInteger(chartid,objectnamey,OBJPROP_SELECTED,selected); ObjectSetInteger(chartid,objectnamey,OBJPROP_SELECTABLE,selectable); ObjectSetString(0,objectnamey,OBJPROP_TEXT,descriptionn); } //end of code 
submitted by Learning_2 to Forex [link] [comments]

MAME 0.215

MAME 0.215

A wild MAME 0.215 appears! Yes, another month has gone by, and it’s time to check out what’s new. On the arcade side, Taito’s incredibly rare 4-screen top-down racer Super Dead Heat is now playable! Joining its ranks are other rarities, such as the European release of Capcom‘s 19XX: The War Against Destiny, and a bootleg of Jaleco’s P-47 – The Freedom Fighter using a different sound system. We’ve got three newly supported Game & Watch titles: Lion, Manhole, and Spitball Sparky, as well as the crystal screen version of Super Mario Bros. Two new JAKKS Pacific TV games, Capcom 3-in-1 and Disney Princesses, have also been added.
Other improvements include several more protection microcontrollers dumped and emulated, the NCR Decision Mate V working (now including hard disk controllers), graphics fixes for the 68k-based SNK and Alpha Denshi games, and some graphical updates to the Super A'Can driver.
We’ve updated bgfx, adding preliminary Vulkan support. There are some issues we’re aware of, so if you run into issues, check our GitHub issues page to see if it’s already known, and report it if it isn’t. We’ve also improved support for building and running on Linux systems without X11.
You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

MAME 0.215

MAME 0.215

A wild MAME 0.215 appears! Yes, another month has gone by, and it’s time to check out what’s new. On the arcade side, Taito’s incredibly rare 4-screen top-down racer Super Dead Heat is now playable! Joining its ranks are other rarities, such as the European release of Capcom‘s 19XX: The War Against Destiny, and a bootleg of Jaleco’s P-47 – The Freedom Fighter using a different sound system. We’ve got three newly supported Game & Watch titles: Lion, Manhole, and Spitball Sparky, as well as the crystal screen version of Super Mario Bros. Two new JAKKS Pacific TV games, Capcom 3-in-1 and Disney Princesses, have also been added.
Other improvements include several more protection microcontrollers dumped and emulated, the NCR Decision Mate V working (now including hard disk controllers), graphics fixes for the 68k-based SNK and Alpha Denshi games, and some graphical updates to the Super A'Can driver.
We’ve updated bgfx, adding preliminary Vulkan support. There are some issues we’re aware of, so if you run into issues, check our GitHub issues page to see if it’s already known, and report it if it isn’t. We’ve also improved support for building and running on Linux systems without X11.
You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to MAME [link] [comments]

MAME 0.215

MAME 0.215

A wild MAME 0.215 appears! Yes, another month has gone by, and it’s time to check out what’s new. On the arcade side, Taito’s incredibly rare 4-screen top-down racer Super Dead Heat is now playable! Joining its ranks are other rarities, such as the European release of Capcom‘s 19XX: The War Against Destiny, and a bootleg of Jaleco’s P-47 – The Freedom Fighter using a different sound system. We’ve got three newly supported Game & Watch titles: Lion, Manhole, and Spitball Sparky, as well as the crystal screen version of Super Mario Bros. Two new JAKKS Pacific TV games, Capcom 3-in-1 and Disney Princesses, have also been added.
Other improvements include several more protection microcontrollers dumped and emulated, the NCR Decision Mate V working (now including hard disk controllers), graphics fixes for the 68k-based SNK and Alpha Denshi games, and some graphical updates to the Super A'Can driver.
We’ve updated bgfx, adding preliminary Vulkan support. There are some issues we’re aware of, so if you run into issues, check our GitHub issues page to see if it’s already known, and report it if it isn’t. We’ve also improved support for building and running on Linux systems without X11.
You can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to cade [link] [comments]

So Here I am, Painting Death In A Canvas.

I am a painter, one of those wannabe kind working on convenience store to fund art school fee and other bills. Not a grand beginning for the story, I know, but that’s life..
 
Graduating from school was easy, granted the school standard isn’t that great, climbing up from being nameless artist is not. A slump after slump and I found myself stuck with the same routine of working late night behind counter waiting for the next customer. Filling the downtime with dreams of all kinds of landscape I could have painted during the day. Sadly most of it didn’t came out as good as I imagined in reality, a little bit off color here and there, fuck up with the perspective and other stuff.
 
So here I am; Staring at another empty canvas a few minutes before going to work, bills loitered on my feet; I don’t even bother to open them. All my attention are focused on the canvas, my supposed masterpiece to pay for all the failed ones.
 
Money from my parents’ death insurance have all but dried up now, I only had this empty canvas and a few others as the only way to bail out from being homeless. My family home occupied quite a large plot of land, and taxes…
 
There’s advice from my friend to rent some room to counteract the bills, but the thought of someone else walking inside our house, using my parents bedroom and shits on their toilet is no go for me. My social anxiety really hits at it worst.
 
Discarding all negative thoughts from my head. I closed my eyes; Clenching it tightly even. Brain worked hard to fill the empty dark space with a majestic landscape. Yet, what I saw is the most lackluster imagination ever.
 
My workplace, just a normal convenience store with nagging manager behind the counter. His face grimmed as if telling me to swap with him so he can smoke cigarette in the back alley. The only reason I was able to stand his tyranny is because of the higher than average payroll, and as if this jackass knew about it, he would work us twice as hard to take advantage of it.
 
Sometimes I wonder if that’s the reason why no one applied the job vacancy for another clerk. There’s only three of us working regularly apart from him. Me, James, the day-specialist, and Tom, our one way drive for all customer support. Things are okay between the three of us, our mutual dislike for the manager may be a small grease on our relationship.
 
James are studying for his night class law school. Already garnering enough money to last until graduation and job hunting. I once asked him why he didn’t just put the pedal on the gas and look for a more comfortable workplace; to which he answer “The moment some miserable sap took that vacancy offer you will not see me near this place again; To be honest, the only reason I’m staying is because of you and Tom. I’m still leaving after graduating though.”
 
Tom is one of those people seem to be bred for the purpose of customer support. Outgoing, cheerful, not blowing up when the customer asked stupid questions. On his day off he would be climbing mountains or snorkeling some mythical saltwater filled with fishes and coral I have never seen before.
 
His souvenir for me is always a dozen of landscape photos, which is a gold pile for me. I always found it to be pretty funny, a landscape painter who is afraid of going outside because he can't paint while someone is watching, or worried that someone might be; So he only could sit inside his room, staring at his friend’s photos before magically transferring it into the canvas.
  Oh, how the wolf would howl at the moon. Desiring it despite incapable of reaching it.  
There’s often times I began to question my life choices, but I no longer have any money to start learning other trades. So here I am, sitting on plastic chair with eyes closed in front of empty canvas hating my boss and contemplating my life.
  Nope, this isn’t going to work. Not today at least.  
I put the canvas cover back, covering my failure of creating some art worthy of a penny once again. Barely stood up before my hand phone vibrate on my desk. A message from James asking me if I’m available to replace him right now, a few hours before schedule. Apparently he just remembered an important assignment due tomorrow, and that Stalin-reborn-and-worse doesn’t allow him to work on it during downtime.
 
Sure, why not, I’m not doing anything productive anyway. Might as well get some extra cash.
 
 
 
The day was uneventful. Average number of customer, average number of unclear scolding, average number of extra hours to pay for not-so-average bills.
 
Tom, being an amazing person that he is. Offered a night out at local bar nearby after we closed the store. Being a poor sob that I am, rarely went out to night entertainment and currently near bankruptcy, almost instantly refuse his good intentions. The keyword is ‘almost’ , as he finished his sentence with two first drinks on his tab. Free alcohol during rough times is as good as water for fishes, and I am a big, thirsty fish right now.
 
 
The bar itself is nothing stellar, no young underage kids doing drugs or puking in the corner. Although I have to give A+ for their beverages collection.  
 
So here I am, trying not to abuse Tom’s kindness, ordered a simple drink before he does it for me; No mixes, no fancy name, just your normal convenience store middle-class alcohol I recognized on their shelf.  
 
The bartender gives me a stern look, as if asking what I’m doing there.  
 
“Easy there John, he is with me. Be kind to him.” said Tom from behind me.  
 
The so-called John just grunted and went to grab some glasses for both of us while pointing to a table in the middle of the room.  
 
“What’s the deal with him?” I asked Tom after we sit on our destined table.  
 
“I forgot to tell you, John only serve to old-timer and their friends. Visit a few times and perhaps he will acknowledge you as customer; if not?, better don’t try to come here without me. John is a bit eccentric, but nothing could beat his drinks.”  
Now, that’s one weird business practice.  
I want to ask more about it, but Tom was already busy answering greetings from fellow customer. So I had to satisfy my curiosity with a good look around the bar. Wondering how good his drinks is to be able to maintain steady flow of customer with low rate of first-timers.  
 
A good bump on the table made me turn my head with the acceleration of Ferrari. John’s face is right in front of me once again with previous stern look, making me wonder if that’s his normal expression. His eyes are locked at me, silently ordered me to stay still on my chair and be nice.  
 
“Thanks John, you are quick as always!” Tom already finished his greetings and nonchalantly tapping John’s shoulder without a care of showdown between us.  
 
“Umm.. I haven’t ordered yet.” My brittle voice slowly raise a question in response of three unknown liquor John brought. Trying my best to avoid the rage of the bartender in front of me.  
 
“Those two are your initiation drink. John will measure your worth and bravery for a fair price of half the usual, which of course, went into my tab. A great deal is it not?” Tom smirked on me, as if he just shared a surefire way to get rich quick on Forex.  
 
I normally would jump at any deal for half the price, being as broke as homeless right now; But still,I am not that desperate enough to just accept suspicious drink for someone who is staring dagger on me, at least if he’s not twice as big as I am and the drink is payed by someone to console me.  
 
The first drink torches my throat, and I can't remember the second one, as well as the rest of the night.  
 
Tom’s laugh and John’s face is all I could remember before everything went fuzzy. although John’s smiling face is somewhat disturbing enough for me to doubt its accuracy. Made me seriously reconsider the value of gap moe.
 
 
 
I woke up the morning after with serious hangover and lack of water in my system; After bumping into all edges on my house furniture, I finally reach the fridge and get a nice cool bottled water to reinvigorate it.  
 
Not too soon after finishing the whole bottle, I heard my phone ringtone from somewhere inside the house. I followed the sound into my bedroom, where the phone just laid itself on the bed.  
 
The screen showed the current call is from Tom, as well as plethora of missed call and message. 13:04 is current time, damn that was one serious hangover.  
 
I raised the phone to my ear and accept the call. Almost missing the ear-hole due to how dizzy I am still.
 
“Yo Tom, what’s up?”
 
“Your goddamn ass is up. Where the hell have you been!? “
 
“Well, maybe I have a hangover? Because last night someone took me to a bar and serve me some weird stuff.”
 
“Don’t you read my message man!? Barry is dead, they found him laid on top of the counter with store’s money scattered on top of him! The police is looking for you right now because you didn't answer their call!”
 
“Barry? Barry who?”
 
“Barry our shitty manager you slowpoke! Our boss is dead and you better call the police station right-”
 
I couldn’t hear what else Tom had to say, as the phone dropped to the floor as soon as I opened the canvas on the side of my bed.  
 
Someone had moved it here from my study room, and only managed to pull cover over half of it, revealing obvious sign of a painting hidden beneath it.  
 
A monstrous and horrifying painting, the exact same layout as I imagined it before going out to work yesterday, albeit with one addition.  
 
A body, laid atop the counter, with blood dripping from it onto the floor. His eyes look directly to me from inside the painting with the same grim; death grim.
 
 
My knees gave out and fell to the floor. My eyes directly in front of a scratch of red paint on bottom corner of the painting. A signature.
 
 
SoHereIAm
 
 
My name is Shia.
submitted by BossLuck to nosleep [link] [comments]

Forex market hours clock  Forex time zone converter[Forex ... Countdown Bar Timer & Cursor in CustomTimeAxisTM TradingView Tutorial: How to Use Bar Replay for Forex ... Forex Indicators - Candle Time Indicator MT4 - YouTube Forex And Binary Candel Time Indicators - Free Download ... How To Add A Pip Counter Installation On Your MT4 (Forex ...

The code uses a timer, so that it does not depend on the quotes. Forex MT4 Indicators – Download Instructions. Time until the bar closes Forex Indicator is a Metatrader 4 (MT4) indicator and the essence of the forex indicator is to transform the accumulated history data. Time until the bar closes Forex Indicator provides for an opportunity to detect various peculiarities and patterns in ... Bar Timer is a Metatrader 4 (MT4) indicator and the essence of the forex indicator is to transform the accumulated history data. Bar Timer provides for an opportunity to detect various peculiarities and patterns in price dynamics which are invisible to the naked eye. Based on this information, traders can assume further price movement and adjust their strategy accordingly. How to install Bar ... Forex Bar Timer Indicator. Forex Bar Timer Indicator; It displays the current time position in relation to the beginning and the end of the bar. In addition the ratio between the time passed since the beginning of the bar and the whole bar duration expressed in percents is given. The informer is useful for choosing the moment of making a trade ... Forex Download. Home; MT4 Indicators; Home MT4 Indicators BarTimer. MT4 Indicators; BarTimer. By. admin - Apr 8, 2015. 0. 2557. Facebook. Twitter. Google+ . Pinterest. WhatsApp. It displays the current time position in relation to the beginning and the end of the bar. In addition the ratio between the time passed since the beginning of the bar and the whole bar duration expressed in percents ... Forex MT4 Indikatoren – Anweisungen zum Herunterladen. BarTimer ist ein Metatrader 4 (MT4) Indikator und das Wesen der Forex-Indikator ist die akkumulierte Verlaufsdaten zu transformieren. BarTimer sieht eine Möglichkeit, verschiedene Besonderheiten und Muster in Preisdynamik zu erkennen, die mit dem bloßen Auge nicht zu erkennen sind. auf der Grundlage dieser Informationen, Händler ... In addition the ratio between the time passed since the beginning of the bar and the whole bar duration expressed in percents is given. The informer is useful for choosing the moment of making a trade decision. For example, I open the positions within 20% from the beginning of the candlestick and after 80% of it. In the first case, the previous candlestick is taken into the account, in the ... The BarTimer Indicator will tell you how long you have to wait before the next bar appears. The location of this timer is on the top of the chart. BarTimer Indicator. If you like to have this indicator, click here to download now. The Sniper Trading System. If you like to learn how to anticipate market movements and stop using lagging indicators , then you will absolutely LOVE ...

[index] [14200] [12526] [9814] [20420] [17130] [6280] [14932] [6028] [11163] [18957]

Forex market hours clock Forex time zone converter[Forex ...

ENJOY THE VIDEO PLEASE LIKE SHARE COMMENT SUBSCRIBE TO DOWNLOAD https://drive.google.com/uc?id=0B0_2xIiDQUWLMFZVZzRTWUo2bDg Cut and Dry - Electronic Hard... Learn how to use Bar Replay in TradingView to do Forex backtesting. ★ Get started with TradingView for free: http://tradr.cc/v4jq In this video, I'll show yo... Adding a Pip Counter to your MT4 Forex Trading Platform to see how many pips you're gaining in your live trades. Link to obtain the Pip Counter is: http://fo... 👉👉👉This Indicator Works Only Below 2 Broker👇👇👇 Reliable Binary Options Broker with a ★Profit of up to 100%★ http://bit.ly/2sohvSu Never Miss ... Forex market hours clock Forex time zone converter[Forex Toolbox] What are the major Forex market trading hours? Easily convert the major market trading h... It is available at www.MT4TimeAxis.com. ++++++++++++++++++++++++++++++++++++++++­++++++++++++++++++++++. Metatrader Local Time indicator, MT4 Time Plot along horizontal axis, custom time axis ...

http://arab-binary-option.niavortahapsay.ml