eu consegui - quando as posições chegam ao lucro - ao pressionar o botão, mais posições se abrirão na direção de
Não, acontece que quando a linha horizontal funcionava para a venda, o botão comprar funciona para o botão vender e o botão vender não funciona ----- provavelmente o botão de reversão deve ser usado.
Terei que experimentar para ver o que é melhor, mas uma inversão provavelmente ajudaria.
Ao abrir uma posição, a perda de parada é definida imediatamente - mas a rede de arrasto também (é uma linha horizontal amarela), para desativá-la, basta definir 0
inputstring t2="------ Obj:Trailing Line --- "; // Trailing Obj:Lineinputdouble InpStopLoss = 55; // Obj: Stop Loss, in pips (1.00045-1.00055=1 pips) ------------------что бы отключить, ставим 0 !!!!!!inputushort InpObjTrailingStop = 27; // Obj: Trailing Stop (distance from price to object, in pips)inputushort InpObjTrailingStep = 9; // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
mas o stop loss não estará na mesma posição, ele será puxado para cima pelaentrada de rastreamentoushort InpObjTrailingStop = 27;// Objeto: Trailing Stop (distância do preço ao objeto, em pips)
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
Fiz asneira aqui - funciona em demo, mas em real recebeu erro 2019.11.05 15:51:33.103 AVGiS intelligence (GBPUSD,H1) array fora do alcance em 'AVGiS intelligence.mq5' (176,34)
//+------------------------------------------------------------------+//| Calculate optimal lot size |//+------------------------------------------------------------------+double TradeSizeOptimized(void)
{
double price=0.0;
double margin=0.0;
string arr[];
int resize = 0, syTotal = SymbolsTotal(true);
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- select lot sizeif(!SymbolInfoDouble(arr[i],SYMBOL_ASK,price))
return(0.0);
if(!OrderCalcMargin(ORDER_TYPE_BUY,arr[i],1.0,price,margin))
return(0.0);
if(margin<=0.0)
return(0.0);
}
double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
//--- calculate number of losses orders without a breakif(DecreaseFactor>0)
{
//--- select history for accessHistorySelect(0,TimeCurrent());
//---int orders=HistoryDealsTotal(); // total history dealsint losses=0; // number of losses orders without a breakfor(int y=orders-1; y>=0; y--)
{
ulong ticket=HistoryDealGetTicket(y);
if(ticket==0)
{
Print("HistoryDealGetTicket failed, no trade history");
break;
}
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- check symbolif(HistoryDealGetString(ticket,DEAL_SYMBOL)!=arr[i])
continue;
//--- check Expert Magic numberif(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=Magic_Number)
continue;
//--- check profitdouble profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
if(profit>0.0)
break;
if(profit<0.0)
losses++;
}
}
//---if(losses>1)
lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
for(int i = 0; i < syTotal; i++)
{
string name = SymbolName(i, true);
if(SymbolInfoInteger(name, SYMBOL_VISIBLE))
{
resize = ArrayResize(arr, i+1);
arr[i] = name;
}
//--- normalize and check limitsdouble stepvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_STEP);
lot=stepvol*NormalizeDouble(lot/stepvol,0);
double minvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_MIN);
if(lot<minvol)
lot=minvol;
double maxvol=SymbolInfoDouble(arr[i],SYMBOL_VOLUME_MAX);
if(lot>maxvol)
lot=maxvol;
}
//--- return trading volumereturn(lot);
}
//+------------------------------------------------------------------+
2ª possibilidade: a linha 7 abrirá uma linha 10 a uma determinada distância que se move atrás do preço e, quando o preço tocar nela, um comando acionará. a linha 8 abrirá uma linha 9 a uma determinada distância, - a mesma ação que com 7 e 10.
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
1 possibilidade : a linha 1 abrirá a linha 4 a uma determinada distância, a linha 2 abrirá a linha 3 a uma determinada distância.
2 possibilidades: a linha 7 abrirá uma linha 10 a uma determinada distância que se move atrás do preço e, quando o preço lhe tocar, um comando acionará. a linha 8 abrirá uma linha 9 a uma determinada distância, - a mesma ação que para 7 e 10.
tentou como funciona
você poderia ter mudado nas configurações daquela linha - teria aberto uma venda
1 possibilidade : a linha 1 abrirá a linha 4 a uma determinada distância, a linha 2 abrirá a linha 3 a uma determinada distância.
2ª possibilidade: a linha 7 abrirá uma linha 10 a uma determinada distância, que se move atrás do preço e, quando o preço lhe tocar, um comando desencadeará. a linha 8 abrirá uma linha 9 a uma determinada distância, - a mesma ação que para 7 e 10.
na primeira possibilidade, as linhas 4 e 3 se abrirão a uma determinada distância, até o infinito
#propriedade versão "1.07"
Mudou a cor dos botões.
Eu não uso botões - apenas como um painel informativo
#propriedade versão "1.07"
Mudou a cor dos botões.
botões não são usados - apenas como uma barra de informação
e outra cor
me diga quem é o autor deste código -(ou originalmente eu baixei outro código do link que você me deuSpeed-v1.mq548 kb)
porque é assim
é ele?
eu consegui - quando as posições chegam ao lucro - ao pressionar o botão, mais posições se abrirão na direção de
Não, acontece que quando a linha horizontal funcionava para a venda, o botão comprar funciona para o botão vender e o botão vender não funciona ----- provavelmente o botão de reversão deve ser usado.
Terei que experimentar para ver o que é melhor, mas uma inversão provavelmente ajudaria.
#propriedade versão "1.08
adicionou um botão de reversão.
e, nas configurações, mudou o local
configuração dos botões
Ao abrir uma posição, a perda de parada é definida imediatamente - mas a rede de arrasto também (é uma linha horizontal amarela), para desativá-la, basta definir 0
mas o stop loss não estará na mesma posição, ele será puxado para cima pelaentrada de rastreamento ushort InpObjTrailingStop = 27;// Objeto: Trailing Stop (distância do preço ao objeto, em pips)
----------------------------------------------------------------
Não entendo como funcionam estes botões.
#propriedade versão "1.09
Adicionado outro botão - apaga todas as posições abertas para todos os pares.
Deleta o Expert Advisor e muda o modelo do gráfico
#propriedade versão "1.10"
adicionado, esconder botões.
Fiz asneira aqui - funciona em demo, mas em real recebeu erro 2019.11.05 15:51:33.103 AVGiS intelligence (GBPUSD,H1) array fora do alcance em 'AVGiS intelligence.mq5' (176,34)
aqui está um especialista em trabalho
Adicionados ao Expert anterior, dois métodos para a linha Horizontal.
1 possibilidade : a linha 1 abrirá a linha 4 a uma determinada distância, a linha 2 abrirá a linha 3a uma determinada distância.
2ª possibilidade: a linha 7 abrirá uma linha 10 a uma determinada distância que se move atrás do preço e, quando o preço tocar nela, um comando acionará. a linha 8 abrirá uma linha 9 a uma determinada distância, - a mesma ação que com 7 e 10.
Adicionados ao Expert anterior, dois métodos para a linha Horizontal.
1 possibilidade : a linha 1 abrirá a linha 4 a uma determinada distância, a linha 2 abrirá a linha 3 a uma determinada distância.
2 possibilidades: a linha 7 abrirá uma linha 10 a uma determinada distância que se move atrás do preço e, quando o preço lhe tocar, um comando acionará. a linha 8 abrirá uma linha 9 a uma determinada distância, - a mesma ação que para 7 e 10.
tentou como funciona
você poderia ter mudado nas configurações daquela linha - teria aberto uma venda
Adicionados ao Expert anterior, dois métodos para a linha Horizontal.
1 possibilidade : a linha 1 abrirá a linha 4 a uma determinada distância, a linha 2 abrirá a linha 3 a uma determinada distância.
2ª possibilidade: a linha 7 abrirá uma linha 10 a uma determinada distância, que se move atrás do preço e, quando o preço lhe tocar, um comando desencadeará. a linha 8 abrirá uma linha 9 a uma determinada distância, - a mesma ação que para 7 e 10.
na primeira possibilidade, as linhas 4 e 3 se abrirão a uma determinada distância, até o infinito