[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 186

 
NTH >> :

Olá.

Por que a parada não é a transferência para posições de compra? para vender tudo está funcionando.

if(OrdensTotal()>0)
{
if(Bid===bubuy||Bid==busell)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
}
retorno(0);
}

originalmente o que é if(Bid===buy|||Bid==busell),....??????? pode dizer.

e provavelmente a seguinte condição deveria ser:

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*número de pontos,OrderTakeProfit(),0,Blue)

 

if(Bid===buy|||Bid==busell)

bubuy duplo é um nível em que a parada da posição de compra é movida para o nível de abertura desta posição.

O busell duplo é o nível para uma posição de venda.

 
NTH >> :

if(Bid===bubuy||Bid==busell)

bubuy duplo é um nível em que a parada da posição de compra é movida para o nível de abertura desta posição.

O busell duplo é um nível para uma posição de venda.

verificar a condição de qualquer maneira.

 

Descobrimos

if(OrderTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if (OrderType()==OP_BUY) if(Bid>=compra) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if(OrderType()==OP_SELLL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Red);
return(0);
}

E outra pergunta, se os dados forem retirados de várias TFs, é necessário que a EA abra todos esses gráficos (em diferentes) quando ela funcionar on-line, ou posso pegar apenas um gráfico e colocar a EA nele? Suponha que a EA trabalhe em EUR/OD, que obtenha dados das estruturas H1 H4 D1 para análise, e que ela (a EA) esteja anexada ao H1, eu preciso abrir em outros gráficos H4 e D1?

 
NTH >> :

Descobrimos

if(OrdensTotal()>0)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderStopLoss()==OrderOpenPrice()) return(0);
if(OrderType()==OP_BUY) if(Bid>=comprar) OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue);
if (OrderType()==OP_SELL) if(Bid<=busell) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Vermelho);
retorno(0);
}

E outra pergunta, se minha EA obtém dados de vários TFs, preciso que todos esses TFs estejam abertos quando a EA trabalha online (em diferentes gráficos) ou posso pegar apenas um gráfico e colocar a EA nele? Suponha que a EA trabalhe em EUR/OD, pegue dados de quadros H1 H4 D1 para análise, e anexado ao H1, ele precisa abrir em outros gráficos H4 e D1?

Não há necessidade de abrir outros gráficos com prazos... A EA calculará todos os dados a partir dos próprios prazos.

 

Olá, você poderia me dizer como consertar o indicador https://www.mql5.com/ru/code/7361.

A questão é que o sinal aparece na barra de corrente, e a cada tique um sinal sonoro soa. Eu gostaria de ter um som após o fechamento do bar, se o sinal não for cancelado.

//+------------------------------------------------------------------+
//| SilverTrend_Signal.mq4                                           |
//| Ramdass - Conversion only                                        |
//+------------------------------------------------------------------+
#property copyright "SilverTrend  rewritten by CrazyChart"
#property link      "http://viac.ru/"
//----
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Aqua
#property indicator_color2 Violet
//---- input parameters
extern int RISK=3;
extern int CountBars=350;
extern int NumberofAlerts=2;
int SSP=9;
int counter=0;
//---- buffers
double val1[];
double val2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,233);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,234);
   SetIndexBuffer(0, val1);
   SetIndexBuffer(1, val2);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| SilverTrend_Signal                                               |
//+------------------------------------------------------------------+
int start()
  {
   if ( CountBars>=Bars) CountBars=Bars;
   SetIndexDrawBegin(0,Bars- CountBars+ SSP);
   SetIndexDrawBegin(1,Bars- CountBars+ SSP);
   int i, shift, counted_bars=IndicatorCounted();
   int i1, i2, K;
   double Range, AvgRange, smin, smax, SsMax, SsMin, price;
   bool uptrend, old;
//----
   if(Bars<= SSP+1) return(0);
//---- initial 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;
   for( shift= CountBars- SSP; shift>=0; shift--)
     {
      Range=0;
      AvgRange=0;
      for( i1= shift; i1<= shift+ SSP; i1++)
        { AvgRange= AvgRange+MathAbs(High[ i1]-Low[ i1]);
        }
      Range= AvgRange/( SSP+1);
//----
      SsMax=High[ shift]; SsMin=Low[ shift];
      for( i2= shift; i2<= shift+ SSP-1; i2++)
        {
         price=High[ i2];
         if( SsMax< price) SsMax= price;
         price=Low[ i2];
         if( SsMin>= price)  SsMin= price;
        }
      smin= SsMin+( SsMax- SsMin)* K/100;
      smax= SsMax-( SsMax- SsMin)* K/100;
      val1[ shift]=0;
      val2[ shift]=0;
      if (Close[ shift]< smin)
        {
         uptrend=false;
        }
      if (Close[ shift]> smax)
        {
         uptrend=true;
        }
      if ( uptrend!= old && uptrend==true)
        {
         val1[ shift]=Low[ shift]- Range*0.5;
         counter=0;
         if ( shift==0 && counter<= NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," BUY");
            counter= counter+1;
           }
        }
      if ( uptrend!= old && uptrend==false)
        {
         counter=0;
         val2[ shift]=High[ shift]+ Range*0.5;
         if ( shift==0 && counter<= NumberofAlerts)
           {
            Alert("Silver Trend ",Period()," ",Symbol()," SELL");
            counter= counter+1;
           }
        }
      Comment( shift);
      old= uptrend;
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
As pessoas que conheceram um especialista Martingail Duas mãos 2,07 exatamente 2,07 ou apenas 2,7 podem não ter escrito corretamente o nome, pois ele é baixado de um site junto com um monte de outros 2 semanas testados e ele fez mais de 100% duas semanas konestno pouco, mas eu não tive tempo de testá-lo mais, pois tive que cultivar a unidade urgentemente. Quem pode se encontrar?
 
Também tenho um pedido para colocar nesta dica lucro, não o recebo, por favor.
Arquivos anexados:
 

Saudações a todos!


Ajude-me a resolver o seguinte problema.

Há um indicador personalizado que desenha sinais no gráfico.

Os sinais são dados com um atraso, que estou tentando determinar para cada sinal e escrever junto a ele no gráfico.

Eu decidi tentar emitir a hora de aparecimento do sinal:

ObjectCreate(StringConcatenate("Text_",IndicatorNumber,"_",i), OBJ_TEXT, 0, "cur_time",short[i] + 0,0020);
ObjectSetText(StringConcatenate("Text_",IndicatorNumber,"_",i), TimeToStr(CurTime(),TIME_SECONDS), 10, "Arial", Lime);

Mas o código não funciona, não consigo ver o tempo.

O que eu estou fazendo de errado?

 

Olá.

Eu baixei com "Quote Archive" as citações em libra/dólar (M1) de 1999 em formato DAT, como posso converter esses dados para testes?

Razão: