ENGENHEIRO LOTÉRICO:
Ja tentei de tudo só preciso aumentar o tamhno do OBJ_ARROW_UP que é plotado, alguém pode ajudar ?
#property copyright "MARQUES"
#property copyright "MARQUES"
#property link "https://www.mql5.com"
#property version "1.00"
#property description
#property script_show_inputs
MqlRates rates[];
MqlTick tick [];
MqlDateTime date;
double volume = 0;
bool compra_mm_cros = true;
bool venda_mm_cros = true;
// tamanho da setas
//=======================
input group "::.. Média Rapida ..::"
input int mm_rapida_periodo = 3; // Periodo da Média Movel Lenta
input ENUM_TIMEFRAMES mm_Rapida_tempo_grafico = PERIOD_CURRENT;// TimeFrame - Tempo do Gráfico
input ENUM_MA_METHOD mm_metodo_Rapida = MODE_SMA; // Metodo
input ENUM_APPLIED_PRICE mm_Rapida_preco = PRICE_CLOSE; // Aplicado
input group "::.. Média Lenta ..::"
input int mm_lenta_periodo = 50; // Periodo da Média Movel Rapida
input ENUM_TIMEFRAMES mm_Lenta_tempo_grafico = PERIOD_CURRENT;// TimeFrame - Tempo do Gráfico
input ENUM_MA_METHOD mm_Lenta_metodo = MODE_SMA; // Metodo
input ENUM_APPLIED_PRICE mm_Lenta_preco = PRICE_CLOSE; // Aplicado
//+------------------------------------------------------------------+
//| Escrever Texto na tela |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Variaveis para os indicadores |
//+------------------------------------------------------------------+
//Rapida - menor periodo
int mm_rapida_Handle; // Hendle controlador da media movel rapida
double mm_rapida_Buffer[]; // Buffer para armazenamento dos dados da media
//Lenta - maior periodo
int mm_lenta_Handle; //controlador da media movel lenta
double mm_lenta_Buffer[]; // Buffer para armazenamento dos dados da media
double point;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
point=Point();
mm_rapida_Handle = iMA(_Symbol, mm_Rapida_tempo_grafico, mm_rapida_periodo, 0, mm_metodo_Rapida, mm_Rapida_preco);
mm_lenta_Handle = iMA(_Symbol, mm_Lenta_tempo_grafico,mm_lenta_periodo, 0, mm_Lenta_metodo, mm_Lenta_preco);
ChartIndicatorAdd(0,0,mm_lenta_Handle);
ChartIndicatorAdd(0,0,mm_rapida_Handle);
ChartRedraw();
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
ObjectDelete(0,"pxc");
for(int i = (int)ChartGetInteger(0, CHART_WINDOWS_TOTAL); i >= 0 ; i--)
{
for(int j = ChartIndicatorsTotal(0, i); j >= 0; j--)
{
ChartIndicatorDelete(0, i, ChartIndicatorName(0, i, 0));
}
}
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
// pega os minutos restantes do candle em segundos
int seconds = PeriodSeconds(_Period) - (int(TimeTradeServer()) % PeriodSeconds(_Period)); // pegar os minutos do candle
// flag para compra e venda
compra_mm_cros = false;
venda_mm_cros = false;
ArraySetAsSeries(rates,true);
ArraySetAsSeries(mm_rapida_Buffer,true);
ArraySetAsSeries(mm_lenta_Buffer,true);
CopyRates(Symbol(), Period(),0,4, rates);
CopyBuffer(mm_rapida_Handle,0,0,4,mm_rapida_Buffer);
CopyBuffer(mm_lenta_Handle,0,0,4,mm_lenta_Buffer);
//logica para compra
bool compra_mm_cros = mm_rapida_Buffer[0] > mm_lenta_Buffer[0];
//logica para venda
bool venda_mm_cros = mm_rapida_Buffer[0] < mm_lenta_Buffer[0];
// logica para seta de compra
if(compra_mm_cros == true)
{
ObjectCreate(0,"Compra"+ IntegerToString(rates[0].time), OBJ_ARROW_UP,0,rates[0].time, rates[0].low -(3*point));
}
else
if(venda_mm_cros == true)
{
ObjectCreate(0,"Venda"+ IntegerToString(rates[0].time), OBJ_ARROW_DOWN,0,rates[0].time, rates[0].high+(3*point));
}
}
//+------------------------------------------------------------------+
if(ObjectCreate(0,"Compra"+ IntegerToString(rates[0].time), OBJ_ARROW_UP,0,rates[0].time, rates[0].low -(3*_Point))) { ObjectSetInteger(0, "Compra"+ IntegerToString(rates[0].time), OBJPROP_WIDTH, 15); } ChartRedraw();
Assim você consegue definir o tamanho do objeto, após criar o objeto com a função "ObjectCreate()" você deve definir um valor para esse objeto criado com a função "ObjectSetInteger()"
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
#property copyright "MARQUES"