#include<Trade\Trade.mqh> Ctrade trade; void OnTick() { static double LastStopMovingAverageValue; double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); if (PositionsTotal()<1) { trade.Sell(0.10,NULL,Bid,0,(Bid-150 * _Point),NULL); LastStopMovingAverage=1000; } double myMovingAverageArray[]; ArraySetAsSeries(myMovingAverageArray,true); int movingAverageDefinition = iMA (_Symbol,_Period,500,0,MODE_EMA,PRICE_CLOSE); CopyBuffer(movingAverageDefinition,0,0,3,myMovingAverageArray); double StopMovingAverageValue = myMovingAverageArray[1]; if (StopMovingAverageValue > Ask) if (StopMovingAverageValue < LastStopMovingAverageValue) { CheckEMASellTrailingStop (Bid, StopMovingAverageValue); LastStopMovingAverageValue= StopMovingAverageValue; } } void checkEMASellTrailingStop(double Bid, double StopMovingAverageValue) { for(int i=PositionsTotal()-1; i>=0; i--) { string symbol=PositionGetSymbol(i); // Get currency pair symbol} if (_Symbol==symbol) //if the currency pair matches { ulong PositionTicket=PositionGetInteger(POSITION_TICKET); double CurrentStopLoss=PositionGetDouble(POSITION_SL); if ((CurrentStopLoss>StopMovingAverageValue)||CurrentStopLoss==0) { trade.PositionModify(PositionTicket,StopMovingAverageValue,0); } } //End if loop } //End for loop } //End
flexjagger :
Code:
***
Please insert your code correctly: when editing a post, press the button , then paste the code into the window that appears.
Vladimir Karputov:
Thank you for the advice Mr Valdimir. Good Day.
Please insert your code correctly: when editing a post, press the button , then paste the code into the window that appears.
flexjagger :
Thank you for the advice Mr Valdimir. Good Day.
Thank you for the advice Mr Valdimir. Good Day.
Mistake # 1 - Remember, in MQL5, the indicator handle needs to be CREATED ONLY ONCE - and this is done in OnInit !!!
Please read the documentation with iMA examples and correct your mistake. After you fix your MQL5 code, publish it.
Documentation on MQL5: Technical Indicators / iMA
- www.mql5.com
iMA - Technical Indicators - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Dear Sir/Ma'am,
May I seek the help of experts with my coding.. I tried to compile and resulted in 11 errors and 1 warnings (with my LastStopMovingAverage=1000)
Thank you very much for your time.