[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 806

 
Dersu:

OBRIGADO por sua atenção, drknn.

Para ser honesto, eu não li seus tópicos - eu apenas olhei para este tópico, vi que ninguém respondeu ao poste repetido, decidi responder... Não tenho tempo para tudo em uma fila - tenho que ser exigente.
 
Configurações de corda externa = "Configurações principais"; //
número externo int MagicNumber = 227 ; //Individual number //.
Lotes duplos externos = 1 ; //min lote mínimo ///.
lucro interno externo = 5000 ; // Take Profit //
Perda externa interna = 10000 ; //Stop Loss //.
Delta int externo = 500 ;
Exterior int int Raznica = 700 ; //Stop Loss;
//--------------------------------------------------------------------------------//
Indicador de corda externa2 = "Bandas" ; //
int int exterior BandsPeriod = 20 ; // //periodo //
deslocamento interno externo de bandas = 0 ; //offset //
Desvios duplos externos = 2,0 ; // //
//--------------------------------------------------------------------------------//
escorregamento interno externo = 5 ; //Slip ///////////////
int tick,tick2,go; // //
//--------------------------------------------------------------------------------//
int start() //
{ /////////////////////////////////
//---------------------------------------------------------------------------------------------------------------//
// Indicador de bandas //
//---------------------------------------------------------------------------------------------------------------//
double verhB=iBand(NULL,0,BandsPeriod,Bands_shift,Desvios,PRICE_CLOSE,MODE_UPPER,0);//calcule o indicador de linha superior///
dupla seredina=iBand(NULL,0,BandsPeriod,Bands_shift,Desvios,PRICE_CLOSE,0,0); //calcule o indicador da linha média//
double nizB=iBand(NULL,0,BandsPeriod,Bands_shift,Desvios,PRICE_CLOSE,MODE_LOWER,0);//calcule o indicador de resultado final///
//---------------------------------------------------------------------------------------------------------------//
cotovelo duplo, tpb,tpb,sls,tps;
double go=(verhB-nizB);
Alerta ("verhB",DoubleToStr(verhB,Dígitos));
Alerta ("nizB ",DoubleToStr(nizB,Dígitos));
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ;
tpb=NormalizarDuplo(Perguntar + (Lucro*Ponto),Dígitos);
sls=NormalizeDouble(Bid + (Perda*Ponto),Dígitos) ;
tps=NormalizeDouble(Bid - (Lucro*Ponto),Dígitos);
if(OrdensTotal()==0)
{
if(go<=Delta/10000)
Alerta("Delta ", DoubleToStr(go,Digits)," está chegando!!!");
tick =OrderSend(Symbol(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE); //enter by/
if(tick<0) Print("Error # - ",GetLastError()));

tick=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE); //entrada está definida //
if(tick<0) Print("Error # - ",GetLastError()));



}

retorno(0);}


Ajude-me a consertar !!!!!!! A questão é que a uma certa distância entre o limite superior e inferior do Bollinger dois pingentes foram colocados em stop buy and sell stop. Não posso definir a diferença porque escreve que o limite superior e inferior do preço do Bollinger é o mesmo .... Por favor, ajude ......

 
não olhe para a função comentários errados
 
zhuki:
Você provavelmente não tem um lote normalizado, normalize-o com ele:
duplo NormalizeDuplo( valor duplo, dígitos int)

Você não pode arredondar muito para os dígitos!!!
 
VOLDEMAR:
não olhe para comentários para funções erradas

preste atenção a

double verhB=iBand(NULL,0,BandsPeriod,Bands_shift,Desvios,PRICE_CLOSE,MODE_UPPER,0);//calcule o indicador de linha superior///

dupla seredina=iBand(NULL,0,BandsPeriod,Bands_shift,Desvios,PRICE_CLOSE,0,0); //calcule o indicador da linha média//

double nizB=iBand(NULL,0,BandsPeriod,Bands_shift,Desvios,PRICE_CLOSE,MODE_LOWER,0);//calcule o indicador de resultado final //

trocá-los

 
Estou fora do tópico! como obter Ponto = 0,00001 (5 dígitos) para alpari por meio do padrão ????
 
ruslanchik:
Estou fora do tópico! como obter Ponto = 0,00001 (5 dígitos) para alpari por meio do padrão ????
double point(string symb){
   double p = 0;        
   int d = 0;
        
   p = MarketInfo(symb, MODE_POINT);    
   d = MarketInfo(symb, MODE_DIGITS);
   if (d == 5 || d == 3) p *= 10;
   return(p);
}
 
OK!
 

Boa tarde

Quem olharia para o código do indicador - ele não escuta de forma alguma as configurações.

Eu não sou bom em código

//---- definições de indicadores
#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 1
#indicador de propriedade_color1 Prata
//---- parâmetros indicadores
externo int FastEMA=12;
SlowEMA=26;
sinal externo interno SinalSMA=9;
//---- buffers indicadores
duplo ind_buffer1[];
duplo ind_buffer2[];
duplo ind_buffer3[];
duplo ind_buffer4[];

//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- 2 buffers adicionais são usados para a contagem.
IndicatorBuffers(4);
//---- definições de desenho
SetIndexStyle(0,DRAW_LINE);
SetIndexDrawBegin(0,SignalSMA);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
///---- 3 mapeamento de buffers indicadores
if(!SetIndexBuffer(0,ind_buffer1) &&
!SetIndexBuffer(1,ind_buffer2) &&
SetIndexBuffer(3,ind_buffer4) &&
SetIndexBuffer(2,ind_buffer3))
Imprimir("não pode definir buffers indicadores!");
//---- nome para DataWindow e subwindow do indicador
IndicatorShortName();
//---- inicialização feita
retorno(0);
}
//+------------------------------------------------------------------+
//| Média Móvel do Oscilador |
//+------------------------------------------------------------------+
int start()
{
limite int;
int counted_bars=IndicatorCounted();
//---- verificar possíveis erros
if(counted_bars<0) return(-1);
//---- última barra contada será recontada
if(counted_bars>0) counted_bars--;
limite=barras_contadas_combarras;
//---- macd contado no primeiro buffer adicional
for(int i=0; i<limit; i++)
ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i);
//---- linha de sinal contada no 2º buffer adicional
for(i=0; i<limit; i++) {
ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,10,0,MODE_SMA,i);
ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i);
}
//---- laço principal
para(i=0; i<limite; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- feito
retorno(0);
}
//+------------------------------------------------------------------+

xtern int FastEMA=12;
externo int SlowEMA=26;
sinalSMA=9; Estas configurações. As mudanças na caixa não levam a nada. A linha indicadora não muda.

O autor matou meu pedido

 
Você provavelmente tem um rascunho ou código incompleto. O indicador é por cabo e nenhuma das variáveis externas é usada no código.