编码帮助 - 页 769 1...762763764765766767768769770771772773774775776...786 新评论 MT4 Trading 2017.06.02 12:25 #7681 嗨,程序员 希望你在那里很好。能否请你帮助我删除 这个EA的时间过滤器/使其为假,并使乘数因子可调整。 非常感谢 附加的文件: EA.mq4 8 kb 1225113 2017.06.08 14:18 #7682 亲爱的mladen,请鼓励我看到M1中的出现。谢谢 附加的文件: BB_SMA_Weekly_SD123_b_Price_vCKn.mq4 7 kb BB_SMA_Monthly_SD123_e_Price_tCKl.mq4 6 kb BB_SMA_4Monthly_SD123_u_Price_7CKy.mq4 8 kb Tony Hammond 2017.06.18 10:03 #7683 大家好我想知道是否有人能帮助我。我有一个指标,基本上是一个回归通道,偏差为2.0。我把它放到元编辑器中,这样我就可以在指标上添加额外的两条线,希望在2.6左右,如果可能的话,删除 中心线。经过多次失败的尝试,我似乎无法弄清如何做,所以我需要你的帮助,如果可能的话,谢谢。 附加的文件: i-Regr.mq4 6 kb Gianluca_a 2017.06.20 13:56 #7684 亲爱的Mladen,我正在尝试编码我的第一个指标,有人可以,有人不可以.....,在你的帮助下,我想成为一个更好的程序员....,但到目前为止,我真的需要你的支持....。我的想法是编写一个指标,做stocastich振荡器的EMA....EMA (EMA (Stchastic)))....我在一个在线平台 上尝试这个指标,在那里编程很容易,但在MT4上更难,我正在犯错误,因为它不工作......,你是否介意请看一下它并修复我正在做的错误?非常感谢您的支持吉安卢卡 附加的文件: EMAnEMA9Stocbw.txt 9 kb chriscap 2017.06.29 08:22 #7685 Mladen Rakic : Ex4 文件无法更改亲爱的姆拉登,我也有兴趣在 AngryBird 中拥有 SL 和 TP。请参阅附件代码谢谢克里斯//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí #property copyright "" #property link "" //ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double Stoploss = 500.0 ; // óðîâåíü áåçóáûòêà double TrailStart = 10.0 ; double TrailStop = 10.0 ; //ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí extern double LotExponent = 2 ; // íà ñêîëüêî óìíîæàòü ëîò ïðè âûñòàâëåíèè ñëåäóþùåãî êîëåíà. ïðèìåð: ïåðâûé ëîò 0.1, ñåðèÿ: 0.16, 0.26, 0.43 ... extern bool DynamicPips = true ; extern int DefaultPips = 12 ; extern int Glubina = 24 ; extern int DEL = 3 ; extern double slip = 3.0 ; // íà ñêîëüêî ìîæåò îòëè÷àòüñÿ öåíà â ñëó÷àå åñëè ÄÖ çàïðîñèò ðåêâîòû (â ïîñëåäíèé ìîìåíò íåìíîãî ïîìåíÿåò öåíó) extern double Lots = 0.01 ; // ðàçåð ëîòà äëÿ íà÷àëà òîðãîâ extern int lotdecimal = 2 ; // ñêîëüêî çíàêîâ ïîñëå çàïÿòîé â ëîòå ðàññ÷èòûâàòü 0 - íîðìàëüíûå ëîòû (1), 1 - ìèíèëîòû (0.1), 2 - ìèêðî (0.01) extern double TakeProfit = 20.0 ; // ïî äîñòèæåíèè ñêîëüêèõ ïóíêòîâ ïðèáûëè çàêðûâàòü ñäåëêó //extern double PipStep = 30.0; // øàã ìåæäó âûñòàâëåíèå íîâûõ êîëåí extern double Drop = 500 ; extern double RsiMinimum = 30.0 ; // íèæíÿÿ ãðàíèöà RSI extern double RsiMaximum = 70.0 ; // âåðõíÿÿ ãðàíèöà RSI extern int MagicNumber = 2222 ; // âîëøåáíîå ÷èñëî (ïîìîãàåò ñîâåòíèêó îòëè÷èòü ñâîè ñòàâêè îò ÷óæèõ) int PipStep= 0 ; //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí extern int MaxTrades = 10 ; // ìàêñèìàëüíî êîëè÷åñòâî îäíîâðåìåííî îòêðûòûõ îðäåðîâ extern bool UseEquityStop = FALSE ; extern double TotalEquityRisk = 20.0 ; extern bool UseTrailingStop = FALSE ; extern bool UseTimeOut = FALSE ; // èñïîëüçîâàòü òàéìàóò (çàêðûâàòü ñäåëêè åñëè îíè "âèñÿò" ñëèøêîì äîëãî) extern double MaxTradeOpenHours = 48.0 ; // âðåìÿ òàéìàóòà ñäåëîê â ÷àñàõ (÷åðåç ñêîëüêî çàêðûâàòü çàâèñøèå ñäåëêè) //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double PriceTarget, StartEquity, BuyTarget, SellTarget; double AveragePrice, SellLimit, BuyLimit; double LastBuyPrice, LastSellPrice, Spread; bool flag; string EAName= "Ilan1.6" ; int timeprev = 0 , expiration; int NumOfTrades = 0 ; double iLots; int cnt = 0 , total; double Stopper = 0.0 ; bool TradeNow = FALSE , LongTrade = FALSE , ShortTrade = FALSE ; int ticket; bool NewOrdersPlaced = FALSE ; double AccountEquityHighAmt, PrevEquity; //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int init() { Spread = MarketInfo ( Symbol (), MODE_SPREAD ) * Point ; return ( 0 ); } int deinit() { return ( 0 ); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int start() { if (DynamicPips) { double hival= High [ iHighest ( NULL , 0 , MODE_HIGH ,Glubina, 1 )]; // calculate highest and lowest price from last bar to 24 bars ago double loval= Low [ iLowest ( NULL , 0 , MODE_LOW ,Glubina, 1 )]; // chart used for symbol and time period PipStep= NormalizeDouble ((hival-loval)/DEL/ Point , 0 ); // calculate pips for spread between orders if (PipStep<DefaultPips/DEL) PipStep = NormalizeDouble (DefaultPips/DEL, 0 ); if (PipStep>DefaultPips*DEL) PipStep = NormalizeDouble (DefaultPips*DEL, 0 ); // if dynamic pips fail, assign pips extreme value } // else PipStep = DefaultPips; //double filtr_MA = iMA(NULL,60,60,0,0,0,0); double PrevCl; double CurrCl; if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice); if (( iCCI ( NULL , 15 , 55 , 0 , 0 )>Drop && ShortTrade)||( iCCI ( NULL , 15 , 55 , 0 , 0 )<(-Drop) && LongTrade)) { CloseThisSymbolAll(); Print ( "Closed All due to TimeOut" ); } if (timeprev == Time [ 0 ]) return ( 0 ); timeprev = Time [ 0 ]; double CurrentPairProfit = CalculateProfit(); if (UseEquityStop) { if (CurrentPairProfit < 0.0 && MathAbs (CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) { CloseThisSymbolAll(); Print ( "Closed All due to Stop Out" ); NewOrdersPlaced = FALSE ; } } total = CountTrades(); if (total == 0 ) flag = FALSE ; for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_BUY ) { LongTrade = TRUE ; ShortTrade = FALSE ; break ; } } if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_SELL ) { LongTrade = FALSE ; ShortTrade = TRUE ; break ; } } } if (total > 0 && total <= MaxTrades) { RefreshRates (); LastBuyPrice = FindLastBuyPrice(); LastSellPrice = FindLastSellPrice(); if (LongTrade && LastBuyPrice - Ask >= PipStep * Point ) TradeNow = TRUE ; if (ShortTrade && Bid - LastSellPrice >= PipStep * Point ) TradeNow = TRUE ; } if (total < 1 ) { ShortTrade = FALSE ; LongTrade = FALSE ; TradeNow = TRUE ; StartEquity = AccountEquity (); } if (TradeNow) { LastBuyPrice = FindLastBuyPrice(); LastSellPrice = FindLastSellPrice(); if (ShortTrade) { NumOfTrades = total; iLots = NormalizeDouble (Lots * MathPow (LotExponent, NumOfTrades), lotdecimal); RefreshRates (); ticket = OpenPendingOrder( 1 , iLots, Bid , slip, Ask , 0 , 0 , EAName + "-" + NumOfTrades + "-" + PipStep, MagicNumber, 0 , HotPink); if (ticket < 0 ) { Print ( "Error: " , GetLastError ()); return ( 0 ); } LastSellPrice = FindLastSellPrice(); TradeNow = FALSE ; NewOrdersPlaced = TRUE ; } else { if (LongTrade) { NumOfTrades = total; iLots = NormalizeDouble (Lots * MathPow (LotExponent, NumOfTrades), lotdecimal); ticket = OpenPendingOrder( 0 , iLots, Ask , slip, Bid , 0 , 0 , EAName + "-" + NumOfTrades + "-" + PipStep, MagicNumber, 0 , Lime); if (ticket < 0 ) { Print ( "Error: " , GetLastError ()); return ( 0 ); } LastBuyPrice = FindLastBuyPrice(); TradeNow = FALSE ; NewOrdersPlaced = TRUE ; } } } if (TradeNow && total < 1 ) { PrevCl = iClose ( Symbol (), 0 , 2 ); CurrCl = iClose ( Symbol (), 0 , 1 ); SellLimit = Bid ; BuyLimit = Ask ; if (!ShortTrade && !LongTrade) { NumOfTrades = total; iLots = NormalizeDouble (Lots * MathPow (LotExponent, NumOfTrades), lotdecimal); if (PrevCl > CurrCl) { if ( iRSI ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 1 ) > RsiMinimum ) { ticket = OpenPendingOrder( 1 , iLots, SellLimit, slip, SellLimit, 0 , 0 , EAName + "-" + NumOfTrades, MagicNumber, 0 , HotPink); if (ticket < 0 ) { Print ( "Error: " , GetLastError ()); return ( 0 ); } LastBuyPrice = FindLastBuyPrice(); NewOrdersPlaced = TRUE ; } } else { if ( iRSI ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 1 ) < RsiMaximum ) { ticket = OpenPendingOrder( 0 , iLots, BuyLimit, slip, BuyLimit, 0 , 0 , EAName + "-" + NumOfTrades, MagicNumber, 0 , Lime); if (ticket < 0 ) { Print ( "Error: " , GetLastError ()); return ( 0 ); } LastSellPrice = FindLastSellPrice(); NewOrdersPlaced = TRUE ; } } if (ticket > 0 ) expiration = TimeCurrent () + 60.0 * ( 60.0 * MaxTradeOpenHours); TradeNow = FALSE ; } } total = CountTrades(); AveragePrice = 0 ; double Count = 0 ; for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_BUY || OrderType () == OP_SELL ) { AveragePrice += OrderOpenPrice () * OrderLots (); Count += OrderLots (); } } } if (total > 0 ) AveragePrice = NormalizeDouble (AveragePrice / Count, Digits ); if (NewOrdersPlaced) { for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_BUY ) { PriceTarget = AveragePrice + TakeProfit * Point ; BuyTarget = PriceTarget; Stopper = AveragePrice - Stoploss * Point ; flag = TRUE ; } } if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_SELL ) { PriceTarget = AveragePrice - TakeProfit * Point ; SellTarget = PriceTarget; Stopper = AveragePrice + Stoploss * Point ; flag = TRUE ; } } } } if (NewOrdersPlaced) { if (flag == TRUE ) { for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) OrderModify ( OrderTicket (), NormalizeDouble (AveragePrice, Digits ), NormalizeDouble ( OrderStopLoss (), Digits ), NormalizeDouble (PriceTarget, Digits ), 0 , Yellow); NewOrdersPlaced = FALSE ; } } } return ( 0 ); } //ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int CountTrades() { int count = 0 ; for ( int trade = OrdersTotal () - 1 ; trade >= 0 ; trade--) { OrderSelect (trade, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) if ( OrderType () == OP_SELL || OrderType () == OP_BUY ) count++; } return (count); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí void CloseThisSymbolAll() { for ( int trade = OrdersTotal () - 1 ; trade >= 0 ; trade--) { OrderSelect (trade, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () == Symbol ()) { if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_BUY ) OrderClose ( OrderTicket (), OrderLots (), Bid , slip, Blue); if ( OrderType () == OP_SELL ) OrderClose ( OrderTicket (), OrderLots (), Ask , slip, Red); } Sleep ( 1000 ); } } } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí int OpenPendingOrder( int pType, double pLots, double pLevel, int sp, double pr, int sl, int tp, string pComment, int pMagic, int pDatetime, color pColor) { int ticket = 0 ; int err = 0 ; int c = 0 ; int NumberOfTries = 100 ; switch (pType) { case 2 : for (c = 0 ; c < NumberOfTries; c++) { ticket = OrderSend ( Symbol (), OP_BUYLIMIT , pLots, pLevel, sp, StopLong(pr, sl), TakeLong(pLevel, tp), pComment, pMagic, pDatetime, pColor); err = GetLastError (); if (err == 0 /* NO_ERROR */ ) break ; if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ; Sleep ( 1000 ); } break ; case 4 : for (c = 0 ; c < NumberOfTries; c++) { ticket = OrderSend ( Symbol (), OP_BUYSTOP , pLots, pLevel, sp, StopLong(pr, sl), TakeLong(pLevel, tp), pComment, pMagic, pDatetime, pColor); err = GetLastError (); if (err == 0 /* NO_ERROR */ ) break ; if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ; Sleep ( 5000 ); } break ; case 0 : for (c = 0 ; c < NumberOfTries; c++) { RefreshRates (); ticket = OrderSend ( Symbol (), OP_BUY , pLots, NormalizeDouble ( Ask , Digits ), sp, NormalizeDouble (StopLong( Bid , sl), Digits ), NormalizeDouble (TakeLong( Ask , tp), Digits ), pComment, pMagic, pDatetime, pColor); err = GetLastError (); if (err == 0 /* NO_ERROR */ ) break ; if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ; Sleep ( 5000 ); } break ; case 3 : for (c = 0 ; c < NumberOfTries; c++) { ticket = OrderSend ( Symbol (), OP_SELLLIMIT , pLots, pLevel, sp, StopShort(pr, sl), TakeShort(pLevel, tp), pComment, pMagic, pDatetime, pColor); err = GetLastError (); if (err == 0 /* NO_ERROR */ ) break ; if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ; Sleep ( 5000 ); } break ; case 5 : for (c = 0 ; c < NumberOfTries; c++) { ticket = OrderSend ( Symbol (), OP_SELLSTOP , pLots, pLevel, sp, StopShort(pr, sl), TakeShort(pLevel, tp), pComment, pMagic, pDatetime, pColor); err = GetLastError (); if (err == 0 /* NO_ERROR */ ) break ; if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ; Sleep ( 5000 ); } break ; case 1 : for (c = 0 ; c < NumberOfTries; c++) { ticket = OrderSend ( Symbol (), OP_SELL , pLots, NormalizeDouble ( Bid , Digits ), sp, NormalizeDouble (StopShort( Ask , sl), Digits ), NormalizeDouble (TakeShort( Bid , tp), Digits ), pComment, pMagic, pDatetime, pColor); err = GetLastError (); if (err == 0 /* NO_ERROR */ ) break ; if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ; Sleep ( 5000 ); } } return (ticket); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double StopLong( double price, int stop) { if (stop == 0 ) return ( 0 ); else return (price - stop * Point ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ double StopShort( double price, int stop) { if (stop == 0 ) return ( 0 ); else return (price + stop * Point ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ double TakeLong( double price, int stop) { if (stop == 0 ) return ( 0 ); else return (price + stop * Point ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ double TakeShort( double price, int stop) { if (stop == 0 ) return ( 0 ); else return (price - stop * Point ); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double CalculateProfit() { double Profit = 0 ; for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) if ( OrderType () == OP_BUY || OrderType () == OP_SELL ) Profit += OrderProfit (); } return (Profit); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí void TrailingAlls( int pType, int stop, double AvgPrice) { int profit; double stoptrade; double stopcal; if (stop != 0 ) { for ( int trade = OrdersTotal () - 1 ; trade >= 0 ; trade--) { if ( OrderSelect (trade, SELECT_BY_POS , MODE_TRADES )) { if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () || OrderMagicNumber () == MagicNumber) { if ( OrderType () == OP_BUY ) { profit = NormalizeDouble (( Bid - AvgPrice) / Point , 0 ); if (profit < pType) continue ; stoptrade = OrderStopLoss (); stopcal = Bid - stop * Point ; if (stoptrade == 0.0 || (stoptrade != 0.0 && stopcal > stoptrade)) OrderModify ( OrderTicket (), AvgPrice, stopcal, OrderTakeProfit (), 0 , Aqua); } if ( OrderType () == OP_SELL ) { profit = NormalizeDouble ((AvgPrice - Ask ) / Point , 0 ); if (profit < pType) continue ; stoptrade = OrderStopLoss (); stopcal = Ask + stop * Point ; if (stoptrade == 0.0 || (stoptrade != 0.0 && stopcal < stoptrade)) OrderModify ( OrderTicket (), AvgPrice, stopcal, OrderTakeProfit (), 0 , Red); } } Sleep ( 1000 ); } } } } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double AccountEquityHigh() { if (CountTrades() == 0 ) AccountEquityHighAmt = AccountEquity (); if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity; else AccountEquityHighAmt = AccountEquity (); PrevEquity = AccountEquity (); return (AccountEquityHighAmt); } //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí double FindLastBuyPrice() { double oldorderopenprice; int oldticketnumber; double unused = 0 ; int ticketnumber = 0 ; for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber && OrderType () == OP_BUY ) { oldticketnumber = OrderTicket (); if (oldticketnumber > ticketnumber) { oldorderopenprice = OrderOpenPrice (); unused = oldorderopenprice; ticketnumber = oldticketnumber; } } } return (oldorderopenprice); } double FindLastSellPrice() { double oldorderopenprice; int oldticketnumber; double unused = 0 ; int ticketnumber = 0 ; for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) { OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES ); if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber && OrderType () == OP_SELL ) { oldticketnumber = OrderTicket (); if (oldticketnumber > ticketnumber) { oldorderopenprice = OrderOpenPrice (); unused = oldorderopenprice; ticketnumber = oldticketnumber; } } } return (oldorderopenprice); } //ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí Max Pena 2017.08.29 23:28 #7686 请谁能好心地帮助在这个指标上增加窗口选项?我对编码一窍不通!先谢谢你了,麦克斯 附加的文件: true_trend.mq4 32 kb bigred143 2017.09.11 03:00 #7687 你好!我想让Lawgirl的趋势显示显示随机指标 的方向而不是rsi。有人能做到吗? 附加的文件: Lawgirlls_Trend_Display_v1.02.mq4 13 kb 1225113 2017.09.22 14:03 #7688 你好,...请把这个指标做成一个简单的EA,只用于平仓,菲波线只用于平仓(只用于盈利的平仓),在每次触及菲波线的时候,都有一个菲波线。手动操作谢谢 附加的文件: AutoFib_TradeZones.mq4 15 kb William Roeder 2017.12.10 17:52 #7689 Forexpaco: 我想补充的是 你只有四个选择。 搜索 它。 学习 编码。如果你不学习MQL4/5,我们就没有共同的语言可以交流。如果我们告诉你你需要什么,你就无法编码。如果我们给你的代码,你不知道如何把它整合到你的代码中。 从编码帮助 开始- MQL4和MetaTrader 4 - MQL4编程论坛 或需要编码帮助 - 一般 - MQL5编程论坛 或免费MQL4到MQL5转换器 - 一般 - MQL5编程论坛 或请求和想法(仅限MQL5!)。 或支付(自由职业者) 某人来编码。 我们不会为 你编码(虽然如果你很幸运或者问题很有趣的话,可能会发生)。当你发布你的 尝试(使用SRC)和问题的 性质时,我们愿意帮助 你。没有免费的帮助紧急帮助。 一目了然 需要编码方面的帮助 我需要HEEEELP,请,它是紧急的......真的! izzanaf 2017.12.12 04:54 #7690 尊敬的先生我需要帮助,如果有人能为这个指标编码。规则是这样的。1.用于H1以上,但强烈建议用于H42.2.当有蜡烛看涨突破高位低位蜡烛看跌前或蜡烛看跌突破高位低位蜡烛看涨前至少1点时,该指标将发出警报。3.还需要能够发送通知 到手机上。谢谢你的好意 1...762763764765766767768769770771772773774775776...786 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
希望你在那里很好。能否请你帮助我删除 这个EA的时间过滤器/使其为假,并使乘数因子可调整。
非常感谢
亲爱的mladen,请鼓励我看到M1中的出现。
谢谢
大家好
我想知道是否有人能帮助我。我有一个指标,基本上是一个回归通道,偏差为2.0。
我把它放到元编辑器中,这样我就可以在指标上添加额外的两条线,希望在2.6左右,如果可能的话,删除 中心线。
经过多次失败的尝试,我似乎无法弄清如何做,所以我需要你的帮助,如果可能的话,谢谢。
亲爱的Mladen,
我正在尝试编码我的第一个指标,有人可以,有人不可以.....,在你的帮助下,我想成为一个更好的程序员....,但到目前为止,我真的需要你的支持....。
我的想法是编写一个指标,做stocastich振荡器的EMA....EMA (EMA (Stchastic)))....我在一个在线平台 上尝试这个指标,在那里编程很容易,但在MT4上更难,我正在犯错误,因为它不工作......,你是否介意请看一下它并修复我正在做的错误?
非常感谢您的支持
吉安卢卡
Ex4 文件无法更改
亲爱的姆拉登,
我也有兴趣在 AngryBird 中拥有 SL 和 TP。
请参阅附件代码
谢谢
克里斯
请谁能好心地帮助在这个指标上增加窗口选项?
我对编码一窍不通!
先谢谢你了,麦克斯
你好!
我想让Lawgirl的趋势显示显示随机指标 的方向而不是rsi。有人能做到吗?
你好,...
请把这个指标做成一个简单的EA,只用于平仓,菲波线只用于平仓(只用于盈利的平仓),在每次触及菲波线的时候,都有一个菲波线。
手动操作
谢谢
- 搜索 它。
- 学习 编码。如果你不学习MQL4/5,我们就没有共同的语言可以交流。如果我们告诉你你需要什么,你就无法编码。如果我们给你的代码,你不知道如何把它整合到你的代码中。
- 从编码帮助 开始- MQL4和MetaTrader 4 - MQL4编程论坛 或需要编码帮助 - 一般 - MQL5编程论坛 或免费MQL4到MQL5转换器 - 一般 - MQL5编程论坛 或请求和想法(仅限MQL5!)。
- 或支付(自由职业者) 某人来编码。
我们不会为 你编码(虽然如果你很幸运或者问题很有趣的话,可能会发生)。当你发布你的 尝试(使用SRC)和问题的 性质时,我们愿意帮助 你。没有免费的帮助
紧急帮助。
尊敬的先生
我需要帮助,如果有人能为这个指标编码。
规则是这样的。
1.用于H1以上,但强烈建议用于H4
2.2.当有蜡烛看涨突破高位低位蜡烛看跌前或蜡烛看跌突破高位低位蜡烛看涨前至少1点时,该指标将发出警报。
3.还需要能够发送通知 到手机上。
谢谢你的好意