What is MetaEditor? - Forex Robot Expert

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]

Any Luck with Ninjascript?

Hey guys, A little about me - I've been writing algos on and off for about a year and a half now. I started with Quantopian way back using python to write stock algos, then realised I couldn't live trade with it, so that put me off that.
I then found MT4 and MetaEditor and the world of forex... I was immediately in love with the simplicity of the language (C#), but I ditched it because forex just felt impossible to code around with all the volatility and news based price action. (I'm sure there's exceptions to this - but does anyone have a similar experience with it?)
I finally landed on NinjaTrader and scalping futures, which is amazing and seems to fit way better.
I'm wondering if anyone has experiences with successful Ninjascript trading systems and what advice they have etc. I've written up a few, one with a 76% success rate over 50 days but I'm starting to see how commission and tax really can have an impact...I'd also like to know about the reliability of backtesting using the Strategy Analyser vs Market Replay...
Who's out there! :)
submitted by photoshoplad to algotrading [link] [comments]

I'm Having trouble running a bash file.

Hi Everyone,
So I trade forex for a living. Use a windows only program called Meta-trader which I run via wine.
Thing is I dont want to type the commands each time in the terminal. So I tried writing a bash script to launch the file quickly but it isn't working outside of the terminal.
This is what I did.
wine /home/kieron/pepperstone/drive_c/"Program Files"/"Pepperstone MetaTrader 4"/terminal.exe
Now This works perfectly fine when I run in inside of the terminal (./Metatrader.sh). The problem is it won't run If I click it outside of the terminal, even though I ran chmod on it to make it executable.
The problem is my mother also uses this program, and she doesn't understand commands and such things. So If I'm not around she can't start the program on her own. This is why I need the script to run when it's clicked on.
However clicking on it doesn't run it, instead it just opens up it the text editor (gedit).
Any suggestions? Thanks!
submitted by bitnil to linux4noobs [link] [comments]

First month in the forex market novice trader

First month in the forex market novice trader

Every newcomer who comes to the Forex currency market already knows that the main rule of trade is to buy cheaper and sell more expensive. But it’s difficult to immediately determine how high the sale price should be and what the purchase price is low enough. A trading strategy must be checked on history. This can be done manually, but the use of a trading robot or another adviser will be much faster and better. The editor of the MetaTrader trading platform allows you to assemble a robot from almost any strategy. But for this you will have to learn the MQL language or order an adviser to the programmer. For example, here https://nordman-algorithms.com/metatrader-programming/
The novice trader basically does not ask this question and having sorted out the charts a bit, having studied several simple strategies, he goes into the trade with his head. In pursuit of a fabulous amount, randomly opening and closing deals, loses the first deposit in a couple of weeks.
After a while, another month, he returns to recoup. Now his first goal is to recapture faster the loss. Opening a new deposit, he tries himself as a scalper, opens transactions on intuition and again merges the deposit. And again comes back - but already with the money borrowed.
This vicious circle can be avoided, you just need to follow simple rules and devote more time to your level of knowledge. A novice trader should first of all be concerned about how to survive in the first month in the market, and not fabulous wealth. When getting acquainted with the Forex market, you need to pay attention to maintaining your deposit, and not to increasing it.
And so, what rules do novice traders need to follow? First, you must have a strategy. This means you should have clear rules for entering and exiting the market and, ideally, rules for maintaining positions. Where to get the strategy? You will have to develop a strategy yourself, it is unlikely that any successful trader will share his best practices with you. You can take a strategy from any Forex-related website as the basis. In its original form, it is unlikely to be profitable, since no adequate trader will lay out a working strategy. But often the ideas inherent in free strategies can be used and by adding a few additional rules or filters the strategy becomes working.
In most cases, beginners trade manually, and this is correct, trading manually means you understand all the nuances of the market and trading faster. When trading manually, the work of the strategy is visible since it actually works. All its strengths and weaknesses are visible, this allows you to quickly adjust the rules and bring the strategy to perfection.
When trading manually, and in auto trading too, a psychological factor acts on the trader, which is very difficult to control. Two big problems:
  • This is the adoption of unprofitable transactions without the desire to repel them;
  • and accepting a series of profitable transactions without the desire to increase the frequency and volume of transactions.
Strict discipline and strict adherence to strategy and money management will allow us to avoid these problems. Before bidding, you must definitely assess the situation. A conservative attitude regarding the size of the trading lot should be established. This will help not only to avoid many traps, but also to stay in the market, increasing your deposit. Beginners are advised to conduct a trading session no more than 4 hours a day. It is this period of time that will help them how to enter the market, make transactions on it and exit without monetary losses.
The Forex currency market is not for everyone. Only those who really want to make money and strive for this, overcoming barriers, analyzing mistakes, improving, can achieve unprecedented heights and make a profit.
submitted by alex_fortran to u/alex_fortran [link] [comments]

【翻译Quora上一篇问答】中国是否正在面临一次银行危机(谈到房地产) by phoebeDD on 2016-10-04

Is China really facing a banking crisis? What are its origins?

According to a recent article titled China facing full-blown banking crisis, world's top financial watchdog war
ns published in the Telegraph:
China has failed to curb excesses in its credit system and faces mounting risks of a full-blown banking crisis
(中国债务/GDP 占比图)

Financial Crises

International Economics

The Economy



9 Answers

Robin Daverman, Dealmaker
Written Sep 27

Ah, but maybe you want to look around a bit and see how China’s total debt is compared with other economies, like this?

If you put China’s data on this chart, it will be somewhere around Canada and New Zealand. Guess Which Country Has Debt Of Nearly 1000% Of GDP... Shocking, isn’t it?
UK has almost 1000% Debt-to-GDP ratio, compared with China’s < 300% Debt-to-GDP ratio, mostly because of that over-sized financial debt - at the end of the day, the government must stand behind it. On top of that, the UK has no resource to sell, hardly any industry left, going through a divorce with EU, and almost never ever meets her fiscal targets. And yet, UK, with its near 1000% debt-to-GDP ratio, is still viewed as the gold standard among safe havens. PRESENTING: The Rosetta Stone Of The Entire Sovereign Debt Crisis Why? Because UK issues debt in her own currency. And who prints the pound? The UK government.
Then you take a look at Japan, wow that’s 600%+ debt-to-GDP ratio! But - Japan’s debt is not only mostly internal, in Japanese Yen, but also with 0% or even negative interest. You can roll this kind of debt over practically forever. That’s why people have been yelling about Japanese debt for the last 20 years, and nothing happens.
Then you take a look at those economies that have blown up on debt:
Argentina: Government/Sovereign debt in USD, with jurisdiction in New York!Greece: Government/Sovereign debt in Euro, with jurisdiction in Brussels!Iceland: External financial debt → nationalized into Government/Sovereign debt in USD and Euro alone was 700%+ GDP in 2008, with jurisdiction in New York and Brussels.
Then you look at China, with her debt almost entirely internal, in Chinese RMB to Chinese citizens, government debt at 55%, lower than the US, Japan, and EU average, in her own currency. China’s external debt is about 9% of GDP, globally ranked 184th (less than North Korea, similar to Kosovo) - anyway you look at it, it’s hardly the kind of material to make a banking crisis. China is borrowing a little bit from her own piggy bank. Argentina/Greece/Iceland were borrowing a lot from the Mafia.
PS: The most significant increase in China’s debt is in the financial sector, driven by rising real estate price (which means higher value of housing loans). Right now, the Chinese government is basically using it as a tool to do macro-economic engineering. The goal is to cap urban growth in top tier cities (Beijing, Shanghai, etc.) and push the economic growth to second- and third- tier cities (Hangzhou, the city that just hosted G20, is an example.http://www.g20.org/English/Hangzhou/About/index.html Now you can look back and see why the Chinese government decided to host G20 in a city nobody has ever heard of). This is clearly stated by the Chinese government like 100 times since last year in the official news channels. The reason? Top tier Chinese cities like Shanghai (25 million) already have more city residents than the whole nation of Australia! The metropolitan area of Shanghai (44 million) has more people than the entire population of Canada! In one city! Beijing’s population grew by 8 million within the last decade! The place is simply full.List of cities in China by population and built-up area
PS: 中国最显著的债务增长是在其金融领域内不断升高的房价造成的(不断增高的房贷造成债务问题)。现在中国政府正在利用房价作为宏观经济调控的工具。其目的是限制一线城市的城市化进程和加速二三线城市的发展(刚刚举办了G20的杭州就是个例子,现在你就能知道为啥中国政府将G20放在一个没人听说过的城市举行了)。这些政策中国政府已经在官媒上宣布了无数次。原因就是一线城市,例如上海(2500万人口),其居民数量比阿根廷全国人口还要多!上海都市圈(4400万人口)的人口数量比加拿大全国还要多!北京人口数量在过去的10年内增长了800万!这些城市的人口数量已经饱和了。
In addition to real estate prices, the Chinese government is also doing stuff like restricting residents permits, disallowing second or third homes, even restricting jobs to local residents, everything to say “this place is full. We have these other nice choices, with lower housing prices. Go there.” Young people complaining about housing prices in tier-one cities? But that’s the whole point. The debt you have to take on to live in tier-one cities SHOULD SCARE YOU OFF. The Chinese government is trying to stop the influx of people pouring into tier-one cities, and get these smart and energetic youths to go build two, three, four, five. … more Shanghai’s in other parts of China. 1.4 billion people can’t all fit into tier-one cities.
5.9k Views · View Upvotes


Paul Denlinger, Involved in China economics study
Written Sep 27

There is too much debt, and a lot of it is likely to turn into bad debt, but that does not equal a banking crisis.
Banking crisis may be a nice term to bandy around and get clicks and headlines, but does not really explain what is going on.
There was a lot of debt financing, especially after the 2008 subprime mortgage crisis in the US. In order to keep the economy on a steady keel, the Chinese government, through its banks, pumped money to Chinese state-owned enterprises, in order to keep high employment and maintain an image of “growth”. A lot of this money then found its way into the underground banking system through “wealth management products” and other means. A lot of this has turned into bad debt.
Another problem area, which frequently overlaps with the “wealth management products” is the local government financing vehicle used to fund local property development, which I have discussed here: Paul Denlinger's answer to Why does China have so many ghost towns?
What is likely to happen in China is that growth will slow down in some areas, while there will be certain newer parts of the economy which will continue to grow. If the Chinese government is able to support the newer parts of the economy and help them to grow, while cutting back on loans to the weaker parts of the economy, it may be able to handle this transition better.
This is exactly what the Chinese government is trying to do and you can read about it here:Here is how China is going to quietly save its economy
So, if you are expecting there to be a dramatic run on the banks, and the Chinese people to take to the streets and overthrow the Chinese Communist Party, and become a full-blown democracy like Taiwan, Japan or South Korea, you are very likely to be disappointed.
所以,如果你是期待一次强烈的bank run(自行百度啥是bank run),然后中国人民上街推翻TG,中国大陆变成与台湾,日本韩国一样的政体,那么你要失望了。
4.3k Views · View Upvotes


Nikhil Ambhorkar, Self studied Finance.
Written Sep 26

Is China facing a Banking crisis?

Is it facing a full blown Banking crisis?

Combined debt of China is almost 300% of its GDP. But the the categorized in 4 parts as it is shown in the image with the question too.
The corporate debt has the lion's portion of the total debt. The household debt and non corporate debt are nothing to worry about because it is less many other developed countries and has some room to grow.
Government Debt is not too big when compared to standards set by many global institutions like IMF, World Bank, etc.
The only major concern which is of a serious magnitude is the corporate debt. This is also reiterated by many economists.
Now the problem with China is that data that comes out of major Chinese institutions is murky so their are many different types of estimates by many different institutions but the common theme in it is corporate debt and its size.
Corporate debt consists of debt owned by state owned corporations and private corporations. Private corporations in China are generally crowded out by the state owned corporations because of connections and political agenda.
Many state owned corporations have invested into unproductive projects as a result of excess boost given by government after 2008 to prop up the economy. This has resulted in a huge amount of NPAs. So, in all the major problem is state owned corporations piling up huge amount of debt. To solve this problem, the government tried to convert the debt into shares which the bank owns and can recover money through profit dividends but this was one of the causes for last year's stock market crash.
Hence, it is a big crisis but not the one government cannot handle with so much trade surplus and forex reserves. But actions are definitely needed to stop it from growing into a bigger problem.
906 Views · View Upvotes


submitted by robot301_01 to kfq [link] [comments]

EA (Expert Advisers),What they are and why they are used in Forex

EA (Expert Advisers),What they are and why they are used in Forex

An expert adviser is simply a program which can execute any task it's instructed to do without any direct human involvement required.
They allow the user to automate the trading and analytical process on a given platform such as MT4.If trying to make an EA one needs to use an editor such as Meta Editor on the MT4 terminal. Then the user gives a set of instructions to the program to execute under certain conditions, it can be user to execute multiple trades in seconds or perform analytical process on any given feed/information given on the MT4 platform.
Why EAs are popular and used?
Quick to open positions and react to market volatility:
With so many instruments available to trade and so much analysis to do, humans can not make time for the analysis of the market and cannot open multiple positions to avail all the intraday opportunities in the market. While an EA can analyze a greater number of instruments to make truly a diverse portfolio and react to market volatility much faster.
EA strategies can be back tested:
The set of instructions or the strategy that you code in the EA can be back tested to ensure that it's delivering the results wanted by the developer.
No Emotions to hamper potential profits:
Emotions and psycology plays an important role when the trade goes the wrong way. One of the many benefits of an EA is that it has no emotions as compared to humans and can open close trades based on the parameters given and respond with risk management protocols if trades go wrong.
No rest needed :
Unlike humans the EA doesn't need to eat, sleep, drop kids to school or go to work etc. They start compiling the instruction set whenever the program/EA is executed. It can perform market analysis all the time without break and open trades when there are more potential opportunities in the market which the human trader might be missing because of his busy life.
However traders should be aware of the risks involved with using an EA. There are many good ones giving a substantial return over investment per anum but many of the ones which claim astronomical returns might turn out to be fraudulent. If these astronomical returns were that easy to get using EAs then all banks and hedge funds would just put their money with the EA and the world would be a much richer place :D
While checking for EAs to buy be sure to check their history , user reviews and back tested data before risking your investment. Remember many unethical brokers make fake historical trade data which these fraudulent EA developers market online and entice clients with huge returns.
For more News from the FX Markets visit our website.
We also have on demand webinars for clients who are interested in growing their knowledge in the FX sphere.
submitted by StrattonForex to u/StrattonForex [link] [comments]

Metatrader,Indicators ,Expert Advisors

Customized Strategies, EAs & Indicators For Professional MT4Traders MT4 HUB is here to help you maximize high probability trades and minimize losses. You will gain full access to customized indicators, EAs, and strategies that fit your personal trading goals and style. Why So Many Professional Traders Choose MT4 HUB: ☑ Established in 2010, with a long track record of helping professional traders maximize their returns ☑ We’ve worked with over 500+ traders, each with an average 5-7 million USD monthly trad- ing volume ☑ Dedicated Team of 27 people, including 7 expert developers in C++ and MT4 Editor ☑ We provide services for cryptocurrency traders in addition to Forex traders. If Your Average Monthly Trading Volume Is 1 - 25+ Million USD, We Can Automate Your Trading Strategy For More High-Probability Trades A personalized service built to match your exact trading needs. Your very own Expert Advisors, Indicators, and Strategies, optimized with machine learning. Increase your yearly returns, maximize potential profits, and minimize losses using MT4 HUB. The Team Behind MT4 HUB ☑ Established in 2010, with a long track record of helping professional traders maximize their returns ☑ We’ve worked with over 500+ traders, each with an average 5-7 million USD monthly trad- ing volume ☑ Dedicated Team of 27 people, including 7 expert developers in C++ and MT4 Editor ☑ We provide services for cryptocurrency traders in addition to Forex traders. ☑ We’re local. 100% Unique Strategies State-of-the-art machine learning Your favorite trading indicators & strategies… Super-Charged No one else will be using your exact trading strategy, as your EAs are all uniquely programmed to your parameters and AI optimization. You won’t need any mathematical knowledge or coding experience to take full advantage of custom-built strategies and EAs to execute them. Train, test, and optimize your strategies using Artificial Intelligence & machine learning, and watch as they reduce errors, minimize risk, and increase your returns. Zero Emotional Trades 24/5 Trading 8+ Years of Testing, Research & Development No more suffering losses due to fear, greed, or other emotions plaguing other traders. Once your custom EAs is ready, your strategy will be executed with zero emotional baggage or distractions. Tired? Sleeping? No problem! Your custom EAs will make trades with the same accuracy no matter what time of day (or night) it is! Your EAs will never get tired or miss out on high probability trades. Our customized EAs, Indicators & Strategies have been tested time and time again by hundreds of professional traders, and are made to work with all trading timeframes. More Ways You Benefit By Using MT4 HUB • You Can Select Your Maximum Risk - Your EAs will stop trading immediately if your account reaches your maximum risk level. Protect your downside and your capital during volatile market periods. • Catch High Probability Trades - All these tools are here to help you catch as many high probability trades as possible while minimizing your risk and exposure to the market. • Follow a Strict Trading System To The Letter - Your EAs will never make trades that fall outside of your pre-programmed parameters. • A Complete Understanding Of Market Movements - Customized Trading EAs, Indica- tors & Strategies combined with the analytical capabilities of MetaTrader 4 will help you un- derstand the current market movements more completely, making it easier to find & catch the highest probability trades. Frequently Asked Questions - Who Can Benefit From Using MT4 HUB? Any trader who’s looking to upgrade their trading strategy, and execute it perfectly 24/5. MT4 HUB allows you to super-charge your entire trading strategy with the power of AI, customized indicators & more. Your trades will no longer be affected by emotion, feeling tired, or even sleeping. Simply set up your automated system, and MT4 HUB will take care of the rest. We mainly deal with traders who have a monthly trade volume of 1 to 25+ million USD. - Will the Expert Advisors Work? While we cannot promise profits, you can always ‘paper trade’ using the Expert Advisor, and op- timize it until it consistently makes a profit before you put it on the live market. - Does MT4 HUB work for cryptocurrency traders? Yes! We give you full support along with the same incredible features even for the new cryptocur- rency markets. If you can trade it on MT4, we support it! Since these markets never close, you can have customized EAs doing your cryptocurrency trading 24/7 too!
submitted by tradebot321 to u/tradebot321 [link] [comments]

Forex Algorithmic Trading Course: Learn How to Code on ... How to Trade Forex Using MetaTrader 4 (MT4) Walkthrough ... MetaTrader4 - The Complete Guide to MT4 - YouTube How to draw technical analysis in MetaTrader 4 - YouTube How to Change or Select Language on your META 4 Forex ... How To Use MetaTrader 4 (Tutorial For Beginners - How To ... Tutorial 1 - MetaTrader 4 Tips and Tricks - YouTube How to install a Forex Robot in MetaTrader4 - YouTube

The Metatrader 4 forex trading platform combines a rich user interface with a highly customizable trading environment. It offers advanced trading capabilities and the ability to place advanced orders as well as trade from charts Specialized editor for creating trading robots and technical indicators The MQL4 programs are developed in the built-in MetaEditor. It is a convenient and versatile tool for developing Expert Advisors, custom indicators, scripts and libraries of any complexity which are then used in the platform. MetaTrader 4 is a platform for trading Forex, analyzing financial markets and using Expert Advisors. Mobile trading, Trading Signals and the Market are the integral parts of MetaTrader 4 that enhance your Forex trading experience. Millions of traders with a wide range of needs choose MetaTrader 4 to trade in the market. The platform offers ample of opportunities to traders of all skill levels ... Alternatively, you can launch the MetaEditor by clicking Tools >>> MetaQuotes Language Editor. New MQL 4 programs creation is aided by the Expert Advisors Wizard within the MetaEditor. You can also use templates to write an MQL 4 program. Having started to write the program, the user can find a full description of the language in the MQL 4 Dictionary. After the program has been written, it ... There are numerous Android powered smartphones and tablets, and any of them can be used to trade Forex via MetaTrader 4. Round-the-clock access to the market; Connection to 2 000+ broker servers; 30 technical indicators and 24 analytical objects; Full-featured trading system: 2 execution modes and 4 order types; Real-time symbol quotes; 3 chart types and 9 timeframes (periods) Download ... Thus, the code writing is greatly facilitated and sped up. With the help of the editor, you can promptly see the function signature, a quick insertion of resources, supports snippets, easy code navigation, and bookmarks. MQL5 storage and shared projects: Online source code storage MQL5 storage is featured by MetaEditor. With the storage, you can access your codes from any computer by using an ... MetaEditor is a freeware metadata editor software app filed under camera software and made available by kiwi software for Windows. The review for MetaEditor has not been completed yet, but it was tested by an editor here on a PC. If you would like to submit a review of this software download, we welcome your input and encourage you to submit us something! Edit hidden metadata stored in digital ...

[index] [12995] [13216] [17889] [28466] [16769] [18069] [29618] [13048] [18773] [10572]

Forex Algorithmic Trading Course: Learn How to Code on ...

Register for the full course here: https://rebrand.ly/ForexAlgo Follow me on Instagram: https://www.instagram.com/Mohsen_Hassan Join our Discord room here ht... At first the app may be a bit confusing so I did make this beginner friendly. This video I do a quick, easy, detailed walkthrough on how you can use the Meta... Comprehensive guide to all the features of MetaTrader 4. You can't trade Forex without knowing your platform. If you want to learn more and get an excellent ... How to Change or Select Language on your META 4 Forex trading platform A detailed video explaining how to download and how to use Metatrader 4 charting platform. In this video - 'How To Use Metatrader 4 Tutorial For Beginners' I... MetaTrader 4 is an extremely robust and efficient way to manage your investing. This video will demonstrate some of the platform features and will help you u... This guide is aimed at beginners who would like to know how to use Technical analysis in MetaTrader 4. Metatrader 4 is one of the most popular trading platfo... This educational video will show you how to install a forex robot to the MetaTrader4 platform step-by-step (by the example of our free SwissBot). Welcome to ...