[Arquivo!] Escreverei gratuitamente a qualquer especialista ou indicador. - página 109

 
sammi61:

Se não for um problema, substitua as paradas por limites, meu pedido, e dê uma chance ao seu câmbio, eu tenho tempo para experimentar, eu afixarei o resultado. Meu camcohob@mail.ru agradece antecipadamente. c
OK! Fá-lo-ei amanhã.
 
snail09:
OK! Farei isso amanhã.

Obrigado, ansioso por isso.
 
 

Olá, você pode escrever uma seta com um sinal sonoro ligando os dois cf's?

condições do sinal:

1) em um período de tempo superior (por exemplo n1) AO cruza zero, após o qual a segunda condição é procurada

2) em 2 inferior (por exemplo m5) AO cruza zero na mesma direção (é lógico que antes deve ir na direção oposta, pois no momento em que em n1 AO cruzará zero para cima, em m5 AO já estará acima de zero, ou seja, estou interessado em uma nova travessia após um rollback)

 

Membros do Painel de Mensagens, tenho uma pergunta.

Os gráficos Renko e seu uso já foram discutidos aqui mais de uma vez. Há muito tempo eu tenho usado um Expert Advisor do codebase que constrói as barras Renko corretamente, mas o problema é que ele as desenha um pouco mal na inversão. Olha, ele os desenha assim:

e eu gostaria que houvesse outro bar como este:


Diga-me o que mudar no código. Tanto quanto sei, devemos mudar alguma coisa enquanto se faz loops neste fragmento de código:

bool UpTrend = High[i]+Low[i] > High[i+1]+Low[i+1];
        
            while(UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
 
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
 
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                                                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(High[i] > PrevHigh+BoxPoints || CompareDoubles(High[i], PrevHigh+BoxPoints)) {
                  PrevHigh = PrevHigh + BoxPoints;
                  PrevLow = PrevLow + BoxPoints;
                  PrevOpen = PrevLow;
                  PrevClose = PrevHigh;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
 
                    if(ShowWicks && DnWick < PrevLow) FileWriteDouble(HstHandle, DnWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                                
                FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
                
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevHigh;
                CurLow = PrevHigh;  
                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
        
            while(!UpTrend && (Low[i] < PrevLow-BoxPoints || CompareDoubles(Low[i], PrevLow-BoxPoints))) {
                  PrevHigh = PrevHigh - BoxPoints;
                  PrevLow = PrevLow - BoxPoints;
                  PrevOpen = PrevHigh;
                  PrevClose = PrevLow;
              
                FileWriteInteger(HstHandle, PrevTime, LONG_VALUE);
                FileWriteDouble(HstHandle, PrevOpen, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, PrevLow, DOUBLE_VALUE);
                
                if(ShowWicks && UpWick > PrevHigh) FileWriteDouble(HstHandle, UpWick, DOUBLE_VALUE);
                else FileWriteDouble(HstHandle, PrevHigh, DOUBLE_VALUE);
                
                FileWriteDouble(HstHandle, PrevClose, DOUBLE_VALUE);
                FileWriteDouble(HstHandle, CurVolume, DOUBLE_VALUE);
 
                UpWick = 0;
                DnWick = EMPTY_VALUE;
                CurVolume = 0;
                CurHigh = PrevLow;
                CurLow = PrevLow;  
                                
                if(PrevTime < Time[i]) PrevTime = Time[i];
                else PrevTime++;
            }
 
Olá! Ajude-me a encontrar um simples EA. Coloca uma ordem pendente a uma determinada distância do preço a uma determinada hora com tp e sl. Por exemplo: às 23h55 ele faz um pedido a uma distância de 10 pips do preço atual. Coloca imediatamente tp=10 pips e sl=16 pips. Além disso: se uma ordem não foi acionada, ela é apagada às 24h00; coloca ordens unidirecionais em diferentes lados do preço. Alguém pode escrever, pelo menos para as condições básicas ou me aconselhar onde procurar? Não encontrei nada semelhante na Base de Código. Obrigado antecipadamente por qualquer ajuda.
 
Por favor, ajude-me a mexer nisto. Quero que o indicador dê um sinal sonoro quando houver um sinal para comprar e vender, mas não funciona! Obrigado antecipadamente)

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4
//| Ramdass - Somente conversão
//+------------------------------------------------------------------+
#propriedade copyright "SilverTrend reescrita por CrazyChart"
#link da propriedade "http://viac.ru/"

#janela_do_cartão_indicador de propriedade
#property indicator_buffers 2
#indicador de propriedade_color1 Aqua
#indicador de propriedade_color2 Violeta

//---- parâmetros de entrada
externo int RISK=3;
Externo interno CountBars=350;
bool externo SoundAlert=verdadeiro;
int SSP=9;

//---- buffers
duplo val1[];
duplo val2[];

//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
nome_curto_de_filtro;
//---- linha indicadora
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,233);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1.234);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| SilverTrend_Signal |
//+------------------------------------------------------------------+
int start()
{
se (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+SSP);
SetIndexDrawBegin(1,Bars-CountBars+SSP);
int i,shift,counted_bars=IndicatorCounted();
int i1,i2,K;
faixa dupla,AvgRange,smin,smax,SsMax,SsMin,preço;
bool uptrend,velho;
//----

if(Bars<=SSP+1) return(0);
//---- inicial zero
if(counted_bars<SSP+1)
{
for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;
for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;
}
//----

K=33-RISK;
para (shift = CountBars-SSP; shift>=0; shift--)
{

Faixa = 0;
AvgRange=0;
para (i1=shift; i1<=shift+SSP; i1++)
{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1];
}
Alcance=AvgRange/(SSP+1);

SsMax=Alto[turno]; SsMin=Baixo[turno];
for (i2=shift;i2<=shift+SSP-1;i2++)
{
price=High[i2];
if(SsMax<preço) SsMax=preço;
price=Low[i2];
if(SsMin>=preço) SsMin=preço;
}

smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
se (Fechar[turno]<smin)
{
uptrend = falso;
}
se (Fechar[turno]>smax)
{
uptrend = true;
}
if (uptrend!=old && uptrend===true) {val1[shift]=Low[shift]-Range*0,5;}
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*0,5;}
old=uptrend;
}
retorno(0);
}
//+------------------------------------------------------------------+
SendAlert(string txt) {
se (Tempo[0] != tt) {
se (SoundAlert) {
se (txt == "comprar") Alerta("Tendência Longa " + Símbolo() + ", " + Período());
se (txt == "vender") Alerta("Trend Short " + Símbolo() + ", " + Período());
}
tt = Tempo[0];
}
}
 
Escreverei um EA gratuitamente sobre uma estratégia de indicador interessante sem martingale. ToR em privado ou no e-mail mqlskeptik@yandex.ua
 
Olá a todos, vocês poderiam me ajudar, eu gostaria de fazer um melhor indicador de volume. Para mostrar o quanto é comprado e vendido em uma vela de um volume. E ao pairar sobre o volume, uma janela de dados apareceria. Eu negocio por volume e isso me ajudaria muito. Imagino que seja algo parecido com isto. Obrigado de antemão!
 

Esta linha está sendo fechada porque há muito tempo não cumpre sua função.

Favor escrever para o autor do tópico(https://www.mql5.com/ru/users/kubodel/) o mais rápido possível.

Todos os novos postos serão apagados sem aviso prévio.