Closing the trade at the MA intersection

 

Hello,


I have a robot system that I'm working on.

it works flawlessly. but there is one last step that I want to add. I can trade at the intersection of MAs but I want it to exit the transaction at the next intersection. What code should I add? can anyone help?


#include <Trade\Trade.mqh>
CTrade trade;
input double lot=0.10;
input int hizli_MA=13;
input int yavas_MA=26;

input ENUM_APPLIED_PRICE price_mode_hizli_MA=PRICE_CLOSE;
input ENUM_APPLIED_PRICE price_mode_yavas_MA=PRICE_CLOSE;
 ENUM_MA_METHOD hizli_MA_method=MODE_SMA;
 ENUM_MA_METHOD yavas_MA_method=MODE_SMA;


void OnTick()
  {

   double ma_h[];
   double ma_y[];
   int ma_h_ozellikler=iMA(NULL,PERIOD_CURRENT,hizli_MA,0,hizli_MA_method,price_mode_hizli_MA);
   int ma_y_ozellikler=iMA(NULL,PERIOD_CURRENT,yavas_MA,0,yavas_MA_method,price_mode_yavas_MA);
   CopyBuffer(ma_h_ozellikler,0,0,3,ma_h);
   CopyBuffer(ma_y_ozellikler,0,0,3,ma_y);
   ArraySetAsSeries(ma_h,true);
   ArraySetAsSeries(ma_y,true);

   double ma_y0=ma_y[1];
   double ma_y1=ma_y[2];

   double ma_h0=ma_h[1];
   double ma_h1=ma_h[2];
   
   double ask=SymbolInfoDouble(NULL,SYMBOL_ASK);
   double bid=SymbolInfoDouble(NULL,SYMBOL_BID);

   if(ma_h1<ma_y1)
      if(ma_h0>ma_y0)
         if(PositionsTotal()<1)
         {
          trade.Buy(lot,NULL,ask,0,0,NULL);
         }

   if(ma_h1>ma_y1)
      if(ma_h0<ma_y0)
         if(PositionsTotal()<1)
         {
          trade.Sell(lot,NULL,ask,0,0,NULL);
         }


         
 
  }


Documentation on MQL5: Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Symbol Properties - Environment State - Constants, Enumerations and Structures - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
  1. Senol Atis: I want … I want … What code should I add? can anyone help?

    Help you with what? You haven't stated a problem, you stated a want. Show us your attempt (using the CODE button) and state the nature of your problem.
              No free help (2017)

    Or pay someone. Top of every page is the link Freelance.
              Hiring to write script - General - MQL5 programming forum (2018)

    We're not going to code it for you (although it could happen if you are lucky or the problem is interesting).
              No free help (2017)

  2. Perhaps you should read the manual, especially the examples.
       How To Ask Questions The Smart Way. (2004)
          How To Interpret Answers.
             RTFM and STFW: How To Tell You've Seriously Screwed Up.

    They all (including iCustom) return a handle (an int). You get that in OnInit. In OnTick/OnCalculate (after the indicator has updated its buffers), you use the handle, shift and count to get the data.
              Technical Indicators - Reference on algorithmic/automated trading language for MetaTrader 5
              Timeseries and Indicators Access / CopyBuffer - Reference on algorithmic/automated trading language for MetaTrader 5
              How to start with MQL5 - General - MQL5 programming forum - Page 3 #22 (2020.03.08)
              How to start with MQL5 - MetaTrader 5 - General - MQL5 programming forum - Page 7 #61 (2020.07.05)
              How to call indicators in MQL5 - MQL5 Articles (2010)

 
Senol Atis :

Hello,


I have a robot system that I'm working on.

it works flawlessly. but there is one last step that I want to add. I can trade at the intersection of MAs but I want it to exit the transaction at the next intersection. What code should I add? can anyone help?

You must correct a gross mistake: you create several indicator handles at each tick. The MQL5 style implies that indicator handles are created ONCE and this is done in OnInit.

 
Vladimir Karputov #:

You must correct a gross mistake: you create several indicator handles at each tick. The MQL5 style implies that indicator handles are created ONCE and this is done in OnInit.

can you help me how to do it?
 
Senol Atis #:
can you help me how to do it?

Receiving data from an indicator in an MQL5

How to start with MQL5
How to start with MQL5
  • 2020.09.17
  • www.mql5.com
This thread discusses MQL5 code examples. There will be examples of how to get data from indicators, how to program advisors...
 
I have no problems with the system. my system is working. I just want the trades to close at the second intersection of the MAs.
 
Senol Atis # :
I have no problems with the system. my system is working. I just want the trades to close at the second intersection of the MAs.

Correct mistakes first. Only after correcting errors will there be further consultation.

Reason: