Convertir este indicador en asesor experto

 

Buenos días,

Tengo un indicador de flechas, pero quiero realizar una modificacion al mismo que cuando vea una vela de color azul abra una orden de compra y cuando vea la vea roja ponga una orden de venta. 

Soy novata en programacion y no he sido capaz de modificar el codigo al que hago mencion. Alguien me podria guiar, 

muchas gracias.


#property copyright ""


#property indicator_chart_window

#property indicator_buffers 3

#property indicator_color1 Blue

#property indicator_color2 Red

#property indicator_color3 Green


double dUpCCIBuffer[];

double dDownCCIBuffer[];

double dSellBuffer[];


extern int CCI_Period = 14;  //This value sets the CCI Period Used, The default is 21

 

int RowNum = 0;

int LastTrend = -1;

int UP_IND    = 1;

int DOWN_IND  = 0;

//int OrderTicket(); //Esta linea la Declare yo.


//+------------------------------------------------------------------+

//| Custom indicator initialization function                         |

//+------------------------------------------------------------------+

int init()

  {

//---- indicator buffers mapping  

    SetIndexBuffer(0,dUpCCIBuffer);

    SetIndexBuffer(1,dDownCCIBuffer);  

    SetIndexBuffer(2,dSellBuffer); 

//---- drawing settings

    SetIndexStyle(0,DRAW_ARROW);

    SetIndexArrow(0,233); //241 option for different arrow head

    SetIndexStyle(1,DRAW_ARROW);

    SetIndexArrow(1,234); //242 option for different arrow head

    SetIndexStyle(2,DRAW_ARROW);

    SetIndexArrow(2,252);  //251 x sign or 252 green check

    

    

       

//----

    SetIndexEmptyValue(0,0.0);

    SetIndexEmptyValue(1,0.0);

    SetIndexEmptyValue(2,0.0);

//---- name for DataWindow

    SetIndexLabel(0,"CCI Buy");

    SetIndexLabel(1,"CCI Sell");

    SetIndexLabel(2,"Exit");

//----



   return(0);

  }


   

   

      

//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

int start()

  

  {

   int nBars,nCountedBars;

 


   

    nCountedBars=IndicatorCounted(); //ncountedbars 655

//---- check for possible errors

    if(nCountedBars<0) return(-1);

//---- last counted bar will be recounted    

    if(nCountedBars<=3)

       nBars=Bars-nCountedBars-4;

    

    if(nCountedBars>2)

      {

       nCountedBars--;

       nBars=Bars-nCountedBars-1; //number of bars in current chart-655-1

      }


int lastCloseLong=0;

int lastCloseShort=0;


   for (int ii=Bars; ii>0; ii--)

   {


      dUpCCIBuffer[ii]=0;

      dDownCCIBuffer[ii]=0;


      double myCCInow = iCCI(NULL,0,CCI_Period,PRICE_CLOSE,ii);

      double myCCI2 = iCCI(NULL,0,CCI_Period,PRICE_CLOSE,ii+1); //CCI One bar ago

      


      

      if (myCCInow>=0) //is going long

      {

         if(myCCInow>0 && myCCI2<0) //did it cross from below 50

         {

            

            dUpCCIBuffer[ii] = Low[ii] - 2 * MarketInfo(Symbol(),MODE_POINT);


         }


      }

      

      if(myCCInow<0)  //is going short

      {

         if(myCCInow<0 && myCCI2>0) //did it cross from above 50

         {

            

            dDownCCIBuffer[ii] = High[ii] + 2 * MarketInfo(Symbol(),MODE_POINT);


         }

       

}

//Este Codigo lo Puse YO...Iniciamos el Ciclo para poner orden de compra cuando aparece una vela Azul y venta para una vela roja

     //if(DRAW_ARROW=="BLUE"){

    if(OrderSelect(DRAW_ARROW=="Blue",OP_BUY==0)){

    

         

         

         

    

    

    

     }

         

 
Los indicadores no pueden poner ordenes.

Para ponerlas debes escribir un EA.
 
En el apartado de Freelance puedes crear un encargo para que te creen un robot con ese indicador y que el EA. realice lo que tu quieres hacer. Pero te advierto que si no tienes las ideas claras de realmente lo que quieres y que esa estrategia es realmente rentables perderá dinero dos veces primero lo que le pague al programador y segundo si el EA lo pones a trabajar en una cuenta real por estar desesperado.
Razón de la queja: