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

 
chief2000:

Quando testamos e otimizamos, na maioria das vezes usamos um par de moedas, obtemos um lucro aceitável, e um drawdown. Em seguida, repetimos para outras moedas. Mas no final um consultor especializado terá que negociar todas as moedas que nos interessam a partir de uma conta comercial. Eles dizem que o saque "total" esperado pode ser melhor do que o saque obtido para cada moeda individualmente (eu vi esta opinião várias vezes em algum lugar). Mas pode ser muito pior se vários Expert Advisors entrarem numa maré de derrotas ao mesmo tempo.

Também estou interessado na experiência dos comerciantes sobre este assunto. Gostaria de oferecer um vídeo clip muito interessante da Seaboss

http://taverno.livejournal.com/2010/04/10/ O Gerenciamento de Equidade Total na Seaboss é implementado para a Omega, existem implementações similares para a MT?

 
Boa noite, caros membros do fórum! Contactei à tarde, ninguém respondeu - preciso de um indicador que mostre linhas horárias verticais na janela do terminal, certamente há um já pronto, aconselhe onde obter um?
 
root:
Boa noite, caros membros do fórum! Contactei-os durante o dia, mas ninguém reagiu - preciso de um indicador que mostre linhas horárias verticais na janela do terminal, certamente há um já pronto, poderia me dizer onde obtê-lo?

Não sei onde consegui-lo. Provavelmente a razão pela qual não ouvi nenhuma resposta é que é uma coisa simples escrever tal indicador e ninguém provavelmente vai precisar dele.
 

vik-777:

Ajude-me a resolver este problema

fazer uma amostragem de todas as posições fechadas

para (int i=0; i<OrdersHistoryTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==verdadeiro)

depois filtrar por número mágico

se (OrderMagicNumber()==12)

o filtro corresponde a 3 posições, mas eu preciso apenas da última fechada por um número mágico

Não consigo descobrir como deixar apenas o último?

Obrigado

Alguém pode me ajudar a que ninguém tenha enfrentado
 
vik-777:
Alguém pode me ajudar? Alguém não se deparou com isso?

OrderCloseTime() para ajudar você
 
Figar0:

OrderCloseTime() para ajudar você
E daí? posso usá-lo para encontrar o último pedido fechado e preciso do último pedido fechado com um mágico. me diga como posso comparar vários pedidos usando OrderCloseTime()?
 
vik-777:
E daí? Posso encontrar a última ordem fechada e preciso da última ordem fechada com um mágico, me dizer como fazer uma comparação de várias ordens por OrderCloseTime()?

int LastClose =0;
int LastTicket;
for (int i=0; i<OrdersHistoryTotal(); i++)
{
  if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
  {
    if (OrderMagicNumber()==12)
    {
      if (OrderCloseTime()>LastClose)
      {
        LastClose=OrderCloseTime();
        LastTicket=OrderTicket();
      }
    }
  }
}

if (LastClose>0)
{
  if(OrderSelect(LastTicket, SELECT_BY_TICKET, MODE_HISTORY)==true)
  {
  //// Тра-та-та
  }
}
É muito grosseiro e direto. Pode ser mais bonito e lacônico...
 
Figar0:

Raiz-de-tooty e na testa. Poderia ser mais bonito e sucinto...
Muito obrigado, muito obrigado.
 
Craft:

Também estou interessado na experiência dos comerciantes sobre este assunto. Gostaria de sugerir um vídeo clipe muito interessante da Seaboss

http://taverno.livejournal.com/2010/04/10/ Seaboss implementou a Gestão de Patrimônio para Omega, existem implementações similares para a MT?

Aqui está algo que encontrei (ainda não li, mas parece estar no tópico)

https://www.mql5.com/ru/forum/125825

 

Vopshchem eu tomei a teoria da probabilidade e estatisticamente se a margem da ordem será num raio de 50 pips do preço, então na abertura da ordem com um lucro de 10 pips é mais fácil de alcançar - se houver também uma perda de stop de 10 pips (mesmo o spread não é um problema) o movimento de uma tendência é uma grande coisa ...

Adicionar um stop loss, independentemente do StepStop

//+------------------------------------------------------------------+
//| Volfram.mq4 |
//| Vova-x@list.ru |
//| |
//+------------------------------------------------------------------+
#propriedade copyright "Vova-x@list.ru"
#ligação de propriedade ""
//-----------------------------------------
TakeProfit externo=10;
Int. externo StepStop=45;
Lotes duplos externos=0,01;
bool externo MoneyManagement=true;
Margem Externa InternaPercentagem=10;
//-------------------------------------------
int level_sell_stop;
int level_buy_stop;

//----------------------------------------------------------
init() vazio
{
// int minstop=MarketInfo(Symbol(),MODE_STOPLEVEL);
//Print("levelbuy_stop: "+minstop;)
}
//-----------------------------------------------------------
início nulo()
{
se (!IsTradeAllowed()) retornar;
level_buy_stop=0;
nível_sell_stop=0;
StepingStop();
StepingPendings();
se (TotalBuy ()==0 && TotalBuyStop ()==0) SetBuyStop ();
se (TotalSell()==0 && TotalSellStop()==0) SetSellStop();
Comentário("Level Buy Stop=",level_buy_stop*Point,
"\n", "Level Sell Stop=",level_sell_stop*Point);
}
//---------------------------------------------------------------------------------------------
StepingStop() vazio
{
se (StepStop<1) voltar;
int ask, bid, open, stop, x;
perda dupla;
para (int i=0; i<OrdersTotal(); i++)
{
se (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) quebrar;
se (OrderSymbol()!=Symbol())
se (OrderType()==OP_BUY)
{
bid=MathRound(Bid/Point);
open=MathRound(OrderOpenPrice()/Point);
stop=MathRound(OrderStopLoss()/Point);
x=(bid-open)/StepStop; x--; x*=StepStop;
level_sell_stop=open+x;
se (stop>=abrir+x)
loss=(open+x)*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),loss,OrderTakeProfit(),0,CLR_NONE);
}
se (OrderType()==OP_SELL)
{
ask=MathRound(Perguntar/Pontar);
open=MathRound(OrderOpenPrice()/Point);
stop=MathRound(OrderStopLoss()/Point);
x=(open-ask)/StepStop; x--; x*=StepStop;
level_buy_stop=open-x;
se (stop>>0 && stop<=open-x)
loss=(open-x)*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),loss,OrderTakeProfit(),0,CLR_NONE);
}
}
}
//----------------------------------------------------------------------------
StepingPendings() nulos
{
int ask, bid, open;
o dobro do preço, perda, lucro;
para (int i=0; i<OrdersTotal(); i++)
{
se (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) quebrar;
se (OrderSymbol()!=Symbol())
se (OrderType()==OP_BUYSTOP)
{
se (level_buy_stop==0)
open=MathRound(OrderOpenPrice()/Point);
se (abrir<= nível_buy_stop)
price=level_buy_stop*Point;
perda=preço-PontoStepStop*Point;
lucro=0; se (TakeProfit>0) lucro=preço+TakeProfit*Point;
OrderModify(OrderTicket(),price,loss,profit,0,CLR_NONE);
}
se (OrderType()==OP_SELLSTOP)
{
se (nível_sell_stop==0)
open=MathRound(OrderOpenPrice()/Point);
se (abrir>=nível_sell_stop)
price=nível_sell_stop*Point;
loss=price+StepStop*Point;
lucro=0; se (TakeProfit>0) lucro=preço-PontoTakeProfit*;
OrderModify(OrderTicket(),price,loss,profit,0,CLR_NONE);
}
}
}
//-------------------------------------------------------------------
SetBuyStop() vazio
{
lotes duplos=LotsCounting();
preço duplo = Licitação+StepStop*Point;
perda dupla=preço-PontoStepStop*Point;
lucro duplo=0; se (TakeProfit>0) lucro=preço+TakeProfit*Point;
int ticket=OrderSend(Symbol(),OP_BUYSTOP,lots,price,0,loss,profit"",0,0,CLR_NONE);
if (ticket<1) Print("Set a pending order failed with error #",GetLastError()," ",(GetLastError()));
}

SetSellStop() vazio
{
lotes duplos=LotsCounting();
preço duplo=Ask-StepStop*Point;
perda dupla=preço+PontoStepStop*Point;
lucro duplo=0; se (TakeProfit>0) lucro= preço-PontoTakeProfit*;
int ticket=OrderSend(Symbol(),OP_SELLSTOP,lots,price,0,loss,profit"",0,0,CLR_NONE);
if (ticket<1) Print("Set a pending order failed with error #",GetLastError()," ",(GetLastError()));
}


int TotalBuy()
{
int contagem=0;
para (int i=0; i<OrdersTotal(); i++)
{
se (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) quebrar;
se (OrderSymbol()!=Symbol()) continuar;
se (OrderType()==OP_BUY) contar++;
}
retornar (contar);
}

int TotalBuyStop()
{
int contagem=0;
para (int i=0; i<OrdersTotal(); i++)
{
se (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) quebrar;
se (OrderSymbol()!=Symbol()) continuar;
se (OrderType()==OP_BUYSTOP) contar++;
}
retornar (contar);
}

int TotalSell()
{
int contagem=0;
para (int i=0; i<OrdersTotal(); i++)
{
se (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) quebrar;
se (OrderSymbol()!=Symbol()) continuar;
se (OrderType()==OP_SELL) contar++;
}
retornar (contar);
}

int TotalSellStop()
{
int contagem=0;
para (int i=0; i<OrdersTotal(); i++)
{
se (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) quebrar;
se (OrderSymbol()!=Symbol()) continuar;
se (OrderType()==OP_SELLSTOP) contar++;
}
retornar (contar);
}

dupla Contagem de Lotes()
{
lotes duplos=Lotes;
se (MoneyManagement)
{
double lotsize=MarketInfo(Symbol(),MODE_LOTSIZE);
double freemargin=AccountFreeMargin();
lotes=0; se (tamanho do lote>0) lotes=NormalizarDuplo((MarginPercentual*freemargin/lotsize),1);
}
se (lotes>10) lotes=NormalizarDuplo(lotes,0);
se (lotes<0,01) lotes=0,01;
retorno (lotes);
}


// Fim