tag:blogger.com,1999:blog-414098963710226342024-03-19T01:11:43.350-07:00Forex with CandlestickUnknownnoreply@blogger.comBlogger64125tag:blogger.com,1999:blog-41409896371022634.post-9137439896200907682024-01-29T20:28:00.000-08:002024-01-29T20:28:30.844-08:00Quantity Calculation for trading<p> How to calculation quantity for trading ?</p><p>If your fund is INR.100000.</p><p>You want to Risk in per trade INR.2000 ( 2% of total fund ).</p><p>Current price : 500</p><p>Stoploss point : 400</p><p>Two method for calculation </p><p>First formula</p><p>quantity = risk fund / (current price - stoploss point)</p><p>quantity = 2000 / ( 500-400)</p><p>quantity = 2000/100</p><p>quantity =20</p><p><br /></p><p>Second formula</p><p>Use fund for trade = amount</p><p>amount = risk fund * 100 / 100-stoploss point( current price/100)</p><p>amount = 20 / 200000</p><p>amount = 200000/20</p><p>amount = 10000</p><p>quantity =amount / current price</p><p><br /></p><p>For bank nifty indian exchange</p><p>current bank nifty lots size = 15</p><p>lots = quantity/15</p><p>lot = 1.33</p><p>lot = 1 round you can buy 1 lot in bank nifty</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-49229791039446568642023-05-29T19:45:00.003-07:002023-05-29T19:45:46.844-07:00Trading With Three Time Frames<p> <span face="VAGRundschriftD, Helvetica, Arial, sans-serif" style="background-color: white; color: #444951; font-size: 28px;">Determine Main Trend</span></p><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;">The largest time frame we consider our <span style="box-sizing: inherit; font-weight: 700;">main trend</span> – this shows us the big picture of the pair we wanna trade.</p><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;"></p><span face="Arial, "Helvetica Neue", Helvetica, sans-serif" style="background-color: white; color: #444951; font-size: 20px;">For example, on the daily chart, EUR/USD is trading above the 200 SMA which tells you that the main trend is UP.</span><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;"></p><h3 style="background-color: white; box-sizing: inherit; color: #444951; font-family: VAGRundschriftD, Helvetica, Arial, sans-serif; font-size: 28px; font-weight: 400; margin: 40px 0px;">Determine Current Market Bias</h3><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;">The next time frame down is what we normally look at, and it signals to us the medium-term buy or selling <span style="box-sizing: inherit; font-weight: 700;">bias</span>.</p><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;"></p><span face="Arial, "Helvetica Neue", Helvetica, sans-serif" style="background-color: white; color: #444951; font-size: 20px;">on the 4-hour </span>EUR/USD<span face="Arial, "Helvetica Neue", Helvetica, sans-serif" style="background-color: white; color: #444951; font-size: 20px;"> </span><span face="Arial, "Helvetica Neue", Helvetica, sans-serif" style="background-color: white; color: #444951; font-size: 20px;">chart must </span><span face="Arial, "Helvetica Neue", Helvetica, sans-serif" style="background-color: white; color: #444951; font-size: 20px;">continues bullish trend.</span><div><h3 style="background-color: white; box-sizing: inherit; color: #444951; font-family: VAGRundschriftD, Helvetica, Arial, sans-serif; font-size: 28px; font-weight: 400; margin: 40px 0px;">Determine Entry and Exit</h3><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;">The smallest time frame (1-hour ) also trend up then you can find really good <span style="box-sizing: inherit; font-weight: 700;">entry and exit points</span>.</p><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;"></p><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;"><a href="https://bpcdn.co/images/2010/11/240-m-buying-bias.png" style="background-color: transparent; border-bottom: 1px dotted rgb(68, 73, 81); box-sizing: inherit; color: #444951; text-decoration-line: none;"></a></p><h3 style="background-color: white; box-sizing: inherit; color: #444951; font-family: VAGRundschriftD, Helvetica, Arial, sans-serif; font-size: 28px; font-weight: 400; margin: 40px 0px;">Multiple Time Frame Combinations</h3><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;">You can use any time frame you like as long as there is enough time difference between them to <span style="box-sizing: inherit; font-weight: 700;">see a difference in their movement</span>.</p><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;">You might use:</p><ul style="background-color: white; box-sizing: inherit; clear: both; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; list-style: none; margin: 48px 0px; padding: 0px 20px 0px 48px;"><li style="box-sizing: inherit; font-size: inherit; line-height: 40px; position: relative;">1-minute, 5-minute, and 30-minute</li><li style="box-sizing: inherit; font-size: inherit; line-height: 40px; position: relative;">5-minute, 30-minute, and 4-hour</li><li style="box-sizing: inherit; font-size: inherit; line-height: 40px; position: relative;">15-minute, 1-hour, and 4-hour</li><li style="box-sizing: inherit; font-size: inherit; line-height: 40px; position: relative;">1-hour, 4-hour, and daily</li><li style="box-sizing: inherit; font-size: inherit; line-height: 40px; position: relative;">4-hour, daily, and weekly and so on.</li><li></li></ul><p style="background-color: white; box-sizing: inherit; color: #444951; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 0px 40px; overflow-wrap: break-word; word-break: break-word;"></p><div class="ad-unit inline" data-height="250" data-react-cache-id="Ads/AdUnit-0" data-react-class="Ads/AdUnit" data-react-props="{"slot_id":"7a3be7022cf38e6c","unit_id":"inline"}" data-width="300" style="background-color: white; box-sizing: inherit; color: #444951; float: left; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 20px; margin: 0px 50px 25px 0px; padding: 0px; text-align: center;"></div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-35607997211585923542023-01-03T23:56:00.002-08:002023-01-03T23:56:45.382-08:00Draw a rectangal on your MT4 chart using expert advisory<p> <span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">Draw a rectangal on your MT4 chart using expert advisory</span></p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectsDeleteAll();</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ChartSetInteger(ChartID(),CHART_FOREGROUND,0,false);</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectCreate(ChartID(),"obj_rect",OBJ_RECTANGLE_LABEL,0,0,0) ;</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectSetInteger(ChartID(),"obj_rect",OBJPROP_XDISTANCE,1);</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectSetInteger(ChartID(),"obj_rect",OBJPROP_YDISTANCE,10);</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectSetInteger(ChartID(),"obj_rect",OBJPROP_BACK,false);</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectSetInteger(ChartID(),"obj_rect",OBJPROP_XSIZE,350);</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectSetInteger(ChartID(),"obj_rect",OBJPROP_YSIZE,300);</p><p style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">ObjectSetInteger(ChartID(),"obj_rect",OBJPROP_BGCOLOR,Red);</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-27581819125712749402022-12-16T22:57:00.005-08:002022-12-17T01:16:06.198-08:00forexpark average order <p>//+------------------------------------------------------------------+</p><p>//| ForexPerk-Copy.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10001;</p><p>extern double Lots =0.01;</p><p>extern int Takeprofit=100;</p><p>extern int gap = 100;</p><p>extern int Slippage=3;</p><p>extern double Maxbuyposition=10;</p><p>extern double Maxsellposition=10;</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>int OpenBuyOrders;</p><p><br /></p><p>int OpenSellOrders;</p><p><br /></p><p>int total;</p><p> </p><p>void OnTick()</p><p> </p><p>{ </p><p>int speared = SymbolInfoInteger(OrderSymbol(), SYMBOL_SPREAD);</p><p>double profit = AccountProfit(); </p><p> OpenBuyOrders=0;</p><p><br /></p><p> OpenSellOrders=0;</p><p><br /></p><p> total=0;</p><p><br /></p><p>//Count Pending Stop Orders</p><p><br /></p><p> for(int i=0; i<OrdersTotal(); i++ )</p><p><br /></p><p> {</p><p><br /></p><p> if(OrderSelect(i, SELECT_BY_POS)==true)</p><p><br /></p><p> {</p><p><br /></p><p> if (OrderType()==OP_BUY && OrderSymbol() == Symbol())</p><p><br /></p><p> OpenBuyOrders++;</p><p><br /></p><p> if (OrderType()==OP_SELL && OrderSymbol() == Symbol())</p><p><br /></p><p> OpenSellOrders++;</p><p><br /></p><p> }</p><p><br /></p><p> total=OpenBuyOrders + OpenSellOrders;</p><p><br /></p><p> }</p><p>//last close</p><p>datetime ctime = Time[0];</p><p>datetime lastclose = 0;</p><p>int c = OrdersHistoryTotal(); </p><p><br /></p><p> int a = OrdersHistoryTotal() - 10;</p><p><br /></p><p> int b = OrdersHistoryTotal();</p><p><br /></p><p> for (c = a;c < b ;c++)</p><p> {</p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true && OrderMagicNumber()== MagicNumber)</p><p> { </p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p> lastclose = OrderCloseTime();</p><p> }</p><p> }</p><p> //lastprice</p><p> double buyticket = 0;</p><p><br /></p><p>double lastbuy = 0;</p><p><br /></p><p>double buytarget = 0;</p><p><br /></p><p>double buyprofit = 0;</p><p><br /></p><p>datetime buydate = 0;</p><p><br /></p><p>double sellticket = 0;</p><p><br /></p><p>double lastsell = 0;</p><p><br /></p><p>double selltarget = 0;</p><p><br /></p><p>double sellprofit = 0;</p><p><br /></p><p>datetime selldate = 0;</p><p> for (int cntl = 0; cntl < OrdersTotal(); cntl++)</p><p><br /></p><p> {</p><p><br /></p><p>if(OrderSelect(cntl,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()== MagicNumber){</p><p><br /></p><p>//buy details</p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_BUY && OrderSymbol() == Symbol()){</p><p><br /></p><p>buyticket = OrderTicket();</p><p><br /></p><p>lastbuy = OrderOpenPrice();</p><p><br /></p><p>buydate = OrderOpenTime();</p><p><br /></p><p>buyprofit = OrderProfit();</p><p>}</p><p><br /></p><p>//sell details</p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_SELL && OrderSymbol() == Symbol()){</p><p><br /></p><p>sellticket = OrderTicket();</p><p><br /></p><p>lastsell = OrderOpenPrice();</p><p><br /></p><p>selldate = OrderOpenTime();</p><p><br /></p><p>sellprofit = OrderProfit();</p><p>}</p><p>}} </p><p>double buygap = lastbuy-gap*Point;</p><p>double sellgap = lastsell+gap*Point;</p><p> //signal</p><p>string signal=""; </p><p>if ((OpenBuyOrders < Maxbuyposition) && (ctime > lastclose) && (ctime > OrderOpenTime()) && (Close[0] > High[1]))</p><p>{</p><p>//set the signal variable to buy</p><p>signal="buy";</p><p>}</p><p>//buy 2nd</p><p>if ((OpenBuyOrders < Maxbuyposition) && (ctime > lastclose) && (ctime > OrderOpenTime())&& (buygap > Ask) && (OrderOpenPrice() > Ask) && (Close[0] > High[1]))</p><p>{</p><p>//set the signal variable to buy</p><p>signal="buy";</p><p>}</p><p><br /></p><p>//if the moving average above the current price</p><p>if ((OpenSellOrders < Maxsellposition) && (ctime > lastclose) && (ctime > OrderOpenTime()) && (Close[0] < Low[1]))</p><p>{</p><p>//set the signal variable to sell</p><p>signal="sell";</p><p>} </p><p>//sell 2nd</p><p>if ((OpenSellOrders < Maxsellposition) && (ctime > lastclose) && (ctime > OrderOpenTime()) && (sellgap < Bid) && (OrderOpenPrice() < Bid) && (Close[0] < Low[1]))</p><p>{</p><p>//set the signal variable to sell</p><p>signal="sell";</p><p>} </p><p> //</p><p>//average buy</p><p>double Lotsb = 0.0;</p><p> double OrderPriceb = 0.0;</p><p> double LotsPriceb = 0.0;</p><p> double averagebuy = 0.0;</p><p> double buytar = 0.0;</p><p> for (int ba = OrdersTotal() - 1; ba >= 0; ba--)</p><p> {</p><p> OrderSelect(ba, SELECT_BY_POS, MODE_TRADES);</p><p> if (OrderSymbol() == Symbol() && OrderType() == OP_BUY)</p><p> {</p><p> Lotsb = Lotsb + OrderLots();</p><p> LotsPriceb = LotsPriceb + OrderLots()*OrderOpenPrice();</p><p><br /></p><p> //Print("Lotsb : ", OrderLots(), " OrderOpenPrice : ", OrderOpenPrice());</p><p>buytar = LotsPriceb/Lotsb+Takeprofit*Point; </p><p> }</p><p> </p><p> } </p><p>//average sell</p><p>double Lotss = 0.0;</p><p> double OrderPrices = 0.0;</p><p> double LotsPrices = 0.0;</p><p> double averagesell = 0.0;</p><p> double selltar = 0.0;</p><p> for (int sa = OrdersTotal() - 1; sa >= 0; sa--)</p><p> {</p><p> OrderSelect(sa, SELECT_BY_POS, MODE_TRADES);</p><p> if (OrderSymbol() == Symbol() && OrderType() == OP_SELL)</p><p> {</p><p> Lotss = Lotss + OrderLots();</p><p> LotsPrices = LotsPrices + OrderLots()*OrderOpenPrice();</p><p><br /></p><p> // Print("Lotss : ", OrderLots(), " OrderOpenPrice : ", OrderOpenPrice());</p><p>selltar = LotsPrices/Lotss-Takeprofit*Point;</p><p> }</p><p> </p><p> } </p><p>//</p><p>double buytp = Ask+Takeprofit*Point;</p><p>double selltp = Bid-Takeprofit*Point;</p><p>//double target = 1.00+(speared*0.01);</p><p> Comment ("Speared",speared , " Equity ",profit," Ask ",Ask, " Bid ",Bid, " buygap ",buygap," sellgap ",sellgap,</p><p> "\n Total buy ",OpenBuyOrders," Total sell ",OpenSellOrders," total ",total," order close ",OrderClosePrice()," order open ",OrderOpenPrice(),</p><p> "\n current time " ,TimeCurrent(), " current open time ",ctime," last closed order ",lastclose, " buytp ",buytp, " selltp ",selltp,</p><p> "\n last buy ",lastbuy, "average buy",averagebuy, " buy tar ",buytar," last sell ",lastsell, "average sell",averagesell," selltar ",selltar,</p><p> "\n The current signal is : ",signal);</p><p> int result=0;</p><p>double lots = Lots;//0;</p><p>//if(OrdersTotal() == 0){lots = Lots;}else{lots = Lots*(OrdersTotal()+1);}</p><p>if ((signal == "buy" && OpenBuyOrders < Maxbuyposition))//Here is your open Buy rule</p><p> {Alert("open buy");</p><p>result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"100pip EA https://forexwithcandlestick.blogspot.com",MagicNumber,0,Green);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),0,0,0,Red);</p><p> } </p><p> }</p><p>if ((signal == "sell" && OpenSellOrders < Maxsellposition)) //Here is your open Sell rule</p><p> { Alert("open sell");</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"100pip EA https://forexwithcandlestick.blogspot.com ",MagicNumber,0,Red);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),0,selltp,0,Red);</p><p> }</p><p> </p><p> </p><p> } </p><p>if(Ask < selltar && OrderClosePrice() < selltar)</p><p>{</p><p>for (int ss = OrdersTotal()-1; ss >= 0; ss--)</p><p>{ </p><p>if(OrderSelect(ss,SELECT_BY_POS) && OrderType() == OP_SELL && OrderSymbol() == Symbol()){</p><p> ulong orderticket = OrderTicket();</p><p> Print(orderticket);</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red);</p><p> }</p><p><br /></p><p><br /></p><p>}//order closed end</p><p><br /></p><p>} </p><p>//</p><p>if(Bid > buytar && OrderClosePrice() > buytar)</p><p>{</p><p>for (int bb = OrdersTotal()-1; bb >= 0; bb--)</p><p>{ </p><p>if(OrderSelect(bb,SELECT_BY_POS) && OrderType() == OP_BUY && OrderSymbol() == Symbol()){</p><p> ulong orderticketb = OrderTicket();</p><p> Print(orderticketb);</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0,Red);</p><p> }</p><p><br /></p><p>}</p><p>}//buy closed </p><p> </p><p> } </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-90792407626936281492022-11-26T04:15:00.003-08:002022-11-26T04:18:11.674-08:00range trading<p>this mt4 ea open trade in 14 candles low and high range.</p><p>this ea good for 1 hour and biggest chart.</p><p> //+------------------------------------------------------------------+</p><p>//| range_trading.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p><br /></p><p>extern int MagicNumber=10002;</p><p>extern double Lots =0.01;</p><p>extern int TrailingStop=100;</p><p>extern int Slippage=3;</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p> {</p><p>string signal="";</p><p> double MyPoint=Point;</p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p>double speared = DoubleToStr(Ask-Bid,Digits);</p><p>datetime ctime = Time[0];</p><p>datetime lastclose = 0;</p><p>double sellstoploss = DoubleToStr(High[1]+(High[1]-Low[1]),Digits);</p><p>double selltp = DoubleToStr(Low[1]-2*(High[1]-Low[1]),Digits);</p><p><br /></p><p>double buystoploss = DoubleToStr(Low[1]-(High[1]-Low[1]),Digits);</p><p>double buytp = DoubleToStr(High[1]+2*(High[1]-Low[1]),Digits);</p><p><br /></p><p>//double rsi = iRSI(NULL,0,14,PRICE_CLOSE,0);</p><p><br /></p><p>int c = OrdersHistoryTotal(); </p><p><br /></p><p> int a = OrdersHistoryTotal() - 10;</p><p><br /></p><p> int b = OrdersHistoryTotal();</p><p><br /></p><p> for (c = a;c < b ;c++)</p><p> {</p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true && OrderMagicNumber()== MagicNumber)</p><p> { </p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p> lastclose = OrderCloseTime();</p><p> }</p><p> }</p><p>int tllow = iLowest(_Symbol,_Period,MODE_LOW,14,0);</p><p>int tlhigh = iHighest(_Symbol,_Period,MODE_HIGH,14,0);</p><p>double lowa = Low[tllow];</p><p>double higha = High[tlhigh];</p><p><br /></p><p>if ((Low[2] > lowa) && (Low[1] > lowa) && (Open[2] < Close[2]) && (Open[1] < Close[1]) && (Close[1] > Close[2]) && (Close[0] > High[1]))</p><p>{</p><p>//set the signal variable to buy</p><p>signal="buy";</p><p>}</p><p>//if the moving average above the current price</p><p>if ((High[2] < higha) && (High[1] < higha) && (Open[2] > Close[2]) && (Open[1] > Close[1]) && (Close[1] < Close[2]) && (Close[0] < Low[1]))</p><p>{</p><p>//set the signal variable to sell</p><p>signal="sell";</p><p>} </p><p> </p><p>Comment("ASK ",Ask, " BID ",Bid, " SPEARD ", speared , "\n CURRENT TIME ",ctime, " LAST ORDER CLOSED TIME ",lastclose,</p><p>"\n The current signal is : ",signal); </p><p> </p><p> if( TotalOrdersCount()==0)</p><p> {</p><p> int result=0;</p><p>if ((signal == "buy" && TotalOrdersCount() ==0))//Here is your open Buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,buystoploss,0,"range_trading EA https://forexwithcandlestick.blogspot.com",MagicNumber,0,Green);</p><p> if(result>0)</p><p> { </p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(buystoploss,Digits),0,0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> //if the fast SMA is now above</p><p>if ((signal == "sell" && TotalOrdersCount() ==0)) //Here is your open Sell rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,sellstoploss,0,"range_trading EA https://forexwithcandlestick.blogspot.com ",MagicNumber,0,Red);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(sellstoploss,Digits),0,0,Red);</p><p> }</p><p> return(0);</p><p> }</p><p> </p><p> } </p><p> ObjectDelete("tpl");</p><p>ObjectCreate(0,"tpl",OBJ_HLINE,0,Time[20],</p><p>OrderTakeProfit(),Time[1],OrderTakeProfit());</p><p>ObjectSetInteger(0,"tpl",OBJPROP_COLOR,Blue);</p><p>ObjectSetInteger(0,"tpl",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"tpl",OBJPROP_WIDTH,1);</p><p>//object pivot</p><p> ObjectDelete("SL");</p><p>ObjectCreate(0,"SL",OBJ_HLINE ,0,Time[20],</p><p>OrderStopLoss(),Time[1],OrderStopLoss());</p><p>ObjectSetInteger(0,"SL",OBJPROP_COLOR,Yellow);</p><p>ObjectSetInteger(0,"SL",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"SL",OBJPROP_WIDTH,3);</p><p><br /></p><p> ObjectDelete("trendlow");</p><p>ObjectCreate(0,"trendlow",OBJ_TREND,0,Time[14],</p><p>lowa,Time[0],lowa);</p><p>ObjectSetInteger(0,"trendlow",OBJPROP_COLOR,White);</p><p>ObjectSetInteger(0,"trendlow",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"trendlow",OBJPROP_WIDTH,3);</p><p><br /></p><p> ObjectDelete("trendhigh");</p><p>ObjectCreate(0,"trendhigh",OBJ_TREND,0,Time[14],</p><p>higha,Time[0],higha);</p><p>ObjectSetInteger(0,"trendhigh",OBJPROP_COLOR,Green);</p><p>ObjectSetInteger(0,"trendhigh",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"trendhigh",OBJPROP_WIDTH,3);</p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL && </p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber</p><p> )</p><p> {</p><p> if(OrderType()==OP_BUY)</p><p> {</p><p> if((OrderProfit() > 0 && Low[1]>Bid)) //here is your close buy rule</p><p> { Alert("close buy",Bid);</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Blue);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p> {</p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop && OrderStopLoss()<Bid-buystoploss)</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),buystoploss,OrderTakeProfit(),0,Green);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if((OrderProfit() > 0 && High[1]<Ask)) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Yellow);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p> {</p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop && OrderStopLoss()> sellstoploss)) || (OrderStopLoss()==0))</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),sellstoploss,OrderTakeProfit(),0,Red);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> return(0);</p><p>}</p><p><br /></p><p>int TotalOrdersCount()</p><p>{</p><p> int result=0;</p><p> for(int i=0;i<OrdersTotal();i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p> if (OrderMagicNumber()==MagicNumber) result++;</p><p><br /></p><p> }</p><p> return (result);</p><p>} </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-35833002905939546922022-11-09T00:07:00.000-08:002022-11-09T00:07:03.076-08:00pivot and poc for 1 hour timeframe<p>pivot and poc for 1 hour timeframe</p><p>ea calculate pivot weakly</p><p>poc = ( 20 candle high - 20 candle low )/2</p><p><br /></p><p> //+------------------------------------------------------------------+</p><p>//| pivot-poc.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p><br /></p><p>extern int MagicNumber=10002;</p><p>extern double Lots =0.01;</p><p>extern int TrailingStop=1;</p><p>extern int Slippage=3;</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p> {</p><p>string signal="";</p><p> double MyPoint=Point;</p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p>double speared = DoubleToStr(Ask-Bid,Digits);</p><p>datetime ctime = Time[0];</p><p>datetime lastclose = 0;</p><p>double sellstoploss = DoubleToStr(High[1]+(High[1]-Low[1]),Digits);</p><p>double selltp = DoubleToStr(Low[1]-2*(High[1]-Low[1]),Digits);</p><p><br /></p><p>double buystoploss = DoubleToStr(Low[1]-(High[1]-Low[1]),Digits);</p><p>double buytp = DoubleToStr(High[1]+2*(High[1]-Low[1]),Digits);</p><p><br /></p><p>//double rsi = iRSI(NULL,0,14,PRICE_CLOSE,0);</p><p><br /></p><p>int c = OrdersHistoryTotal(); </p><p><br /></p><p> int a = OrdersHistoryTotal() - 10;</p><p><br /></p><p> int b = OrdersHistoryTotal();</p><p><br /></p><p> for (c = a;c < b ;c++)</p><p> {</p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true && OrderMagicNumber()== MagicNumber)</p><p> { </p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p> lastclose = OrderCloseTime();</p><p> }</p><p> }</p><p>int LowestCandle = iLowest(_Symbol,_Period,MODE_LOW,20,0);</p><p>int HighestCandle = iHighest(_Symbol,_Period,MODE_HIGH,20,0);</p><p>double poc = Low[LowestCandle]+(High[HighestCandle]-Low[LowestCandle])/2;</p><p>double MH = iHigh(_Symbol,PERIOD_W1,1); //iHigh(_Symbol,PERIOD_MN1,1); </p><p>double ML = iLow(_Symbol,PERIOD_W1,1); //iLow(_Symbol,PERIOD_MN1,1); </p><p>double MC = iClose(_Symbol,PERIOD_W1,1); //iClose(_Symbol,PERIOD_MN1,1);</p><p>double pivot = (MH+ML+MC)/3; </p><p> if ((Open[1] < Close[1]) && (Close[0] > High[1]) && (Close[1] > pivot) && (Close[1] > poc))</p><p>{</p><p>//set the signal variable to buy</p><p>signal="buy";</p><p>}</p><p>//if the moving average above the current price</p><p>if ((Open[1] > Close[1]) && (Close[0] < Low[1]) && (Close[1] < pivot) && (Close[1] < poc))</p><p>{</p><p>//set the signal variable to sell</p><p>signal="sell";</p><p>} </p><p> </p><p>Comment("ASK ",Ask, " BID ",Bid, " SPEARD ", speared , "\n CURRENT TIME ",ctime, " LAST ORDER CLOSED TIME ",lastclose,</p><p>"\n PIVOT POINT ",pivot , " POC POINT ",poc ,"\n The current signal is : ",signal , "",PERIOD_CURRENT ); </p><p> </p><p> if( TotalOrdersCount()==0)</p><p> {</p><p> int result=0;</p><p>if ((signal == "buy" && TotalOrdersCount() ==0))//Here is your open Buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,buystoploss,0,"Pivot-POC EA https://forexwithcandlestick.blogspot.com",MagicNumber,0,Green);</p><p> if(result>0)</p><p> { </p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(buystoploss,Digits),0,0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> //if the fast SMA is now above</p><p>if ((signal == "sell" && TotalOrdersCount() ==0)) //Here is your open Sell rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,sellstoploss,0,"Pivot-POC EA https://forexwithcandlestick.blogspot.com ",MagicNumber,0,Red);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(sellstoploss,Digits),0,0,Red);</p><p> }</p><p> return(0);</p><p> }</p><p> </p><p> } </p><p> ObjectDelete("tpl");</p><p>ObjectCreate(0,"tpl",OBJ_HLINE,0,Time[20],</p><p>OrderTakeProfit(),Time[1],OrderTakeProfit());</p><p>ObjectSetInteger(0,"tpl",OBJPROP_COLOR,Blue);</p><p>ObjectSetInteger(0,"tpl",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"tpl",OBJPROP_WIDTH,1);</p><p>//object pivot</p><p> ObjectDelete("PIVOTL");</p><p>ObjectCreate(0,"PIVOTL",OBJ_HLINE ,0,Time[20],</p><p>pivot,Time[1],pivot);</p><p>ObjectSetInteger(0,"PIVOTL",OBJPROP_COLOR,Yellow);</p><p>ObjectSetInteger(0,"PIVOTL",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"PIVOTL",OBJPROP_WIDTH,3);</p><p><br /></p><p> ObjectDelete("POC");</p><p>ObjectCreate(0,"POC",OBJ_HLINE,0,Time[20],</p><p>poc,Time[1],poc);</p><p>ObjectSetInteger(0,"POC",OBJPROP_COLOR,White);</p><p>ObjectSetInteger(0,"POC",OBJPROP_STYLE,STYLE_SOLID);</p><p>ObjectSetInteger(0,"POC",OBJPROP_WIDTH,3);</p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL && </p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber</p><p> )</p><p> {</p><p> if(OrderType()==OP_BUY)</p><p> {</p><p> if((OrderProfit() > 0 && Low[1]>Bid)) //here is your close buy rule</p><p> { Alert("close buy",Bid);</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Blue);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p> {</p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop && OrderStopLoss()<Bid-buystoploss)</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),buystoploss,OrderTakeProfit(),0,Green);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if((OrderProfit() > 0 && High[1]<Ask)) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Yellow);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p> {</p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop && OrderStopLoss()> sellstoploss)) || (OrderStopLoss()==0))</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),sellstoploss,OrderTakeProfit(),0,Red);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> return(0);</p><p>}</p><p><br /></p><p>int TotalOrdersCount()</p><p>{</p><p> int result=0;</p><p> for(int i=0;i<OrdersTotal();i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p> if (OrderMagicNumber()==MagicNumber) result++;</p><p><br /></p><p> }</p><p> return (result);</p><p>} </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-58201094060195667312022-10-04T01:34:00.000-07:002022-10-04T01:34:06.277-07:00range trade<p>//+------------------------------------------------------------------+</p><p>//| 00000000.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10001;</p><p>extern double Lots =0.01;</p><p>extern double TakeProfit=50;</p><p>extern int Slippage=3;</p><p><br /></p><p>void OnTick()</p><p> {</p><p>double buyticket = 0;</p><p><br /></p><p>double lastbuy = 0;</p><p><br /></p><p>double buytarget = 0;</p><p><br /></p><p>double buyprofit = 0;</p><p><br /></p><p>datetime buydate = 0;</p><p><br /></p><p>double sellticket = 0;</p><p><br /></p><p>double lastsell = 0;</p><p><br /></p><p>double selltarget = 0;</p><p><br /></p><p>double sellprofit = 0;</p><p><br /></p><p>datetime selldate = 0; </p><p>double buystop = 0;</p><p>double sellstop = 0;</p><p>double buytp = 0;</p><p>double selltp =0;</p><p>double buylots=0;</p><p>double selllots=0;</p><p>double buysl=0;</p><p>double sellsl=0;</p><p>double speared = DoubleToStr(Ask-Bid,Digits);</p><p><br /></p><p> for (int cntl = 0; cntl < OrdersTotal(); cntl++){</p><p>if(OrderSelect(cntl,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()== MagicNumber){</p><p><br /></p><p>//buy details</p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_BUY){</p><p><br /></p><p>buyticket = OrderTicket();</p><p><br /></p><p>lastbuy = OrderOpenPrice();</p><p><br /></p><p>buydate = OrderOpenTime();</p><p><br /></p><p>buyprofit = OrderProfit();</p><p>buytp = OrderTakeProfit();</p><p>buysl = OrderStopLoss();</p><p>buylots = OrderLots();}</p><p><br /></p><p>//buystop details</p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_BUYSTOP){</p><p><br /></p><p>buystop = OrderTicket();</p><p>}</p><p>//sell details</p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_SELL){</p><p><br /></p><p>sellticket = OrderTicket();</p><p><br /></p><p>lastsell = OrderOpenPrice();</p><p><br /></p><p>selldate = OrderOpenTime();</p><p><br /></p><p>sellprofit = OrderProfit();</p><p><br /></p><p>selltp = OrderTakeProfit();</p><p>sellsl = OrderStopLoss();</p><p>selllots = OrderLots();}</p><p>}</p><p>//sellstop details</p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_SELLSTOP){</p><p><br /></p><p>sellstop = OrderTicket();</p><p>}</p><p>}</p><p>double lotsb = DoubleToStr(buylots*1.5,2);</p><p>double lotss = DoubleToStr(selllots*1.5,2);</p><p>double accountplus2 = AccountProfit();</p><p>if(OrdersTotal() == 0){</p><p>OrderSend(Symbol(),OP_BUY,0.01,Ask,Slippage,Ask-0.003,Ask+0.002,"SELL_Double_Order_EA",MagicNumber,0,Green);</p><p>OrderSend(Symbol(),OP_SELLSTOP,0.02,Ask-0.001,Slippage,Ask+0.002,Ask-0.003,"SELL_Double_Order_EA",MagicNumber,0,Blue);</p><p>}</p><p>double pending =0;</p><p>if(buyticket < 1 && sellticket < 1){</p><p>pending = 1;</p><p> OrderDelete(buystop);</p><p> OrderDelete(sellstop);</p><p>}</p><p>double pending1 =0;</p><p>if(buystop < 1 && sellstop < 1){</p><p>pending1 = 1;</p><p>if(selldate > buydate){</p><p>OrderSend(Symbol(),OP_BUYSTOP,lotss,lastbuy,Slippage,buysl,buytp,"SELL_Double_Order_EA",MagicNumber,0,Blue);</p><p>}</p><p>if(buydate > selldate){</p><p>OrderSend(Symbol(),OP_SELLSTOP,lotsb,lastsell,Slippage,sellsl,selltp,"SELL_Double_Order_EA",MagicNumber,0,Blue);</p><p>}</p><p>}</p><p><br /></p><p>Comment(" Account Balance ", AccountBalance() ," Equity " , AccountEquity(), " speard ", speared," ask ",Ask,</p><p> "\n boy order ", buyticket, " last buy price " ,lastbuy , " buy target ", buytarget," buy profit ",buyprofit," buy date ",buydate, </p><p><br /></p><p> "\n sell order ",sellticket, " last sell price ",lastsell,"sell target", selltarget," sell profit ",sellprofit," sell date ",selldate, " aplus2 ",accountplus2, " order count ",OrdersTotal(),</p><p> "\n buystop ",buystop , " sellstop ",sellstop, " pending ",pending , " buytp ",buytp, " sell tp ",selltp,</p><p> "\n buylots ",buylots," lotsb ", lotsb," buysl ",buysl, " selllots ",selllots," lotss ", lotss," sell sl ",sellsl);</p><p>//-----------------------------------</p><p> }</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-77836319592749295342022-09-16T00:24:00.005-07:002022-09-16T00:26:04.544-07:00last candle breakeout<p> //+------------------------------------------------------------------+</p><p>//| last-candle-breakeout.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>extern int MagicNumber=10001;</p><p>extern double Lots =0.01;</p><p>extern int TrailingStop=1;</p><p>extern int Slippage=3;</p><p>//+------------------------------------------------------------------+</p><p>//| Expert function |</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p> {</p><p>string signal="";</p><p> double MyPoint=Point;</p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p>double speared = DoubleToStr(Ask-Bid,Digits);</p><p>datetime ctime = Time[0];</p><p>datetime lastclose = 0;</p><p>double sellstoploss = DoubleToStr(High[1]+(High[1]-Low[1]),Digits);</p><p>double buystoploss = DoubleToStr(Low[1]-(High[1]-Low[1]),Digits);</p><p>int c = OrdersHistoryTotal(); </p><p> int a = OrdersHistoryTotal() - 10;</p><p> int b = OrdersHistoryTotal();</p><p> for (c = a;c < b ;c++)</p><p> {</p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true && OrderMagicNumber()== MagicNumber)</p><p> { </p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p> lastclose = OrderCloseTime();</p><p> }</p><p> }</p><p> if ((Open[2] > Close[2] && Open[1] < Close[1]) && (Low[1] > Low[2]) && (Close[0] > High[1]))</p><p>{</p><p>//set the signal variable to buy</p><p>signal="buy";</p><p>}</p><p>if ((Open[2] < Close[2] && Open[1] > Close[1]) && (High[1] < High[2]) && (Close[0] < Low[1]))</p><p>{</p><p>//set the signal variable to sell</p><p>signal="sell";</p><p>} </p><p>Comment("Ask ",Ask, " bid ",Bid, " speard ", speared , " ctime ",ctime, " lastclose ",lastclose, "\n last high ",High[1],"buy stop ",buystoploss, " sell stop ",sellstoploss,</p><p>"\n The current signal is : ",signal ); </p><p> </p><p> if( TotalOrdersCount() ==0)</p><p> {</p><p> int result=0;</p><p>if ((signal == "buy" && TotalOrdersCount() ==0))//Here is your open Buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,buystoploss,0,"New Candle EA https://forexwithcandlestick.blogspot.com",MagicNumber,0,Green);</p><p> if(result>0)</p><p> { </p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(buystoploss,Digits),0,0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> if ((signal == "sell" && TotalOrdersCount() <=3)) //Here is your open Sell rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,sellstoploss,0,"New Canlde EA https://forexwithcandlestick.blogspot.com ",MagicNumber,0,Red);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(sellstoploss,Digits),0,0,Red);</p><p> }</p><p> return(0);</p><p> }</p><p> </p><p> }</p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL && </p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber</p><p> )</p><p> {</p><p> if(OrderType()==OP_BUY)</p><p> {</p><p> if((OrderProfit() > 0 && Low[1]>Bid)) //here is your close buy rule</p><p> { Alert("close buy",Bid);</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Blue);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p> {</p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop)</p><p> {</p><p> // OrderModify(OrderTicket(),OrderOpenPrice(),buystoploss,OrderTakeProfit(),0,Green);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if((OrderProfit() > 0 && High[1]<Ask)) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Yellow);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p> {</p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))</p><p> {</p><p> // OrderModify(OrderTicket(),OrderOpenPrice(),sellstoploss,OrderTakeProfit(),0,Red);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> return(0);</p><p>}</p><p><br /></p><p>int TotalOrdersCount()</p><p>{</p><p> int result=0;</p><p> for(int i=0;i<OrdersTotal();i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p> if (OrderMagicNumber()==MagicNumber) result++;</p><p><br /></p><p> }</p><p> return (result);</p><p>}</p><p>//+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-69171799454258330702022-09-15T00:05:00.004-07:002022-09-15T00:05:44.771-07:00count all open order in mt4<p>int OpenBuyOrders;</p><p>int OpenSellOrders;</p><p>int total;</p><p><br /></p><p>int start()</p><p>{</p><p> OpenBuyOrders=0;</p><p> OpenSellOrders=0;</p><p> total=0;</p><p><br /></p><p>//Count Pending Stop Orders</p><p> for(int i=0; i<OrdersTotal(); i++ )</p><p> {</p><p> if(OrderSelect(i, SELECT_BY_POS)==true)</p><p> {</p><p> if (OrderType()==OP_BUY)</p><p> OpenBuyOrders++;</p><p> if (OrderType()==OP_SELL)</p><p> OpenSellOrders++;</p><p> }</p><p> total=OpenBuyOrders + OpenSellOrders;</p><p> }</p><p> Comment ("buy_stop=",OpenBuyOrders," sell_stop=",OpenSellOrders," total=",total);</p><p>}</p><p> </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-39971729368450011272022-09-14T23:59:00.004-07:002022-09-14T23:59:52.884-07:00 close all orders in mt4 script<p> //+------------------------------------------------------------------+</p><p>//| close-all-orders.mq4 |</p><p>//| Copyright © 2005 |</p><p>//| Custom Metatrader Systems. |</p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>#property copyright "Copyright © 2005"</p><p>int start()</p><p>{</p><p> int total = OrdersTotal();</p><p> for(int i=total-1;i>=0;i--)</p><p> {</p><p> OrderSelect(i, SELECT_BY_POS);</p><p> int type = OrderType();</p><p><br /></p><p> bool result = false;</p><p> </p><p> switch(type)</p><p> {</p><p> //Close opened long positions</p><p> case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );</p><p> break;</p><p> </p><p> //Close opened short positions</p><p> case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red );</p><p> break;</p><p><br /></p><p> //Close pending orders</p><p> case OP_BUYLIMIT :</p><p> case OP_BUYSTOP :</p><p> case OP_SELLLIMIT :</p><p> case OP_SELLSTOP : result = OrderDelete( OrderTicket() );</p><p> }</p><p> </p><p> if(result == false)</p><p> {</p><p> Alert("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );</p><p> Sleep(3000);</p><p> } </p><p> }</p><p> </p><p> return(0);</p><p>}</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-44755090985762607112022-09-13T19:43:00.005-07:002022-09-13T19:43:32.894-07:00Daily pivot Point Indicator<p> </p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>// expert start function</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>int start()</p><p><br /></p><p>{</p><p><br /></p><p> double MyPoint=Point;</p><p><br /></p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p><br /></p><p> double speared =DoubleToStr(Ask-Bid,Digits);</p><p> double close = iClose(Symbol(),PERIOD_D1,1);</p><p><br /></p><p> double low = iLow(Symbol(),PERIOD_D1,1);</p><p><br /></p><p> double high = iHigh(Symbol(),PERIOD_D1,1);</p><p><br /></p><p> double pivot = (close+low+high)/3;</p><p> double s1 = (pivot*2)-high;</p><p> double s2 = pivot-(high-low);</p><p> double s3 = s1-(high-low);</p><p> double r1 = (pivot*2)-low;</p><p> double r2 = pivot+(high-low);</p><p> double r3 = r1+(high-low);</p><p><br /></p><p><br /></p><p> ObjectDelete("lowtrend");</p><p>//ObjectCreate(0,"lowtrend",OBJ_TREND,0,Time[pivot],Low[pivot],Time[0],Low[0]);</p><p>ObjectCreate(0,"lowtrend",OBJ_HLINE,0,Time[0],pivot);</p><p> </p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_COLOR,Yellow);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_WIDTH,1);</p><p>//r line</p><p>ObjectDelete("r1");</p><p>ObjectCreate(0,"r1",OBJ_HLINE,0,Time[0],r1);</p><p> </p><p> ObjectSetInteger(0,"r1",OBJPROP_COLOR,Red);</p><p> ObjectSetInteger(0,"r1",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"r1",OBJPROP_WIDTH,1);</p><p><br /></p><p>ObjectDelete("r2");</p><p>ObjectCreate(0,"r2",OBJ_HLINE,0,Time[0],r2);</p><p> </p><p> ObjectSetInteger(0,"r2",OBJPROP_COLOR,White);</p><p> ObjectSetInteger(0,"r2",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"r2",OBJPROP_WIDTH,1);</p><p> </p><p> ObjectDelete("r3");</p><p>ObjectCreate(0,"r3",OBJ_HLINE,0,Time[0],r3);</p><p> </p><p> ObjectSetInteger(0,"r3",OBJPROP_COLOR,Blue);</p><p> ObjectSetInteger(0,"r3",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"r3",OBJPROP_WIDTH,1);</p><p><br /></p><p>//s line</p><p>ObjectDelete("s1");</p><p>ObjectCreate(0,"s1",OBJ_HLINE,0,Time[0],s1);</p><p> </p><p> ObjectSetInteger(0,"s1",OBJPROP_COLOR,Red);</p><p> ObjectSetInteger(0,"s1",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"s1",OBJPROP_WIDTH,1);</p><p><br /></p><p>ObjectDelete("s2");</p><p>ObjectCreate(0,"s2",OBJ_HLINE,0,Time[0],s2);</p><p> </p><p> ObjectSetInteger(0,"s2",OBJPROP_COLOR,White);</p><p> ObjectSetInteger(0,"s2",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"s2",OBJPROP_WIDTH,1);</p><p> </p><p> ObjectDelete("s3");</p><p>ObjectCreate(0,"s3",OBJ_HLINE,0,Time[0],s3);</p><p> </p><p> ObjectSetInteger(0,"s3",OBJPROP_COLOR,Blue);</p><p> ObjectSetInteger(0,"s3",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"s3",OBJPROP_WIDTH,1);</p><p><br /></p><p>// open order line</p><p>ObjectDelete("buyline");</p><p>//ObjectCreate(0,"lowtrend",OBJ_TREND,0,Time[pivot],Low[pivot],Time[0],Low[0]);</p><p>ObjectCreate(0,"buyline",OBJ_VLINE,0,OrderOpenTime(),OrderOpenPrice());</p><p> </p><p> ObjectSetInteger(0,"buyline",OBJPROP_COLOR,Yellow);</p><p> ObjectSetInteger(0,"buyline",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"buyline",OBJPROP_WIDTH,1); </p><p> Comment("Pivot ",pivot , "\n S1 ",s1, " S2 ",s2 , " S3",s3 ,"\n R1 ",r1 ," R2 ",r2," R3 ",r3);</p><p> }</p><p> </p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-69865349101259670312022-09-13T19:24:00.003-07:002022-09-13T19:24:26.251-07:00trendline signal<p> //+------------------------------------------------------------------+</p><p>//| new-trendline.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10001;</p><p><br /></p><p>extern double Lots =0.01;</p><p><br /></p><p>extern double TakeProfit=50;</p><p><br /></p><p>extern int TrailingStop=50;</p><p><br /></p><p>extern int Slippage=3;</p><p><br /></p><p>extern int candle=20;</p><p><br /></p><p>int OnInit()</p><p> {</p><p> return(INIT_SUCCEEDED);</p><p> }</p><p>//+------------------------------------------------------------------+</p><p>//| Expert deinitialization function |</p><p>//+------------------------------------------------------------------+</p><p>void OnDeinit(const int reason)</p><p> {</p><p>//---</p><p> </p><p> }</p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>//---</p><p>int CandlesOnChart=WindowFirstVisibleBar();</p><p>int HighestCandle = iHighest(_Symbol,_Period,MODE_HIGH,CandlesOnChart,2);</p><p>int lowestCandle = iLowest(_Symbol,_Period,MODE_LOW,CandlesOnChart,2);</p><p>int HighestCandle0 = iHighest(_Symbol,_Period,MODE_HIGH,10,2);</p><p>int LowestCandle0 = iLowest(_Symbol,_Period,MODE_LOW,10,2);</p><p><br /></p><p>ObjectDelete("hightrend");</p><p>ObjectCreate(0,"hightrend",OBJ_TREND,0,Time[HighestCandle],</p><p>High[HighestCandle],Time[2],High[2]);</p><p> </p><p> ObjectSetInteger(0,"hightrend",OBJPROP_COLOR,Red);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_WIDTH,1);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_RAY,true);</p><p> </p><p> ObjectDelete("lowtrend");</p><p>ObjectCreate(0,"lowtrend",OBJ_TREND,0,Time[lowestCandle],</p><p>Low[lowestCandle],Time[2],Low[2]);</p><p> </p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_COLOR,Yellow);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_WIDTH,1);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_RAY,true);</p><p> </p><p>double bid = SymbolInfoDouble(_Symbol,SYMBOL_BID);</p><p>static double lastBid = bid;</p><p><br /></p><p>string objName = "lowtrend";</p><p>string objName1 = "hightrend";</p><p>datetime time = TimeCurrent();</p><p>double price = ObjectGetValueByTime(0,objName,time);</p><p>double priceup = ObjectGetValueByTime(0,objName1,time);</p><p>//if(bid >= price && lastBid < price){</p><p>if(Close[1] > price && Close[0] > High[1] && Close[0] > High[2]){</p><p>Print("we hit line below ok Do buyy");</p><p>}</p><p>if(Low[1] > Close[0]){</p><p>Print("we hit line above ok exit buy");</p><p>}</p><p>if(Close[1] < priceup && Close[0] < Low[1] && Close[0] < Low[2]){</p><p>//if(bid <= price && lastBid > price){</p><p>Print("we hit line above ok Do selll");</p><p>}</p><p>if(High[1] < Close[0]){</p><p>Print("we hit line above ok exit sell");</p><p>}</p><p>lastBid = bid;</p><p>Comment("price",price , " priceup ",priceup,"\n bid ",bid, " lastbid ",lastBid); </p><p> }</p><p>//+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-43040974905538856022022-09-13T19:22:00.005-07:002022-09-13T19:22:53.011-07:00trend line indicator<p> //+------------------------------------------------------------------+</p><p>//| trendline-indi.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>int HighestCandle = iHighest(_Symbol,_Period,MODE_HIGH,50,10);</p><p>int lowestCandle = iLowest(_Symbol,_Period,MODE_LOW,50,10);</p><p>int HighestCandle0 = iHighest(_Symbol,_Period,MODE_HIGH,10,10);</p><p>int LowestCandle0 = iLowest(_Symbol,_Period,MODE_LOW,10,10);</p><p><br /></p><p>ObjectDelete("hightrend");</p><p>ObjectCreate(0,"hightrend",OBJ_TREND,0,Time[HighestCandle],</p><p>High[HighestCandle],Time[2],High[2]);</p><p> </p><p> ObjectSetInteger(0,"hightrend",OBJPROP_COLOR,Red);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_WIDTH,1);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_RAY,true);</p><p> </p><p> ObjectDelete("lowtrend");</p><p>ObjectCreate(0,"lowtrend",OBJ_TREND,0,Time[lowestCandle],</p><p>Low[lowestCandle],Time[2],Low[2]);</p><p> </p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_COLOR,Yellow);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_WIDTH,1);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_RAY,true);</p><p> Comment("highest",High[HighestCandle],"highest0",High[HighestCandle0],"\n lowestlow ",Low[lowestCandle], " low ",Low[LowestCandle0]);</p><p> }</p><p>//+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-9670949205413729602022-09-13T19:18:00.001-07:002022-09-13T19:18:05.519-07:00find first red and green candle<p> //+------------------------------------------------------------------+</p><p>//| first-green.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>//---</p><p> int last_Red_candle_index=1;</p><p> int last_Green_candle_index=1;</p><p> static datetime last_Red_candle_time=0;</p><p> static datetime last_Green_candle_time=0;</p><p> static datetime alert_reference_time=0;</p><p> static datetime alert_reference_time0=0;</p><p> while(true)</p><p> {</p><p> if(iOpen(Symbol(),0,last_Red_candle_index)>iClose(Symbol(),0,last_Red_candle_index))</p><p> {</p><p> last_Red_candle_time=iTime(Symbol(),0,last_Red_candle_index);</p><p> break;</p><p> }</p><p> last_Red_candle_index++;</p><p> </p><p> if(iOpen(Symbol(),0,last_Green_candle_index)<iClose(Symbol(),0,last_Green_candle_index))</p><p> {</p><p> last_Green_candle_time=iTime(Symbol(),0,last_Green_candle_index);</p><p> break;</p><p> }</p><p> last_Green_candle_index++;</p><p> }</p><p> if(alert_reference_time!=last_Red_candle_time)</p><p> {</p><p> double red_candle_high=iHigh(Symbol(),0,last_Red_candle_index);</p><p> for(int x=last_Red_candle_index-1;x>0;x--)</p><p> {</p><p> if(iClose(Symbol(),0,x)>red_candle_high)</p><p> {</p><p> Alert("Close Above Red Candle High "+Symbol()," ",TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES),</p><p> " M",Period()," ",Open[0]);</p><p> alert_reference_time=last_Red_candle_time;</p><p> break;</p><p> }</p><p> }</p><p> }</p><p> </p><p> if(alert_reference_time0 != last_Green_candle_time)</p><p> {</p><p> double green_candle_low=iLow(Symbol(),0,last_Green_candle_index);</p><p> for(int y=last_Green_candle_index-1;y>0;y--)</p><p> {</p><p> if(iClose(Symbol(),0,y)<green_candle_low)</p><p> {</p><p> Alert("Close Above green Candle low "+Symbol()," ",TimeToStr(CurTime(),TIME_DATE|TIME_MINUTES),</p><p> " M",Period()," ");</p><p> alert_reference_time0 = last_Green_candle_time;</p><p> break;</p><p> }</p><p> }</p><p> } </p><p>//---</p><p> Comment("last red candle",last_Red_candle_time,"last green candle",last_Green_candle_time);</p><p> }</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-14619893822501929792022-09-13T19:14:00.004-07:002022-09-13T19:14:42.379-07:00find first red candle<p> //+------------------------------------------------------------------+</p><p>//| find-red.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>int OnInit()</p><p> {</p><p>//---</p><p> </p><p>//---</p><p> return(INIT_SUCCEEDED);</p><p> }</p><p>//+------------------------------------------------------------------+</p><p>//| Expert deinitialization function |</p><p>//+------------------------------------------------------------------+</p><p>void OnDeinit(const int reason)</p><p> {</p><p>//---</p><p> </p><p> }</p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>//---</p><p> int last_red_bar=-1;</p><p>double red_high=-1;</p><p>for(int i=0;i<Bars-20;i++)</p><p>{</p><p>if(Close[i]<Open[i])</p><p>{</p><p>last_red_bar=i;</p><p>red_high=High[i];</p><p>break;</p><p>}</p><p>}</p><p>double redcandle =0;</p><p>for(int i=last_red_bar-1;i>=0 && last_red_bar>0;i--)</p><p>{</p><p>redcandle = Close[i]>Open[i];</p><p>if(High[i]>red_high)</p><p>{</p><p>if(i==0) Alert("Hihihhi",red_high);</p><p>break;</p><p>}</p><p>}</p><p>datetime last_Red_candle_time=0;</p><p> while(true)</p><p> {</p><p> if(iOpen(Symbol(),0,last_red_bar)>iClose(Symbol(),0,last_red_bar))</p><p> {</p><p> last_Red_candle_time=iTime(Symbol(),0,last_red_bar);</p><p> break;</p><p> }}</p><p> int shift=iBarShift(Symbol(),0,last_Red_candle_time); </p><p> datetime newtime = iTime(Symbol(),0,shift); </p><p>Comment("red high",red_high, " red candle ",last_Red_candle_time, " newtime ",newtime);</p><p> }</p><p>//+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-70440249316491748072022-09-13T19:10:00.004-07:002022-09-13T19:10:23.879-07:00fibonancci indicator<p>//+------------------------------------------------------------------+</p><p>//| fibo.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>int HighestCandle = iHighest(_Symbol,_Period,MODE_CLOSE,66,0);</p><p>int lowestCandle = iLowest(_Symbol,_Period,MODE_CLOSE,66,0);</p><p>int HighestCandle0 = iHighest(_Symbol,_Period,MODE_HIGH,10,2);</p><p>int LowestCandle0 = iLowest(_Symbol,_Period,MODE_LOW,10,2);</p><p><br /></p><p>ObjectDelete("hightrend");</p><p>ObjectCreate(0,"hightrend",OBJ_FIBO,0,Time[HighestCandle],</p><p>Close[HighestCandle],Time[lowestCandle],Close[lowestCandle]);</p><p> </p><p> // ObjectSetInteger(0,"hightrend",OBJPROP_COLOR,Red);</p><p> // ObjectSetInteger(0,"hightrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> // ObjectSetInteger(0,"hightrend",OBJPROP_WIDTH,1);</p><p> //ObjectSetInteger(0,"hightrend",OBJPROP_RAY,true);</p><p> </p><p> </p><p> Comment("highest",Close[HighestCandle],"highest0",High[HighestCandle0],"\n lowestlow ",Low[lowestCandle], " low ",Low[LowestCandle0]);</p><p> };</p><p> </p><p> //+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-63417343071498112502022-09-13T19:05:00.001-07:002022-09-13T19:05:35.265-07:00supertrend<p> //+------------------------------------------------------------------+</p><p>//| S_Trend.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p><br /></p><p>extern int MagicNumber=10001;</p><p>extern double Lots =0.01;</p><p>extern double StopLoss=0;</p><p>extern double TakeProfit=0;</p><p>extern int TrailingStop=1;</p><p>extern int Slippage=3;</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p> {</p><p>string signal="";</p><p> double MyPoint=Point;</p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p>double speared = DoubleToStr(Ask-Bid,Digits);</p><p>datetime ctime = Time[0];</p><p>datetime lastclose = 0;</p><p>double sellstoploss = DoubleToStr(Ask+2*speared,Digits);</p><p><br /></p><p>double buystoploss = DoubleToStr(Bid-2*speared,Digits);</p><p><br /></p><p>int c = OrdersHistoryTotal(); </p><p><br /></p><p> int a = OrdersHistoryTotal() - 10;</p><p><br /></p><p> int b = OrdersHistoryTotal();</p><p><br /></p><p> for (c = a;c < b ;c++)</p><p> {</p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true && OrderMagicNumber()== MagicNumber)</p><p> { </p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p> lastclose = OrderCloseTime();</p><p> }</p><p> }</p><p> double uptrend=iCustom(NULL,0,"SuperTrend",10,3.0,0,0);</p><p> double dntrend=iCustom(NULL,0,"SuperTrend",10,3.0,1,0);</p><p> </p><p> if (uptrend!=EMPTY_VALUE && (Open[1] < Close[1]) && (Low[1] > Low[2]) && (Close[0] > High[1]))</p><p>{</p><p>//set the signal variable to buy</p><p>signal="buy";</p><p>}</p><p>//if the moving average above the current price</p><p>if (dntrend!=EMPTY_VALUE && (Open[1] > Close[1]) && (High[1] < High[2]) && (Close[0] < Low[1]))</p><p>{</p><p>//set the signal variable to sell</p><p>signal="sell";</p><p>} </p><p> </p><p>Comment("Ask ",Ask, " bid ",Bid, " speard ", speared , " ctime ",ctime, " lastclose ",lastclose, </p><p>"\nuptrend ",uptrend," / ",dntrend,"\n The current signal is : ",signal); </p><p> </p><p> double TheStopLoss=0;</p><p> double TheTakeProfit=0;</p><p> if( TotalOrdersCount()<=10 )</p><p> {</p><p> int result=0;</p><p>if ((signal == "buy" && ctime > lastclose && TotalOrdersCount() ==0))</p><p>// || (signal == "buy" && ctime > lastclose && OrderType() == OP_SELL)) // Here is your open buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,buystoploss,0,"EMA crossover Robot 15 Minutes https://forexwithcandlestick.blogspot.com",MagicNumber,0,Green);</p><p> if(result>0)</p><p> {</p><p> TheStopLoss=buystoploss;</p><p> TheTakeProfit=0;</p><p> if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;</p><p> if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> //if the fast SMA is now above</p><p>if ((signal == "sell" && ctime > lastclose && TotalOrdersCount() ==0))</p><p>// || (signal == "sell" && ctime > lastclose && OrderType() == OP_BUY)) // Here is your open Sell rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,sellstoploss,0,"EMA crossover Robot 15 Minutes https://forexwithcandlestick.blogspot.com ",MagicNumber,0,Red);</p><p> if(result>0)</p><p> {</p><p> TheStopLoss=sellstoploss;</p><p> TheTakeProfit=0;</p><p> if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;</p><p> if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> </p><p> }</p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL && </p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber</p><p> )</p><p> {</p><p> if(OrderType()==OP_BUY)</p><p> {</p><p> if((OrderProfit() > 0 && Low[1]>Bid)) //here is your close buy rule</p><p> { Alert("close buy",Bid);</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Blue);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p> {</p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop)</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),buystoploss,OrderTakeProfit(),0,Green);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if((OrderProfit() > 0 && High[1]<Ask)) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Yellow);</p><p> }</p><p><br /></p><p> if(TrailingStop>0)</p><p> { </p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p> {</p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),sellstoploss,OrderTakeProfit(),0,Red);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> return(0);</p><p>}</p><p><br /></p><p>int TotalOrdersCount()</p><p>{</p><p> int result=0;</p><p> for(int i=0;i<OrdersTotal();i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p> if (OrderMagicNumber()==MagicNumber) result++;</p><p><br /></p><p> }</p><p> return (result);</p><p>}</p><p>//+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-72734425853324775932022-07-27T00:28:00.003-07:002022-07-27T00:28:34.106-07:00Double Order same time<p>//+------------------------------------------------------------------+</p><p>This EA place One BUT and One SELL same time. Before use on real account please test on demo account first. Profit-Loss your own responsitivy .</p><p><br /></p><p>//| double-order.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10001;</p><p><br /></p><p>extern double Lots =0.01;</p><p><br /></p><p>extern double TakeProfit=50;</p><p><br /></p><p>extern int Slippage=3;</p><p><br /></p><p>void OnTick()</p><p> {</p><p>//---</p><p>double lotmax = AccountEquity()/1000;</p><p>double speared =DoubleToStr(Ask-Bid,Digits);</p><p>double open = 0;</p><p>if (Lots > lotmax){</p><p> Alert(" Lotsize more then fund Please set lot size less then " , lotmax); } </p><p> else{ open = Ask; }</p><p><br /></p><p><br /></p><p>double buyticket = 0;</p><p>double lastbuy = 0;</p><p>double buytarget = 0;</p><p>double buyprofit = 0;</p><p>datetime buydate = 0;</p><p>double sellticket = 0;</p><p>double lastsell = 0;</p><p>double selltarget = 0;</p><p>double sellprofit = 0;</p><p>datetime selldate = 0;</p><p>double accountplus1 = AccountBalance()+0.10,Digits;</p><p>double askplus1 = Ask+TakeProfit*Point;</p><p><br /></p><p>int result=0; </p><p> for (int cntl = 0; cntl < OrdersTotal(); cntl++)</p><p> {</p><p>if(OrderSelect(cntl,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()== MagicNumber){</p><p><br /></p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_BUY){</p><p>buyticket = OrderTicket();</p><p>lastbuy = OrderOpenPrice();</p><p>buydate = OrderOpenTime();</p><p>buyprofit = OrderProfit();</p><p>buytarget = lastbuy+(TakeProfit*Point);}</p><p><br /></p><p><br /></p><p>if(OrderMagicNumber()== MagicNumber && OrderType() == OP_SELL){</p><p>sellticket = OrderTicket();</p><p>lastsell = OrderOpenPrice();</p><p>selldate = OrderOpenTime();</p><p>sellprofit = OrderProfit();</p><p>selltarget = lastsell-(TakeProfit*Point);}</p><p> </p><p><br /></p><p> }</p><p>}</p><p>//+------------------------------------------------------------------+</p><p>double exit = 0;</p><p> </p><p> if(sellprofit > 0 && High[1] < Close[0] && selltarget >= Close[0]){Alert("Close sell and open send new order");</p><p> </p><p> if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)</p><p> { exit = 1;</p><p> result=OrderClose(sellticket,OrderLots(),Ask,Slippage,Red);</p><p> if(result > 0){</p><p> OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"SELL_Double_Order_EA",MagicNumber,0,Green);</p><p> OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"SELL_Double_Order_EA",MagicNumber,0,Green);</p><p> }</p><p> }</p><p> </p><p> }</p><p> if(buyprofit > 0 && Low[1] > Close[0] && buytarget <= Close[0]){Alert("Close buy and open send new order");</p><p> exit = 2;</p><p> if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)</p><p> { result=OrderClose(buyticket,OrderLots(),Bid,Slippage,Green);</p><p> if(result>0){</p><p> OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"BUY_Double_Order_EA",MagicNumber,0,Yellow);</p><p> OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"BUY_Double_Order_EA",MagicNumber,0,Yellow);</p><p> }</p><p> }</p><p> }</p><p> if(lastbuy == 0 && lastsell == 0 && OrdersTotal() == 0){Alert("open send new order");</p><p> exit=3;</p><p> OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"open_send_new_order",MagicNumber,0,Blue);</p><p> OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"open_send_new_order",MagicNumber,0,Blue);</p><p> }</p><p> // All close</p><p> if((AccountEquity() > AccountBalance() && AccountEquity() > accountplus1 && High[1] < Close[0]) || (AccountEquity() > AccountBalance() && AccountEquity() > accountplus1 && Low[1] > Close[0])){Alert("All Close "); </p><p> if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)</p><p> { </p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> } </p><p> } </p><p>//---------------------------- </p><p> </p><p> Comment(" Account Balance ", AccountBalance() ," accountplus1 ",accountplus1, " Equity " , AccountEquity(), " lotmax ",lotmax, " open ",open , " speard ", speared," ask ",Ask," askplus1 ",askplus1," exit ", exit, </p><p> "\n boy order ", buyticket, " last buy price " ,lastbuy , " buy target ", buytarget," buy profit ",buyprofit," buy date ",buydate, </p><p> "\n sell order ",sellticket, " last sell price ",lastsell,"sell target", selltarget," sell profit ",sellprofit," sell date ",selldate);</p><p>}</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-74239743503463865082022-07-20T19:55:00.003-07:002022-07-20T19:55:44.985-07:00Trend Line Indicator for mt4<p> //+------------------------------------------------------------------+</p><p>//| trend.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>int CandlesOnChart=WindowFirstVisibleBar();</p><p>int HighestCandle = iHighest(_Symbol,_Period,MODE_HIGH,CandlesOnChart,0);</p><p>int lowestCandle = iLowest(_Symbol,_Period,MODE_LOW,CandlesOnChart,0);</p><p><br /></p><p>ObjectDelete("hightrend");</p><p>ObjectCreate(0,"hightrend",OBJ_TREND,0,Time[HighestCandle],</p><p>High[HighestCandle],Time[0],High[0]);</p><p> </p><p> ObjectSetInteger(0,"hightrend",OBJPROP_COLOR,Red);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_WIDTH,1);</p><p> ObjectSetInteger(0,"hightrend",OBJPROP_RAY,true);</p><p> </p><p> ObjectDelete("lowtrend");</p><p>ObjectCreate(0,"lowtrend",OBJ_TREND,0,Time[lowestCandle],</p><p>Low[lowestCandle],Time[0],Low[0]);</p><p> </p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_COLOR,Yellow);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_STYLE,STYLE_SOLID);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_WIDTH,1);</p><p> ObjectSetInteger(0,"lowtrend",OBJPROP_RAY,true);</p><p> </p><p> };</p><p> </p><p> //+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-85230699520334946952022-07-08T00:07:00.001-07:002022-07-08T00:07:08.960-07:00buyticket under development mode<p>//+------------------------------------------------------------------+</p><p><br /></p><p>//| 2_candle_breakout.mq4 |</p><p><br /></p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p><br /></p><p>//| https://www.mql5.com |</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p><br /></p><p>#property link "https://www.mql5.com"</p><p><br /></p><p>#property version "1.00"</p><p><br /></p><p>#property strict</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>//| Expert initialization function |</p><p><br /></p><p><br /></p><p> </p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>extern int MagicNumber=10001;</p><p><br /></p><p>extern double Lots =0.01;</p><p><br /></p><p>extern double TakeProfit=50;</p><p><br /></p><p>extern int TrailingStop=50;</p><p><br /></p><p>extern int Slippage=3;</p><p><br /></p><p>extern int candle=20;</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>// expert start function</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>int start()</p><p><br /></p><p>{</p><p><br /></p><p>double MyPoint=Point;</p><p><br /></p><p>if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p><br /></p><p>double high3 = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, candle, 1)],Digits); </p><p><br /></p><p>double low3 = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, candle, 1)],Digits);</p><p><br /></p><p><br /></p><p> </p><p>double sma9 = DoubleToStr(iMA(_Symbol,_Period,9,0,MODE_SMA,PRICE_CLOSE,0),Digits);</p><p><br /></p><p><br /></p><p> </p><p>double fib23 = DoubleToStr(high3-(high3-low3)*77/100);</p><p><br /></p><p>double fib77 = DoubleToStr(low3+(high3-low3)*77/100);</p><p><br /></p><p>double speared =DoubleToStr(Ask-Bid,Digits);</p><p><br /></p><p>double riskv = MathRound(AccountBalance()-AccountBalance()*98/100);</p><p><br /></p><p>double StopLoss = riskv/1000;</p><p><br /></p><p>double buystoploss = DoubleToStr(Bid-StopLoss,Digits);</p><p><br /></p><p>double sellstoploss = DoubleToStr(Ask+StopLoss,Digits);</p><p><br /></p><p>double nmax = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, 2, 1)],Digits); </p><p><br /></p><p>double nmin = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, 2, 1)],Digits); </p><p><br /></p><p>double sclose = DoubleToStr(nmax+speared,Digits);</p><p><br /></p><p>double bclose = DoubleToStr(nmin-speared,Digits);</p><p><br /></p><p>datetime ctime = TimeCurrent();</p><p><br /></p><p>datetime lastclose = 0;</p><p><br /></p><p>int c = OrdersHistoryTotal(); </p><p><br /></p><p> int a = OrdersHistoryTotal() - 10;</p><p><br /></p><p> int b = OrdersHistoryTotal();</p><p><br /></p><p> </p><p><br /></p><p> for (c = a;c < b ;c++)</p><p><br /></p><p> {</p><p><br /></p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true)</p><p><br /></p><p> { </p><p><br /></p><p> </p><p><br /></p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p><br /></p><p> lastclose = OrderCloseTime();</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p>double buyon = 0;</p><p><br /></p><p>if(Close[0] > nmax){buyon = 1;}</p><p><br /></p><p>double sellon = 0;</p><p><br /></p><p>if(Close[0] < nmin){sellon = 1;}</p><p><br /></p><p>double buyticket = 0;</p><p><br /></p><p>double sellticket = 0;</p><p>for (int cntl = 0; cntl < OrdersTotal(); cntl++)</p><p> {</p><p> if(OrderSelect(cntl,SELECT_BY_POS,MODE_TRADES) && OrderMagicNumber()== MagicNumber){</p><p><br /></p><p> if(OrderMagicNumber()== MagicNumber && OrderType() == OP_BUY){</p><p><br /></p><p>buyticket = OrderTicket();}</p><p> if(OrderMagicNumber()== MagicNumber && OrderType() == OP_SELL){</p><p><br /></p><p>sellticket = OrderTicket();}</p><p> </p><p><br /></p><p> }</p><p>}</p><p><br /></p><p>double lotsize = OrderLots()+Lots;</p><p>double lot = 0;</p><p>if(lotsize > 0.00){lot = lotsize;}else{lot = Lots;}</p><p>if( TotalOrdersCount() <= 7 )</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> int result=0;</p><p><br /></p><p><br /></p><p><br /></p><p>// if((buyon == 1 && OrdersTotal() == 0) || (buyon == 1 && OrderType() == 1 && OrdersTotal() == 1) || (buyon == 1 && OrderType() == 0 && OrdersTotal() <= 5 && OrderOpenPrice() > Ask)) // Here is your open buy rule</p><p><br /></p><p>if(buyon == 1 && OrdersTotal() <= 7 && ctime > lastclose)</p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> result=OrderSend(Symbol(),OP_BUY,lot,Ask,Slippage,bclose,0,"2_candle_breakout EA",MagicNumber,0,Blue);</p><p><br /></p><p><br /></p><p><br /></p><p> if(result>0)</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p><br /></p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),bclose,OrderTakeProfit(),0,Green);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> return(0);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> // if((sellon == 1 && OrdersTotal() == 0) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1) || (sellon == 1 && OrderType() == 1 && OrdersTotal() >= 1 && OrderOpenPrice() < Bid)) // Here is your open Sell rule</p><p><br /></p><p> // if((sellon == 1 && OrdersTotal() == 0) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1) || (sellon == 1 && OrderType() == 0 && OrdersTotal() <= 6 && OrderOpenPrice() > Bid)) // Here is your open Sell rule</p><p><br /></p><p><br /></p><p> </p><p> if(sellon == 1 && OrdersTotal() <= 7 && ctime > lastclose)</p><p><br /></p><p> {</p><p><br /></p><p> result=OrderSend(Symbol(),OP_SELL,lot,Bid,Slippage,sclose,0,"2_candle_breakout EA",MagicNumber,0,Red);</p><p><br /></p><p><br /></p><p><br /></p><p> if(result>0)</p><p><br /></p><p><br /></p><p><br /></p><p> { </p><p><br /></p><p><br /></p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p><br /></p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),sclose,OrderTakeProfit(),0,Green);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> return(0);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p> </p><p><br /></p><p> Comment(" speared " , speared , "candle high " , high3 , " candle low " , low3, " buy signal ", buyon ," sell signal " ,sellon , "fibo 77 ",fib77, " fibo 23 ", fib23 , " amount " , AccountBalance(), " buystop " , buystoploss, "stop " , StopLoss , " type ", OrderType()," orderticket ", OrderTicket(), " nmax " , nmax , " nmin " , nmin , " lastclose " ,lastclose , "\n time ",Time[0],"time" ,ctime ,"\n buy ticket " , buyticket, " sell ticket ", sellticket, " lot ", lot, " lotsize ", lotsize);</p><p><br /></p><p><br /></p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p><br /></p><p><br /></p><p><br /></p><p> if(OrderType()<=OP_SELL && </p><p><br /></p><p><br /></p><p><br /></p><p> OrderSymbol()==Symbol() &&</p><p><br /></p><p><br /></p><p><br /></p><p> OrderMagicNumber()==MagicNumber </p><p><br /></p><p><br /></p><p><br /></p><p> ) </p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> if(OrderType()==OP_BUY) </p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> if((OrderOpenPrice() <= Bid && nmin > Close[0]))//here is your close buy rule</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> if(TrailingStop>0) </p><p><br /></p><p><br /></p><p><br /></p><p> { </p><p><br /></p><p><br /></p><p><br /></p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop)</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);</p><p><br /></p><p><br /></p><p><br /></p><p> return(0);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> else </p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> if((OrderOpenPrice() >= Ask && nmax < Close[0]))// here is your close sell rule</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> if(TrailingStop>0) </p><p><br /></p><p><br /></p><p><br /></p><p> { </p><p><br /></p><p><br /></p><p><br /></p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p> return(0);</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> return(0);</p><p><br /></p><p><br /></p><p><br /></p><p>}</p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p><br /></p><p>int TotalOrdersCount()</p><p><br /></p><p><br /></p><p><br /></p><p>{</p><p><br /></p><p><br /></p><p><br /></p><p> int result=0;</p><p><br /></p><p><br /></p><p><br /></p><p> for(int i=0;i<OrdersTotal();i++)</p><p><br /></p><p><br /></p><p><br /></p><p> {</p><p><br /></p><p><br /></p><p><br /></p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p><br /></p><p><br /></p><p><br /></p><p> if (OrderMagicNumber()==MagicNumber) result++; </p><p><br /></p><p><br /></p><p><br /></p><p> </p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> return (result);</p><p><br /></p><p><br /></p><p><br /></p><p>}</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-87100041176293795472022-06-08T20:38:00.000-07:002022-06-08T20:38:04.779-07:002 candle breakout<p> //+------------------------------------------------------------------+</p><p>//| 2_candle_breakout.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10015;</p><p>extern double Lots =0.01;</p><p>extern double TakeProfit=50;</p><p>extern int TrailingStop=50;</p><p>extern int Slippage=3;</p><p>extern int candle=20;</p><p>//+------------------------------------------------------------------+</p><p>// expert start function</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p>{</p><p>double MyPoint=Point;</p><p>if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p>double high3 = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, candle, 1)],Digits); </p><p>double low3 = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, candle, 1)],Digits);</p><p>double sma9 = DoubleToStr(iMA(_Symbol,_Period,9,0,MODE_SMA,PRICE_CLOSE,0),Digits);</p><p>double fib23 = DoubleToStr(high3-(high3-low3)*77/100);</p><p>double fib77 = DoubleToStr(low3+(high3-low3)*77/100);</p><p>double speared =DoubleToStr(Ask-Bid,Digits);</p><p>double riskv = MathRound(AccountBalance()-AccountBalance()*98/100);</p><p>double StopLoss = riskv/1000;</p><p>double buystoploss = DoubleToStr(Bid-StopLoss,Digits);</p><p>double sellstoploss = DoubleToStr(Ask+StopLoss,Digits);</p><p>double nmax = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, 2, 1)],Digits); </p><p>double nmin = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, 2, 1)],Digits); </p><p>double sclose = DoubleToStr(nmax+speared,Digits);</p><p>double bclose = DoubleToStr(nmin-speared,Digits);</p><p>datetime ctime = TimeCurrent();</p><p>datetime lastclose = 0;</p><p>int c = OrdersHistoryTotal(); </p><p> int a = OrdersHistoryTotal() - 10;</p><p> int b = OrdersHistoryTotal();</p><p> </p><p> for (c = a;c < b ;c++)</p><p> {</p><p> if (OrderSelect(c,SELECT_BY_POS, MODE_HISTORY) == true)</p><p> { </p><p> </p><p> // Alert("orders found"+ OrderTicket() + " " + OrderCloseTime());</p><p> lastclose = OrderCloseTime();</p><p> }</p><p> }</p><p>double buyon = 0;</p><p>// if(Ask > sma9 && fib23 < Ask && Ask > High[1] && Low[1] >= Low[2] && Low[3] >= Low[2]){buyon = 1;}</p><p>if(Close[0] > nmax){buyon = 1;}</p><p>double sellon = 0;</p><p><br /></p><p>//if(Bid < sma9 && fib77 > Bid && Bid < Low[1] && High[1] <= High[2] && High[3] <= High[2]){sellon = 1;}</p><p>if(Close[0] < nmin){sellon = 1;}</p><p>double buyticket =0;</p><p>double sellticket =0;</p><p>OrderSelect(OrdersTotal()-1,SELECT_BY_POS);</p><p>if(OrderMagicNumber()==MagicNumber && OrderType() == 0){</p><p>buyticket = OrderTicket();</p><p>}</p><p>if(OrderMagicNumber()==MagicNumber && OrderType() == 1){</p><p>sellticket = OrderTicket();</p><p>}</p><p>if( TotalOrdersCount() <= 7 )</p><p><br /></p><p> {</p><p><br /></p><p> int result=0;</p><p><br /></p><p>// if((buyon == 1 && OrdersTotal() == 0) || (buyon == 1 && OrderType() == 1 && OrdersTotal() == 1) || (buyon == 1 && OrderType() == 0 && OrdersTotal() <= 5 && OrderOpenPrice() > Ask)) // Here is your open buy rule</p><p>if(buyon == 1 && OrdersTotal() <= 7 && ctime > lastclose)</p><p> {</p><p><br /></p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,bclose,0,"2_candle_breakout EA",MagicNumber,0,Blue);</p><p><br /></p><p> if(result>0)</p><p><br /></p><p> {</p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),bclose,OrderTakeProfit(),0,Green);</p><p><br /></p><p> }</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> // if((sellon == 1 && OrdersTotal() == 0) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1) || (sellon == 1 && OrderType() == 1 && OrdersTotal() >= 1 && OrderOpenPrice() < Bid)) // Here is your open Sell rule</p><p> // if((sellon == 1 && OrdersTotal() == 0) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1) || (sellon == 1 && OrderType() == 0 && OrdersTotal() <= 6 && OrderOpenPrice() > Bid)) // Here is your open Sell rule</p><p> if(sellon == 1 && OrdersTotal() <= 7 && ctime > lastclose)</p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,sclose,0,"2_candle_breakout EA",MagicNumber,0,Red);</p><p><br /></p><p> if(result>0)</p><p><br /></p><p> { </p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),sclose,OrderTakeProfit(),0,Green);</p><p><br /></p><p> }</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p> </p><p> Comment(" speared " , speared , "candle high " , high3 , " candle low " , low3, " buy signal ", buyon ," sell signal " ,sellon , "fibo 77 ",fib77, " fibo 23 ", fib23 , " amount " , AccountBalance(), " buystop " , buystoploss, "stop " , StopLoss , " type ", OrderType()," orderticket ", OrderTicket(), " nmax " , nmax , " nmin " , nmin , " lastclose " ,lastclose , "\n time ",Time[0],"time" ,ctime );</p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p><br /></p><p> {</p><p><br /></p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p><br /></p><p> if(OrderType()<=OP_SELL && </p><p><br /></p><p> OrderSymbol()==Symbol() &&</p><p><br /></p><p> OrderMagicNumber()==MagicNumber </p><p><br /></p><p> ) </p><p><br /></p><p> {</p><p><br /></p><p> if(OrderType()==OP_BUY) </p><p><br /></p><p> {</p><p><br /></p><p> if((OrderOpenPrice() <= Bid && nmin > Close[0]))//here is your close buy rule</p><p><br /></p><p> {</p><p><br /></p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p><br /></p><p> }</p><p><br /></p><p> if(TrailingStop>0) </p><p><br /></p><p> { </p><p><br /></p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p><br /></p><p> {</p><p><br /></p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop)</p><p><br /></p><p> {</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> else </p><p><br /></p><p> {</p><p><br /></p><p> if((OrderOpenPrice() >= Ask && nmax < Close[0]))// here is your close sell rule</p><p><br /></p><p> {</p><p><br /></p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p><br /></p><p> }</p><p><br /></p><p> if(TrailingStop>0) </p><p><br /></p><p> { </p><p><br /></p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p><br /></p><p> {</p><p><br /></p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))</p><p><br /></p><p> {</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);</p><p><br /></p><p><br /></p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p><br /></p><p><br /></p><p> }</p><p><br /></p><p> return(0);</p><p><br /></p><p>}</p><p><br /></p><p><br /></p><p><br /></p><p>int TotalOrdersCount()</p><p><br /></p><p>{</p><p><br /></p><p> int result=0;</p><p><br /></p><p> for(int i=0;i<OrdersTotal();i++)</p><p><br /></p><p> {</p><p><br /></p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p><br /></p><p> if (OrderMagicNumber()==MagicNumber) result++; </p><p><br /></p><p> </p><p><br /></p><p> }</p><p><br /></p><p> return (result);</p><p><br /></p><p>}</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-15167050204850247192022-05-24T00:05:00.009-07:002022-05-24T06:04:54.664-07:00SMA9 entry and candle 2 exit<p>//+------------------------------------------------------------------+</p><p>//| sma-candle.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>//---</p><p>extern int MagicNumber=100013;</p><p>extern double Lots =0.01;</p><p>extern double StopLoss=100;</p><p>extern double TakeProfit=0;</p><p>extern int TrailingStop=10;</p><p>extern int Slippage=3;</p><p> </p><p>//---</p><p> </p><p>//+------------------------------------------------------------------+</p><p>//| Expert tick function |</p><p>//+------------------------------------------------------------------+</p><p>void OnTick()</p><p> {</p><p>//---</p><p> double sma9 = DoubleToStr(iMA(_Symbol,_Period,9,0,MODE_SMA,PRICE_CLOSE,0),Digits);</p><p> double sma20 = DoubleToStr(iMA(_Symbol,_Period,20,0,MODE_SMA,PRICE_CLOSE,0),Digits);</p><p> double speared =DoubleToStr(Ask-Bid,Digits);</p><p> double buyon = 0;</p><p> if(Ask > sma9 && Ask > High[1] && Low[1] > Low[2])</p><p> {</p><p> buyon = 1;</p><p> }</p><p> double sellon = 0;</p><p> if(Bid < sma9 && Bid < Low[1] && High[1] < High[2])</p><p> {</p><p> sellon = 1;</p><p> }</p><p> if(TotalOrdersCount() < 6)</p><p> {</p><p> int result=0;</p><p> int result1=0;</p><p> if((buyon == 1 && OrdersTotal() < 6)) // Here is your open buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,Bid+TakeProfit*_Point,"Fibonacci EA",MagicNumber,0,Blue);</p><p> result1=OrderSend(Symbol(),OP_SELLSTOP,Lots,Low[2]-speared*Digits,Slippage,Ask+speared*Digits,0,"Fibonacci EA",MagicNumber,0,Blue);</p><p> if(result>0)</p><p> {</p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Low[2]-speared,Digits),0,0,Green);</p><p> }</p><p><br /></p><p> </p><p> }</p><p><br /></p><p> if((sellon == 1 && OrdersTotal() < 6)) // Here is your open Sell rule</p><p><br /></p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,Ask-TakeProfit*_Point,"Fibonacci EA",MagicNumber,0,Red);</p><p> result1=OrderSend(Symbol(),OP_BUYSTOP,Lots,High[2]+speared*Digits,Slippage,Bid-speared*Digits,0,"Fibonacci EA",MagicNumber,0,Red);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(High[2]+speared,Digits),0,0,Green);</p><p> }</p><p> }</p><p> } </p><p> </p><p> Comment ("BUY ",buyon," SELL ",sellon, " SMA9 :",sma9 , " SMA20 " , sma20 , " tp " , OrderOpenPrice()+100*_Point);</p><p> </p><p>//+------------------------------------------------------------------+</p><p> for(int cnt=0; cnt<OrdersTotal(); cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL &&</p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber</p><p> )</p><p> {</p><p><br /></p><p> if(OrderType()==OP_BUY)</p><p> {</p><p> if((sma9 < Low[1] && Open[2] > Bid && Low[1] > Bid) || (High[1] > sma20 && Close[0] < Low[1])) //here is your close buy rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> }</p><p> if(TrailingStop>0)</p><p> {</p><p> if(Bid-OrderOpenPrice()>TrailingStop*_Point)</p><p> {</p><p> if((OrderStopLoss()<Bid-TrailingStop*_Point) || (OrderStopLoss() == 0))</p><p> {</p><p> double bclose = 0;</p><p> if(Bid > OrderOpenPrice()+100*_Point && Open[2] < OrderOpenPrice()+100*_Point) </p><p> { bclose = OrderOpenPrice()+100*_Point;}</p><p> else { bclose = DoubleToStr(Open[2]-speared,Digits);}</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),bclose,OrderTakeProfit(),0,Green);</p><p> </p><p> }</p><p> }</p><p> }</p><p> }</p><p> else</p><p> {</p><p> if((sma20 > High[1] && Open[2] < Ask && High[1] < Ask) || (Low[1] < sma9 && Close[0] > High[1])) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> }</p><p> if(TrailingStop>0)</p><p> {</p><p> if((OrderOpenPrice()-Ask)>(TrailingStop*_Point))</p><p> {</p><p> if((OrderStopLoss()>(Ask+TrailingStop*_Point)) || (OrderStopLoss()==0))</p><p> {</p><p> double sclose = 0;</p><p> if(Ask < OrderOpenPrice()-100*_Point && Open[2] > OrderOpenPrice()-100*_Point) </p><p> { sclose = OrderOpenPrice()-100*_Point;}</p><p> else { sclose = DoubleToStr(Open[2]+speared,Digits);}</p><p> </p><p> OrderModify(OrderTicket(),OrderOpenPrice(),sclose,OrderTakeProfit(),0,Red);</p><p><br /></p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p>//| |</p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>int TotalOrdersCount()</p><p> {</p><p> int result=0;</p><p> for(int i=0; i<OrdersTotal(); i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS,MODE_TRADES);</p><p> if(OrderMagicNumber()==MagicNumber)</p><p> result++;</p><p><br /></p><p> }</p><p> return (result);</p><p> }</p><p><br /></p><p>//+------------------------------------------------------------------+</p><div><br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-47577317319068004892022-05-18T03:23:00.002-07:002022-05-18T03:23:27.109-07:00Fibonacci 20 candle EA for mt4<p>//+------------------------------------------------------------------+</p><p>//| fibonacci23.mq4 |</p><p>//| Copyright 2022, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2022, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10001;</p><p>extern double Lots =0.01;</p><p>extern double StopLoss=100;</p><p>extern double TakeProfit=50;</p><p>extern int TrailingStop=50;</p><p>extern int Slippage=3;</p><p>extern int candle=20;</p><p>//+------------------------------------------------------------------+</p><p>// expert start function</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p>{</p><p>double MyPoint=Point;</p><p>if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p>double high3 = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, candle, 1)],Digits); </p><p>double low3 = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, candle, 1)],Digits);</p><p>double fib23 = DoubleToStr(high3-(high3-low3)*77/100);</p><p>double fib77 = DoubleToStr(low3+(high3-low3)*77/100);</p><p>double speared =DoubleToStr(Ask-Bid,Digits);</p><p>double sclose = DoubleToStr(High[1]+speared,Digits);</p><p>double buyon = 0;</p><p> if(fib23 < Ask && Ask > High[1] && Low[1] > Low[2] && fib77 > Ask){buyon = 1;}</p><p>double sellon = 0;</p><p>if(fib77 > Bid && Bid < Low[1] && High[1] < High[2] && fib23 < Bid){sellon = 1;}</p><p><br /></p><p>if( TotalOrdersCount() == 0 ) </p><p> {</p><p> int result=0;</p><p> if((buyon == 1 && OrdersTotal() == 0)) // Here is your open buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,Bid-StopLoss*MyPoint,Bid+TakeProfit*MyPoint,"Fibonacci EA",MagicNumber,0,Blue);</p><p><br /></p><p> if(result>0)</p><p> {</p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-StopLoss*MyPoint,Digits),NormalizeDouble(Bid+TakeProfit*MyPoint,Digits),0,Green);</p><p> }</p><p><br /></p><p> return(0);</p><p> }</p><p><br /></p><p> if((sellon == 1 && OrdersTotal() == 0 )) // Here is your open Sell rule</p><p><br /></p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,Ask-StopLoss*MyPoint,Ask+TakeProfit*MyPoint,"Fibonacci EA",MagicNumber,0,Red);</p><p> if(result>0)</p><p> { </p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask-StopLoss*MyPoint,Digits),NormalizeDouble(Ask+TakeProfit*MyPoint,Digits),0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> }</p><p> Comment(" speared " , speared , "candle high " , high3 , " candle low " , low3, " buy signal ", buyon ," sell signal " ,sellon , "fibo 77 ",fib77, " fibo 23 ", fib23);</p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL && </p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber </p><p> ) </p><p> {</p><p><br /></p><p> if(OrderType()==OP_BUY) </p><p> {</p><p> if(OrderOpenPrice()+speared < Bid && fib77 > Bid && Low[1] > Bid) //here is your close buy rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> }</p><p> if(TrailingStop>0) </p><p> { </p><p> if(Bid-OrderOpenPrice()>MyPoint*TrailingStop)</p><p> {</p><p> if(OrderStopLoss()<Bid-MyPoint*TrailingStop)</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> else </p><p> {</p><p> if(OrderOpenPrice()-speared > Ask && fib23 < Ask && High[1] < Ask) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> }</p><p> if(TrailingStop>0) </p><p> { </p><p> if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p> {</p><p> if((OrderStopLoss()>(Ask+MyPoint*TrailingStop)) || (OrderStopLoss()==0))</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);</p><p><br /></p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p><br /></p><p> }</p><p> return(0);</p><p><br /></p><p>}</p><p><br /></p><p>int TotalOrdersCount()</p><p>{</p><p> int result=0;</p><p> for(int i=0;i<OrdersTotal();i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p> if (OrderMagicNumber()==MagicNumber) result++; </p><p> </p><p> }</p><p> return (result);</p><p>}</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-47561088944931155612022-05-03T06:02:00.000-07:002022-05-03T06:02:15.088-07:00fibo candle<p> //+------------------------------------------------------------------+</p><p><br /></p><p>//| 10fibo_candle_ma.mq4 |</p><p><br /></p><p>//| Copyright 2021, MetaQuotes Software Corp. |</p><p><br /></p><p>//| https://www.mql5.com |</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>#property copyright "Copyright 2021, MetaQuotes Software Corp."</p><p><br /></p><p>#property link "https://www.mql5.com"</p><p><br /></p><p>#property version "1.00"</p><p><br /></p><p>#property strict</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>//| Expert initialization function |</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>extern int MagicNumber=10010;</p><p><br /></p><p>extern double Lots =0.02;</p><p><br /></p><p>extern int TrailingStop=1;</p><p><br /></p><p>extern int Slippage=3;</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>// expert start function</p><p><br /></p><p>//+------------------------------------------------------------------+</p><p><br /></p><p>int start()</p><p><br /></p><p>{</p><p><br /></p><p> double MyPoint=Point;</p><p><br /></p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p><br /></p><p> double high3 = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, 10, 1)],Digits); </p><p><br /></p><p> double low3 = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, 10, 1)],Digits);</p><p><br /></p><p> double fib23 = DoubleToStr(high3-(high3-low3)*77/100);</p><p><br /></p><p> double fib77 = DoubleToStr(low3+(high3-low3)*77/100);</p><p> </p><p> double speared =DoubleToStr(Ask-Bid,Digits);</p><p><br /></p><p> double btar =DoubleToStr(Ask+speared,Digits);</p><p><br /></p><p> double star =DoubleToStr(Bid-speared,Digits);</p><p><br /></p><p> double bs = DoubleToStr(Ask-0.00100,Digits);</p><p><br /></p><p> double bs0 = DoubleToStr(low3-speared,Digits);</p><p><br /></p><p> //double bs0 = DoubleToStr(low3,Digits);</p><p><br /></p><p> double bstop = 0;</p><p><br /></p><p> if(bs < bs0){bstop = bs0;}else{bstop=bs;} </p><p><br /></p><p> double ss = DoubleToStr(Bid+0.00100,Digits);</p><p><br /></p><p> double ss0 = DoubleToStr(high3+speared,Digits);</p><p><br /></p><p> //double ss0 = DoubleToStr(high3,Digits);</p><p><br /></p><p> double sstop = 0;</p><p><br /></p><p> if(ss > ss0){sstop = ss0;}else{sstop=ss;} </p><p><br /></p><p> double bclose = DoubleToStr(Low[1]-speared,Digits);</p><p><br /></p><p> double sclose = DoubleToStr(High[1]+speared,Digits);</p><p><br /></p><p> double canb0 = DoubleToStr((High[1]-Low[1])/2);</p><p><br /></p><p> double canb = DoubleToStr(High[1]-canb0); </p><p><br /></p><p> double cans0 = DoubleToStr((Low[1]-High[1])/2);</p><p><br /></p><p> double cans = DoubleToStr(Low[1]+cans0); </p><p><br /></p><p> datetime lclose = 0; </p><p><br /></p><p> double total_history = OrdersHistoryTotal()-1 ;</p><p><br /></p><p> </p><p><br /></p><p> OrderSelect(total_history, SELECT_BY_POS, MODE_HISTORY);</p><p><br /></p><p> if (OrderSymbol()==Symbol()) </p><p><br /></p><p> { </p><p><br /></p><p> lclose = OrderCloseTime() ; </p><p><br /></p><p> } </p><p><br /></p><p> </p><p><br /></p><p> double buyon = 0;</p><p><br /></p><p> if(fib23 < Ask && Ask > High[1] && Low[1] > Low[2] && fib77 > Ask){buyon = 1;}</p><p><br /></p><p>// if(Low[3] >= Low[2] && Low[1] >= Low[2] && Ask > High[1] && Time[0] > lclose){buyon = 1;}</p><p><br /></p><p> double sellon = 0;</p><p><br /></p><p> if(fib77 > Bid && Bid < Low[1] && High[1] < High[2] && fib23 < Bid){sellon = 1;}</p><p><br /></p><p>// if(High[3] <= High[2] && High[1] <= High[2] && Bid < Low[1] && Time[0] > lclose){sellon = 1;} </p><p><br /></p><p> if( TotalOrdersCount()< 10 ) </p><p><br /></p><p> {</p><p><br /></p><p> int result=0;</p><p><br /></p><p> if((buyon == 1 && OrdersTotal() < 6) || (buyon == 1 && OrderType() == 1 && OrdersTotal() == 1 && OrdersTotal() < 6) || (buyon == 1 && OrderType() == 0 && OrdersTotal() >= 1 && OrderOpenPrice() > Ask && OrdersTotal() < 6)) // Here is your open buy rule</p><p><br /></p><p> {</p><p><br /></p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,bs0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Blue);</p><p><br /></p><p> if(result>0)</p><p><br /></p><p> {</p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> // OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);</p><p><br /></p><p> }</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> //if((sellon == 1 && OrdersTotal() == 0) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1) || (sellon == 1 && OrderType() == 1 && OrdersTotal() >= 1 && OrderOpenPrice() < Bid)) // Here is your open Sell rule</p><p><br /></p><p> if((sellon == 1 && OrdersTotal() < 6 ) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1 && OrdersTotal() < 6) || (sellon == 1 && OrderType() == 1 && OrdersTotal() >= 1 && OrderOpenPrice() < Bid && OrdersTotal() < 6)) // Here is your open Sell rule</p><p> {</p><p><br /></p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,ss0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);</p><p><br /></p><p> if(result>0)</p><p><br /></p><p> { </p><p><br /></p><p> </p><p><br /></p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p><br /></p><p> // OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);</p><p><br /></p><p> }</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> </p><p><br /></p><p> Comment(" speared " , speared , " high3 " , high3 , " low3 " , low3, " bstop " , bstop , " sstop " , sstop , " otype " , OrderType() , " buyon ", buyon ," sellon " ,sellon , " bs ",bs , " time0 " , Time[0], " canb ",canb, " cans " ,cans, " high ",High[1], "fib77 ",fib77, " fib23 ", fib23);</p><p><br /></p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p><br /></p><p> {</p><p><br /></p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p><br /></p><p> if(OrderType()<=OP_SELL && </p><p><br /></p><p> OrderSymbol()==Symbol() &&</p><p><br /></p><p> OrderMagicNumber()==MagicNumber </p><p><br /></p><p> ) </p><p><br /></p><p> {</p><p><br /></p><p> if(OrderType()==OP_BUY) </p><p><br /></p><p> {</p><p><br /></p><p> if(OrderOpenPrice()+speared < Bid && fib77 > Bid && Low[1] > Bid) //here is your close buy rule</p><p><br /></p><p> {</p><p><br /></p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p><br /></p><p> }</p><p><br /></p><p> if(TrailingStop>0) </p><p><br /></p><p> { </p><p><br /></p><p> if(OrderOpenPrice() < Low[1])</p><p><br /></p><p> {</p><p><br /></p><p> if((OrderStopLoss() < bs0) || (OrderStopLoss()==0))</p><p><br /></p><p> {</p><p><br /></p><p> //OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),bs0,OrderTakeProfit(),0,Green);</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> else </p><p><br /></p><p> {</p><p><br /></p><p> if(OrderOpenPrice()-speared > Ask && fib23 < Ask && High[1] < Ask) // here is your close sell rule</p><p><br /></p><p> {</p><p><br /></p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p><br /></p><p> }</p><p><br /></p><p> if(TrailingStop>0) </p><p><br /></p><p> { </p><p><br /></p><p> //if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p><br /></p><p> if((OrderOpenPrice()> High[1]))</p><p><br /></p><p> {</p><p><br /></p><p> if((OrderStopLoss() > ss0) || (OrderStopLoss()==0))</p><p><br /></p><p> {</p><p><br /></p><p> OrderModify(OrderTicket(),OrderOpenPrice(),ss0,OrderTakeProfit(),0,Red);</p><p><br /></p><p> //OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);</p><p><br /></p><p> return(0);</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> }</p><p><br /></p><p> return(0);</p><p><br /></p><p> </p><p><br /></p><p>}</p><p><br /></p><p><br /></p><p><br /></p><p> </p><p><br /></p><p><br /></p><p><br /></p><p>int TotalOrdersCount()</p><p><br /></p><p>{</p><p><br /></p><p> int result=0;</p><p><br /></p><p> for(int i=0;i<OrdersTotal();i++)</p><p><br /></p><p> {</p><p><br /></p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p><br /></p><p> if (OrderMagicNumber()==MagicNumber) result++; </p><p><br /></p><p> </p><p><br /></p><p><br /></p><p><br /></p><p> </p><p><br /></p><p> }</p><p><br /></p><p> return (result);</p><p><br /></p><p>}</p><p><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-41409896371022634.post-22125459817919078082022-02-16T03:29:00.002-08:002022-05-03T06:02:24.872-07:00final mt4<p> //+------------------------------------------------------------------+</p><p>//| 5high_low_ma.mq4 |</p><p>//| Copyright 2021, MetaQuotes Software Corp. |</p><p>//| https://www.mql5.com |</p><p>//+------------------------------------------------------------------+</p><p>#property copyright "Copyright 2021, MetaQuotes Software Corp."</p><p>#property link "https://www.mql5.com"</p><p>#property version "1.00"</p><p>#property strict</p><p>//+------------------------------------------------------------------+</p><p>//| Expert initialization function |</p><p>//+------------------------------------------------------------------+</p><p>extern int MagicNumber=10001;</p><p>extern double Lots =0.01;</p><p>extern int TrailingStop=1;</p><p>extern int Slippage=3;</p><p>//+------------------------------------------------------------------+</p><p>// expert start function</p><p>//+------------------------------------------------------------------+</p><p>int start()</p><p>{</p><p> double MyPoint=Point;</p><p> if(Digits==3 || Digits==5) MyPoint=Point*10;</p><p> double hsma = DoubleToStr(iMA(NULL,0,9,0,MODE_EMA,PRICE_HIGH,0),Digits);</p><p> double lsma = DoubleToStr(iMA(NULL,0,9,0,MODE_EMA,PRICE_LOW,0),Digits);</p><p> double high3 = DoubleToStr(High[iHighest(NULL, 0, MODE_HIGH, 2, 1)],Digits); </p><p> double low3 = DoubleToStr(Low[iLowest(NULL, 0, MODE_LOW, 2, 1)],Digits);</p><p> double speared =DoubleToStr(Ask-Bid,Digits);</p><p> double btar =DoubleToStr(Ask+speared,Digits);</p><p> double star =DoubleToStr(Bid-speared,Digits);</p><p> double bs = DoubleToStr(Ask-0.00100,Digits);</p><p> double bs0 = DoubleToStr(low3-speared,Digits);</p><p> //double bs0 = DoubleToStr(low3,Digits);</p><p> double bstop = 0;</p><p> if(bs < bs0){bstop = bs0;}else{bstop=bs;} </p><p> double ss = DoubleToStr(Bid+0.00100,Digits);</p><p> double ss0 = DoubleToStr(high3+speared,Digits);</p><p> //double ss0 = DoubleToStr(high3,Digits);</p><p> double sstop = 0;</p><p> if(ss > ss0){sstop = ss0;}else{sstop=ss;} </p><p> double bclose = DoubleToStr(Low[1]-speared,Digits);</p><p> double sclose = DoubleToStr(High[1]+speared,Digits);</p><p> double canb0 = DoubleToStr((High[1]-Low[1])/2);</p><p> double canb = DoubleToStr(High[1]-canb0); </p><p> double cans0 = DoubleToStr((Low[1]-High[1])/2);</p><p> double cans = DoubleToStr(Low[1]+cans0); </p><p> datetime lclose = 0; </p><p> double total_history = OrdersHistoryTotal()-1 ;</p><p> </p><p> OrderSelect(total_history, SELECT_BY_POS, MODE_HISTORY);</p><p> if (OrderSymbol()==Symbol()) </p><p> { </p><p> lclose = OrderCloseTime() ; </p><p> } </p><p> </p><p> double buyon = 0;</p><p>// if(lsma < Ask && Ask > high3 && Ask > High[1] && Time[0] > lclose){buyon = 1;}</p><p> if(Low[3] >= Low[2] && Low[1] >= Low[2] && Ask > High[1] && Time[0] > lclose){buyon = 1;}</p><p> double sellon = 0;</p><p> // if(hsma > Bid && Bid < low3 && Bid < Low[1] && Time[0] > lclose){sellon = 1;}</p><p> if(High[3] <= High[2] && High[1] <= High[2] && Bid < Low[1] && Time[0] > lclose){sellon = 1;} </p><p> if( TotalOrdersCount()< 10 ) </p><p> {</p><p> int result=0;</p><p> if((buyon == 1 && OrdersTotal() == 0) || (buyon == 1 && OrderType() == 1 && OrdersTotal() == 1) || (buyon == 1 && OrderType() == 0 && OrdersTotal() >= 1 && OrderOpenPrice() > Ask)) // Here is your open buy rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Blue);</p><p> if(result>0)</p><p> {</p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> // OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> if((sellon == 1 && OrdersTotal() == 0) || (sellon == 1 && OrderType() == 0 && OrdersTotal() == 1) || (sellon == 1 && OrderType() == 1 && OrdersTotal() >= 1 && OrderOpenPrice() < Bid)) // Here is your open Sell rule</p><p> {</p><p> result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);</p><p> if(result>0)</p><p> { </p><p> </p><p> OrderSelect(result,SELECT_BY_TICKET);</p><p> // OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);</p><p> }</p><p> return(0);</p><p> }</p><p> }</p><p> </p><p> Comment(" speared " , speared , " high3 " , high3 , " low3 " , low3, " bstop " , bstop , " sstop " , sstop , " otype " , OrderType() , " buyon ", buyon ," sellon " ,sellon , " bs ",bs , " time0 " , Time[0], " canb ",canb, " cans " ,cans, " lclose ",lclose, "lsma ",lsma, "hsma ", hsma);</p><p> for(int cnt=0;cnt<OrdersTotal();cnt++)</p><p> {</p><p> OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);</p><p> if(OrderType()<=OP_SELL && </p><p> OrderSymbol()==Symbol() &&</p><p> OrderMagicNumber()==MagicNumber </p><p> ) </p><p> {</p><p> if(OrderType()==OP_BUY) </p><p> {</p><p> if(OrderOpenPrice()+speared < Bid && canb > Bid) //here is your close buy rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> }</p><p> if(TrailingStop>0) </p><p> { </p><p> if(OrderOpenPrice() < Low[1])</p><p> {</p><p> if((OrderStopLoss() < bs0) || (OrderStopLoss()==0))</p><p> {</p><p> //OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*MyPoint,OrderTakeProfit(),0,Green);</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),bs0,OrderTakeProfit(),0,Green);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> else </p><p> {</p><p> if(OrderOpenPrice()-speared > Ask && cans < Ask) // here is your close sell rule</p><p> {</p><p> OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),Slippage,Red);</p><p> }</p><p> if(TrailingStop>0) </p><p> { </p><p> //if((OrderOpenPrice()-Ask)>(MyPoint*TrailingStop))</p><p> if((OrderOpenPrice()> High[1]))</p><p> {</p><p> if((OrderStopLoss() > ss0) || (OrderStopLoss()==0))</p><p> {</p><p> OrderModify(OrderTicket(),OrderOpenPrice(),ss0,OrderTakeProfit(),0,Red);</p><p> //OrderModify(OrderTicket(),OrderOpenPrice(),Ask+MyPoint*TrailingStop,OrderTakeProfit(),0,Red);</p><p> return(0);</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> }</p><p> return(0);</p><p> </p><p>}</p><p><br /></p><p> </p><p><br /></p><p>int TotalOrdersCount()</p><p>{</p><p> int result=0;</p><p> for(int i=0;i<OrdersTotal();i++)</p><p> {</p><p> OrderSelect(i,SELECT_BY_POS ,MODE_TRADES);</p><p> if (OrderMagicNumber()==MagicNumber) result++; </p><p> </p><p><br /></p><p> </p><p> }</p><p> return (result);</p><p>}</p><div><br /></div>Unknownnoreply@blogger.com0