Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 838

 
VOLDEMAR:

Não é possível reunir o projeto

Ele continua jurando

De dia eu tenho que obter o índice


ENUM_DAY_OF_WEEK do tipo int.
 
evillive:
ENUM_DAY_OF_WEEK é do tipo int.
Eu tentei tanto int como string e duplo
 
evillive:
Você não pode fazê-lo manualmente, o terminal só desenha estes ícones se você comercializar usando o programa. Alternativamente, você pode copiar o histórico comercial manual para o gráfico e todas as negociações serão marcadas.

E se você modificar a cor de cada ordem aberta desta forma, o comércio será refletido no gráfico?

int i2;  

    for (i2=OrdersTotal()-1; i2>=0; i--){

    if (OrderSelect(i2, SELECT_BY_POS, MODE_TRADES)){

      if (OrderSymbol()==Symbol()){  

       if (OrderType()==OP_SELL){

        c=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),0,Red);

       }

       if (OrderType()==OP_BUY){   

        c=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit(),0,Green);

       }

      }

     }

    }

   }

 

Decidiu exibir o saldo como um indicador ao executar a visualização

Balance=AccountBalance();
double price=iCustom(NULL,0,"AccountBalance",Balance,0,1);

do indicador:

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1  Blue       
//--- input parameters
//--- buffers
extern double       Balance=3;
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);
   SetIndexBuffer(0,ExtMapBuffer1);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int counted_bars=IndicatorCounted(),
   i,limit1;
   limit1=Bars-counted_bars-1;

   for(i=limit1;i>=0;i--)ExtMapBuffer1[i]=Balance;
   
   return(0);
  }
//+------------------------------------------------------------------+

E é chamado com muita freqüência) Faz com que a tela fique branca. A questão é retórica, o que está errado?

 
Forexman77:

Decidiu exibir o saldo como um indicador ao executar a visualização

do indicador:

E é chamado com muita freqüência) Faz com que a tela fique branca. A questão é retórica, o que está errado?

bool balans;

balans de corda_S;

///////////////////////////////////////////////////////////////////////////////////////////////////
balans_S=DoubleToStr(AccountBalance(),2)+""+AccountCurrency();
balans=ObjectCreate("Balance", OBJ_LABEL, 0, 0, 0, 0);
balans=ObjectSetText("Balance",balans_S, 14, "Arial", Orange);
balans=ObjectSet("Balanço", OBJPROP_CORNER, 1);
balans=ObjectSet("Balance", OBJPROP_XDISTANCE, 20);
balans=ObjectSet("Balance", OBJPROP_YDISTANCE, 20);

///////////////////////////////////////////////////////////////////////////////////////////////////

Insira este código em seu Consultor Especialista e a felicidade pode vir até você

 
woin2110:

bool balans;

balans de corda_S;

///////////////////////////////////////////////////////////////////////////////////////////////////
balans_S=DoubleToStr(AccountBalance(),2)+""+AccountCurrency();
balans=ObjectCreate("Balance", OBJ_LABEL, 0, 0, 0, 0);
balans=ObjectSetText("Balance",balans_S, 14, "Arial", Orange);
balans=ObjectSet("Balanço", OBJPROP_CORNER, 1);
balans=ObjectSet("Balance", OBJPROP_XDISTANCE, 20);
balans=ObjectSet("Balance", OBJPROP_YDISTANCE, 20);

///////////////////////////////////////////////////////////////////////////////////////////////////

Insira este código em seu Consultor Especialista e a felicidade pode vir até você

Obrigado. Mas, eu preciso que o saldo seja exibido como uma linha, em toda a seção do gráfico.
 
evillive:
Estranho, funciona para mim. Talvez haja erros no arquivo de registro?

Descobri, salvei por engano o modelo com o nome Debug.tpl com o Expert conectado, então havia uma instrução extra no final do arquivo do modelo:

<expert>
name=ProbaExpert
flags=275
window_num=0
<inputs>
StrPeriod_Direct=
Pips=50
</inputs>
</expert>

Modelo guardado sem especialista, tudo funcionou, obrigado.

 
for(int i=0;i<OrdersHistoryTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {  
         if(OrderType()==OP_SELL)
          {  
           if(OrderStopLoss()>OrderOpenPrice())
            {                     
              if(OrdersTotal() == 0)
              {              
               double SELLprice=Bid;  
               int ticket =OrderSend(Symbol(), OP_SELL,Lot*=2,SELLprice, 3,SELLprice+StopLoss* Point, 0, "", MagicNumber,0, clrNONE);
                 
              }
            }            
          }              
        }
     }     

Por favor, avise-me, quero fazer meu código para aumentar a LOTE em caso de perda comercial, e em caso de lucro LOTE retornou ao volume original!

 

Para exibir o equilíbrio como uma linha na visualização, pegou o código do artigo.

Na EA:

// сохранение последнего значения баланса в гл. переменную
   GlobalVariableSet( "vGrafBalance", AccountBalance() );

No indicador:

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Blue
 
double balance[];
 
int init()
{
    IndicatorShortName( "vGrafBalance" );
    IndicatorDigits( 2 );
 
    SetIndexStyle( 0, DRAW_LINE );
    SetIndexBuffer( 0, balance );
    SetIndexLabel( 0, "Balance" );
}
int start()
{
    balance[0] = GlobalVariableGet( "vGrafBalance" );
    return(0);
}

A linha não aparece. No final, há apenas um valor na última barra, zero no buffer.

 
Forexman77:

Para exibir o equilíbrio como uma linha na visualização, pegou o código do artigo.

Na EA:

No indicador:

A linha não aparece. No final, há apenas um valor na última barra, zero no buffer.

Para exibir em todas as barras, você precisa contar todas as barras, como geralmente é feito nos indicadores.
Razão: