#include CTrade trade; input int linha = 1; input int nvelas = 100; void OnTick() { double tradingRange=0; //1 crie uma string vazia string entry=""; // 2 Obter o preço Ask double Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits ); //3 Obter o preço do lance double Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); // crie uma matriz para os dados do preço MqlRates PriceInformation[]; // classifique a matriz da vela atual para baixo ArraySetAsSeries(PriceInformation, true); // Eu fi11 a matriz com dados de preços int data=CopyRates(Symbol(),Period(),0,Bars(Symbol(),Period()),PriceInformation); // l' criar variame para a vela mais alta int HighestCandle; int LowestCandle; // Criei uma matriz para dados de preços double High[] ; double Low[] ; // classificar a matriz do candie atual para baixo ArraySetAsSeries (High, true) ; ArraySetAsSeries (Low, true); // fili a matriz com preços altos CopyHigh (_Symbol,_Period,0,nvelas, High) ; CopyLow(_Symbol, _Period,0,nvelas,Low); //Molhe o preço mais alto das velas HighestCandle= ArrayMaximum(High , 0 , nvelas); LowestCandle= ArrayMinimum(Low,0,nvelas); // definir propriedades do objeto para uma linha ObjectCreate(_Symbol,"RES", OBJ_HLINE, 0,0,PriceInformation[HighestCandle] . high) ; ObjectCreate(_Symbol,"SUP", OBJ_HLINE, 0,0,PriceInformation[LowestCandle] . low) ; // definir cor do objeto //////////////////////////////////////////////////////// ObjectSetInteger (0 , "RES",OBJPROP_COLOR,clrDarkMagenta); ObjectSetInteger (0 , "SUP",OBJPROP_COLOR,clrDarkMagenta); // definir largura do objeto ObjectSetInteger (0 , "RES",OBJPROP_WIDTH,linha); ObjectSetInteger (0 , "SUP",OBJPROP_WIDTH,linha); // mova a linha ObjectMove(_Symbol,"RES",0 , 0 , PriceInformation [HighestCandle] . high); ObjectMove(_Symbol,"SUP",0 , 0 , PriceInformation [LowestCandle] . low); // calculate for trading range tradingRange = PriceInformation[HighestCandle].high-PriceInformation[LowestCandle].low; Comment ("the current tradingRange is:",tradingRange); }