- Register a Server - Virtual Hosting for 24/7 Operation
- Migration - Virtual Hosting for 24/7 Operation
- How to Participate - MQL5 Cloud Network
I need help getting started with MT 4, as it would take me weeks to figure out what I want to do by watching tutorials. I do not want to use EAs, I want to use scripts to trade single times when certain conditions are met. I live in the Denver area if someone happens to be local. I tried to register for the MQL4 forum, but it wouldn't even let me register with the same email address. Thanks, Steve
Scripts are not used to open trades when a certain condition is met. They only execute a command and close them selves... For order opening and managament you need EAs.
But I suggest first learning to trade manually...I am sure will take few years to find some good strategies...
Scripts are not used to open trades when a certain condition is met. They only execute a command and close them selves... For order opening and managament you need EAs.
But I suggest first learning to trade manually...I am sure will take few years to find some good strategies...
Script with property script_show_input or not, can do the job as well as EA.
I have a script, which can be opened order with a single click with money management, lot_size, tp, sl as well as EA,
and if I will open order but does not fit the trend, the script will warning me and not let me open the order. ^_^
Hi Tim.. You are wrong..
Script with property script_show_input or not, can do the job as well as EA.
I have a script, which can be opened order with a single click with money management, lot_size, tp, sl as well as EA,
and if I will open order but does not fit the trend, the script will warning me and not let me open the order. ^_^
I need help getting started with MT 4, as it would take me weeks to figure out what I want to do by watching tutorials. I do not want to use EAs, I want to use scripts to trade single times when certain conditions are met. I live in the Denver area if someone happens to be local. I tried to register for the MQL4 forum, but it wouldn't even let me register with the same email address. Thanks, Steve
Hi, Steve
I suggest you to please learn or understand forex first then involve in trading atleast 6 months
try to make some strategies, open demo account and trade their with ease
1.) There are tons of code for probably any trading idea you might have. Just search here (the lense to right) or google like "mt4 indicator CCI"
2.) To learn to code just take a working EA or an indicator and modify it according to your ideas - that's the way I learnt it. Especially good for the trading-order-management!
3.) In case of a question first use the editor's reference: Put the cursor on the mt4-order you want to know more and with the mouse click on help and MQL4-reference - or google.
Hi, I have 5 years of successful live forex trading with another automated system. But the company that developed it got bought out, and the new company isn't connecting it to live accounts. So I am trying to learn MT4. I know exactly what strategies I want to employ. It is a matter of figuring out what EA or script to use. If I want, for example, the sample Moving Average EA to trade just once and then stop, do I write a script for that? Also, do I have to get a Multi Account Manager in order to trade several demo accounts or several live accounts. Thanks for your responses. Steve
//+------------------------------------------------------------------+ //| Moving Average once.mq4 | //| Copyright 2005-2014, MetaQuotes Software Corp. | //| http://www.mql4.com | //+------------------------------------------------------------------+ #property copyright "2005-2014, MetaQuotes Software Corp." #property link "http://www.mql4.com" #property description "Moving Average sample expert advisor" #define MAGICMA 20131111 //--- Inputs input double Lots =0.1; input double MaximumRisk =0.02; input double DecreaseFactor=3; input int MovingPeriod =12; input int MovingShift =6; bool trade=true; //+------------------------------------------------------------------+ //| Calculate open positions | //+------------------------------------------------------------------+ int CalculateCurrentOrders(string symbol) { int buys=0,sells=0; //--- for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA) { if(OrderType()==OP_BUY) buys++; if(OrderType()==OP_SELL) sells++; } } //--- return orders volume if(buys>0) return(buys); else return(-sells); } //+------------------------------------------------------------------+ //| Calculate optimal lot size | //+------------------------------------------------------------------+ double LotsOptimized() { double lot=Lots; int orders=HistoryTotal(); // history orders total int losses=0; // number of losses orders without a break //--- select lot size lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1); //--- calcuulate number of losses orders without a break if(DecreaseFactor>0) { for(int i=orders-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; } if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue; //--- if(OrderProfit()>0) break; if(OrderProfit()<0) losses++; } if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1); } //--- return lot size if(lot<0.1) lot=0.1; return(lot); } //+------------------------------------------------------------------+ //| Check for open order conditions | //+------------------------------------------------------------------+ void CheckForOpen() { double ma; int res; //--- go trading only for first tiks of new bar if(Volume[0]>1) return; //--- get Moving Average ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0); //--- sell conditions if(Open[1]>ma && Close[1]<ma && trade) { res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red); return; } //--- buy conditions if(Open[1]<ma && Close[1]>ma && trade) { res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); return; } //--- } //+------------------------------------------------------------------+ //| Check for close order conditions | //+------------------------------------------------------------------+ void CheckForClose() { double ma; //--- go trading only for first tiks of new bar if(Volume[0]>1) return; //--- get Moving Average ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0); //--- for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue; //--- check order type if(OrderType()==OP_BUY) { if(Open[1]>ma && Close[1]<ma) { if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White)) Print("OrderClose error ",GetLastError()); else trade=false; } break; } if(OrderType()==OP_SELL) { if(Open[1]<ma && Close[1]>ma) { if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White)) Print("OrderClose error ",GetLastError()); else trade=false; } break; } } //--- } //+------------------------------------------------------------------+ //| OnTick function | //+------------------------------------------------------------------+ void OnTick() { //--- check for history and trading if(Bars<100 || IsTradeAllowed()==false) return; //--- calculate open orders by current symbol if(CalculateCurrentOrders(Symbol())==0) CheckForOpen(); else CheckForClose(); //--- } //+------------------------------------------------------------------+
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use