Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 80
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
No testador sobre um símbolo diferente? Ou em demonstração/real em um símbolo diferente? Ou no testador sobre este símbolo? Ou em demonstração/real sobre este símbolo?
Por que você tem que tirar tudo de você?
Desculpe, eu sou muito nerd - eu realmente não entendo.
Talvez você tenha o indicador mais simples com um código de alguns, eu tenho uma analogia para entender? Porque eu não consegui encontrar um.
Eu tenho um código muito simples que coloca pontos no meio da barra. Como faço para que o texto apareça quando pairo sobre eles, ou sobre uma caixa, o que quer que seja.
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Black
//---- input parameters
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars;
//----
for(int i=limit; i>=0; i--)
{
double fabody0 = fabs(Close[i]-Open[i]);
double fabody1 = fabs(Close[i+1]-Open[i+1]);
double fabody2 = fabs(Close[i+2]-Open[i+2]);
double fabody3 = fabs(Close[i+3]-Open[i+3]);
double fabody4 = fabs(Close[i+4]-Open[i+4]);
double fabody5 = fabs(Close[i+5]-Open[i+5]);
double fabody6 = fabs(Close[i+6]-Open[i+6]);
double fabody7 = fabs(Close[i+7]-Open[i+7]);
if((fabody0>fabody1) && (fabody0>fabody2) && (fabody0>fabody3) && (fabody0>fabody4) && (fabody0>fabody5) && (fabody0>fabody6) &&(Volume[i]>Volume[i+1]))
{
if (((Close[i]>Open[i])&&(Low[i]+(High[i]-Low[i])/2>Low[i+1]+(High[i+1]-Low[i+1])*0.9))||((Close[i]<Open[i])&&(Low[i]+(High[i]-Low[i])/2<Low[i+1]+(High[i+1]-Low[i+1])*0.1)))
ExtMapBuffer1[i]=(iHigh(Symbol(),0,i)+iLow(Symbol(),0,i))/2;
}
}
//----
return(0);
}
Qual é o seu objetivo? Que diferença isso faz onde você tentou? A questão é se Ponto = 0. E se puder, como devo escrever o código correto para não encontrar um erro: divisão por zero?
Como quiser.
Eu não li todo o diálogo, mas suspeito de um problema com a impressão da quinta casa decimal.
Não, ele se divide por Ponto() e recebe divisão por zero.
Eu não li todo o diálogo, mas suspeito de um problema com a impressão do quinto ponto decimal.
Poderia ser esse o problema?
Tente
Olá.
Por favor, ajude.
Agora o lote de cada ordem seguinte está aumentando em 1, 2, 3, 4, 5...
Quero que o lote de cada ordem não aumente cada ordem, mas em incrementos de 3, portanto 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3...
extern double Plus_LotStop = 0.01;
extern double Plus_N_ORD = 3; //каждые N ордеров
void OnTick()
{
//---
for (int i=1; i<=OrdersStop; i++)
{
if((Close[1]<Open[1]&&Close[2]>Open[2]&&NumberOfPositions(Symbol(), -1,_Magic)<1))
{
OPENORDER (OP_BUYSTOP,PriceBS,LOTs,_Magic,i);
numB++;
PriceBS = NormalizeDouble(PriceBS+Step_Stop*Point,Digits);
OPENORDER (OP_SELLSTOP,PriceSS,LOTs,_Magic,i);
numS++;
PriceSS = NormalizeDouble(PriceSS-Step_Stop*Point,Digits);
}
LOTs=LOTs+Plus_LotStop;
}
}