Ajuda na codificação - página 254

 
thefxpros:
Hi,

Estou me divertindo em transformar algum indicador no MTF usando o icustom. O indicador funciona, mas não exibe cores e setas corretamente, por quê?

Onde está o erro, por favor?

wilders_trailing_stop_mtf.mq4

wilders_trailing_stop.mq4

//------------------------------------------------------------------

#property copyright "thefxpros"

#property link "thefxpros@katamail.com"

//------------------------------------------------------------------

#property indicator_chart_window

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1

//

//

//

extern int TimeFrame = 0;

extern int Length = 2;

extern double Coeff = 1.75;

extern int LineWidth = 1;

extern int ArrowWidth = 1;

extern color UpLineClr = LimeGreen;

extern color DnLineClr = Orange;

extern color UpArrowClr = LimeGreen;

extern color DnArrowClr = Orange;

//

double WTS[];

double WTSDn[];

double arrUp[];

double arrDn[];

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

//| |

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

int init()

{

IndicatorBuffers(4);

SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr);

SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr);

SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP);

SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN);

IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")");

Length = MathMax(Length,1);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")");

return(0);

}

//----

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

//| MTF function |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

/*********************************************************************************************************

Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.

Rule 1: Add extern inputs above for all neccesary values

Rule 2: Use 'TimeFrame' for the indicator time frame

Rule 3: Use 'y' for your indicator's shift value

********************************************************************************************************/

WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y);

WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y);

arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y);

arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y);

}

return(0);

}

//+------------------------------------------------------------------+[/PHP]

thefxpros

Você comentou a parte quando tem que declarar os tampões de desenho

Esta parte :

Janela_do_indicador_do_cartão_de_propriedade [PHP]

//# tampas_indicadoras de propriedade 4

//# indicador de propriedade_color1 Laranja

//# indicador de propriedade_color2 LimeGreen

//# indicador de propriedade_color3 LimeGreen

//# indicador de propriedade_color4 Laranja

//# indicador de propriedade_largura3 1

//# indicador de propriedade_largura4 1

Retire os comentários dessas linhas e funcionará

 
mladen:
thefxpros

Você comentou a parte quando tem que declarar os tampões de desenho

Esta parte :

#property indicator_chart_window

//#property indicator_buffers 4

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1
Retire os comentários dessas linhas e funcionará

sim, eu sei, mas eu especifiquei mais tarde, não é suficiente? Eu sempre especifiquei no início?

Lembro-me muitas vezes que fiz assim, com o metaeditor construído anteriormente e até onde me lembro funcionou, será que me lembro mal?

 
thefxpros:
sim, eu sei, mas eu especifiquei mais tarde, não é suficiente? Sempre especifiquei no início... Lembro-me muitas vezes que fiz assim, com o metaeditor construído anteriormente e, tanto quanto me lembro, lembro-me que funcionou mal...

thefxpros

No início, você está especificando os buffers de desenho. Mais tarde você pode especificar os buffers de cálculo. Se você não especificar #property indicator_buffers numberOfDrawningBuffer, então nada será desenhado no hart

 

mostrar toda a sua história de Speard . Por favor, me ajude

 

Qualquer um me ajude a verificar esta EA para a função CloseInMA .

Estou preso aqui há muitos dias e não consigo encontrar a solução .

Obrigado .

Arquivos anexados:
testing1.5.mq4  38 kb
 
stevenpun:
Qualquer um me ajude a verificar esta EA para a função CloseInMA .

Estou preso aqui há muitos dias e não consigo encontrar a solução .

Obrigado .

stevenpun .

Tente fazer como está escrito agora

Arquivos anexados:
 

Olá amável guru de coração, estou pedindo por favor que alguém ajude a codificar isto e depois construa uma versão robótica (EA) dele:

INDICADOR- Auto desenhar linhas horizontais (de preferência linhas quebradas) sobre preços que terminam em 5, 15, 31, 67 respectivamente. Exemplo no UJ 103.05, 102.67, 103.15 e.t.c. O comprimento da linha deve ter 1 polegada de comprimento de uma régua matemática com estes números abaixo, para que eu tenha um gráfico decente por causa das linhas de casal que eu já tenho.

PS- corretor de 4 e 5 dígitos compatível

 

Regras para a EA

COMPRAR

Coloque um pedido de parada de compra pendente a qualquer momento que o preço se mova 3 pips antes do número mágico da BELOW. Exemplo para o número mágico 5, preço atualmente em UJ 103.02, colocar ordem de compra pendente @103.05.

VENDER

Colocar venda pendente parar a qualquer momento preço próximo ao número mágico por 3 pips da ABOVE. Exemplo, preço atualmente @103.08, colocar parada de venda @103.05

SL e TP 25/50 pip cada.

Quando o comércio atingir +3 pips de lucro, mova STOP LOSS para bloquear +1 lucro, mova 5 bloqueio 4, mova 8 bloqueio 7, mova 12 bloqueio 10

Posição máxima em aberto ou comércio flutuante ou ordem pendente =1 somente até ser interrompida para uma nova negociação

O saque máximo diário deve ser de 3% e, uma vez alcançado, a EA deve parar de negociar.

Tamanho de lote padrão 0,1 (10.000)

24hrs de negociação

P.S: A EA deve ter uma opção para esconder números mágicos, parada de rastreamento, tirar lucro/parada de prejuízo do meu corretor e deve ser compatível com 4/5 dígitos. Par padrão UJ.

Será muito bom ter isso codificado em breve.

 
mladen:
stevenpunTry para fazer como está escrito agora

Hello mladen ,

Eu já tentei antes, mas não funciona.

É por isso que estou muito confuso.

Espero que você possa me ajudar a ver qual é o problema.

Obrigado .

 
stevenpun:
Hello mladen ,

Eu já tentei antes, mas não funciona.

É por isso que estou muito confuso.

Espero que você possa me ajudar a ver qual é o problema.

Obrigado .

Na versão que você postou você estava comparando constantes (Fastma, Dn_slowma e Up_slowma são períodos que são usados para as médias móveis, não os valores das médias móveis)

Agora é alterado para comparar os valores das médias móveis. Se não é isso que você tem em mente, você tem que mudá-lo, mas não pode comparar valores constantes e esperar que eles vão mudar de barra para barra

Verifique se essas são as condições exatas das médias móveis (na função GetSignalClose()) que você imaginou como condições de saída, mas continue comparando os valores das médias móveis e não os parâmetros dessas médias móveis.

Razão: