[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 321

 
Boneshapper:

Quando escrevo isto, não escrevo Flag=0 diante da condição, porque então será atualizada toda vez antes de uma transação e será sempre 0. Se não especificarmos um valor, por exemplo, apenas int Flag, o programa lhe atribuirá 0, certo?

Eu escrevi o código onde a bandeira está fora da função inicial, não dentro dela. Se você o coloca dentro, é inútil.
 
Roger:

Estranho, o código funciona. Talvez você o tenha colocado no lugar errado?
Eu descobri, o valor da Bandeira foi dado dentro do se, e porque ela estava perdendo na saída dela.eu coloquei a variável tipo estática na Bandeira.tudo agora funciona
 
Roger:

Eu escrevi o código no qual Bandeira está fora da função inicial, não dentro. Se você o coloca dentro, é inútil.

Desculpe, eu escrevi uma resposta, mas não vi sua resposta.
Sim, sim, você está certo. É exatamente o meu erro. Mas a saída era usar Static.

Muito obrigado por tudo.

 

Boa noite!

Você pode me dizer se existe uma função

int start()
{
OrderSend (Symbol(), OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
if (OrderSelect(1001, SELECT_BY_TICKET)== true)
int Ticket = OrderTicket ();
Alert ("Ticket =",Ticket);
OrderClose(Ticket,Loot,Ask,50,R);
}

Eu não entendo bem como usar o parâmetro mágico na função de envio de pedidos para procurar um pedido com este número?

E quando você usa a função

bool OrderSelect( int index, int select)
SELECT_BY_TICKET opção, que índice devemos definir?

 

Para usar um mágico, ele deve primeiro ser montado, como o seu, e depois verificado sua presença quando você for dar a volta

int start()
{
OrderSend (Symbol(), OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
//...
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderMagic()==1001)
{

Alert ("Ticket =",OrderTicket()); 
OrderClose(OrderTicket(),Loot,Ask,50,R); 
}}}
 

Olá a todos!!!

Tenho uma pergunta: é possível acessar o histórico comercial de um Expert Advisor (MQL4)?

Ou seja, que o negócio anterior não era lucrativo e que o anterior era lucrativo, e assim por diante por 10 negócios que entraram para a história?

É necessário para a MM, uma vez que o Expert Advisor tem uma série de negócios lucrativos após um grande comércio de perdas.

Tenho uma idéia: depois de um comércio perdido, comece a aumentar sua posição, por exemplo, em três ou cinco negócios consecutivos e espere pelo próximo

e esperar pelo próximo negócio perdido.

 

Não toque em todos, eles ainda estão dormindo, afinal de contas, é sábado.

O acesso pode ser organizado, procurar em base de código para EAs com a palavra de controle "martingale" (martingale).

 
Tatar:

Olá a todos!!!

Tenho uma pergunta: é possível acessar o histórico comercial de um Expert Advisor (MQL4)?

Ou seja, que o negócio anterior não era lucrativo e que o anterior era lucrativo, e assim por diante por 10 negócios que entraram para a história?

É necessário para a MM, uma vez que o Expert Advisor tem uma série de negócios lucrativos após um grande comércio de perdas.

Tenho uma idéia: depois de um negócio perdido, comece a aumentar sua posição, por exemplo, em três ou cinco negócios consecutivos e espere pelo próximo

um negócio perdido.


É claro que isso é possível. Veja aqui - você pode tomar a base por si mesmo e ajustá-la às suas condições comerciais.

Aqui está um exemplo de organização de posições de acordo com os resultados da última ordem fechada (a mais recente na história da ordem - é assim que está organizada no meu sistema)

//---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
   {   
      if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
      {
         Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
         continue;
      }
   
      if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
      {
         continue;
      }
      
        
   //-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------
if(time<OrderCloseTime())     //(сравниваем его с хранящимся в пероеменной time) 
  {
    time=OrderCloseTime();     //если время закрытия ордера больше - ложим его в переменную
         
         
     
         int lastType = OrderType();
         double lastLots = OrderLots();
         double lastProfit = OrderProfit() + OrderSwap();
         
        // Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));
         
       
         
         // Анализ только что закрывшегося ордера
      
         if (lastProfit >= 0.0)
         {.... Здесь действия, при положительном профите ордера...
 .....
......
......
 
 
artmedia70:

duplo iMA( símbolo de string , int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

Cálculo da média móvel.
Parâmetros:
símbolo - Símbolo nome do símbolo, em cujos dados o indicador será calculado. NULL significa símbolo atual.
cronograma - Período. Pode ser um dos períodos do gráfico. 0 significa o período do gráfico atual.
período - Período de cálculo da média móvel.
ma_shift - Mudança de indicador em relação à tabela de preços.
ma_método - Método de cálculo da média. Pode ser qualquer um dos valores dos métodos de Moving Average.
preço_aplicado - Preço utilizado. Pode ser qualquer uma das constantes de preço.
turno - Índice do valor obtido do buffer de indicadores (deslocamento relativo à barra atual pelo número especificado de períodos de retorno).


Como você vê ma_shift é um número inteiro (número de barras para deslocar a linha МАшки para a direita ou para a esquerda). E +/-0,21% é o dobro, portanto não vai funcionar.

Eu entendo o que você quer?

Você entende tudo corretamente. É só o Rumus (Clube Forex) tem tal possibilidade e este "envelope" é a base do TS "Intraday Conservative Scalping". Eu queria fazer o mesmo com o MT4. Mas como você explicou, não é assim :)

 

Rimlyanin:

Você entende tudo corretamente. É que o Rumus (Clube Forex) tem tal oportunidade e este "envelope" é a base do TS "Conservative Intraday Scalping". Eu queria fazer o mesmo com o MT4. Mas como você explicou, não é o destino :)

Você é mal compreendido.

Se você precisar de um envelope, o MA é deslocado para cima e para baixo.

O MA é um deslocamento para a esquerda, para a direita (como em Alligator).

Razão: