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

 

por que não vender entrada?

condições de entrada

f2=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,1);
if (f2>0) // buy

{

Opn_B=true; // Критерий откр. Buy
}

if (f2<0) // sell

{

Opn_S=true; // Критерий откр. Sell }

se você definir

rsi >50 comprar

rsi<50 venda

funciona como deveria, portanto há tanto a venda como a compra

 
Dimka-novitsek:
O Expert Advisor começou a trabalhar quando eu removi as paradas a 20 pips de distância do preço, não mais perto!!! Estava se perguntando de onde vem o erro 130, do servidor da corretora?

Sim, servidores... O tamanho fixo é bom, mas é melhor olhar para o MarketInfo, ele só tem o nível de paradas no momento, ele pode mudar. https://docs.mql4.com/ru/constants/marketinfo

MODE_STOPLEVEL14Nível mínimo de stop loss/stake profit em pips
 
Vou me lembrar disso! (provavelmente)
 

Pessoal, por favor, digam-me .... O problema é que eu tenho 5 casas decimais no terminal e 5 negócios abertos em um par, uso um laço para fechar todas as ordens

O problema é que este loop fecha os pedidos a preços diferentes! Se eu tiver 5 pedidos, então apenas 3 ou 2 deles são fechados a um preço e os outros a preços diferentes ... Como fazer todos os pedidos fecharem por um preço?????

if (сумма по профиту всех сделок >= заданная сумма)

{

for (цикл перебора ордеров)

{

if (проверка на символ)

{

if (ордертип==бай)

{

закрыть ордера по БИД цене 

} 

if (ордертип==сел)

{

закрыть ордера по Аск цене 

}  

} 

} 

} 
 
SeALALex:

Muito obrigado, eu lhe disse que estou apenas aprendendo, posso fazer uma pergunta Muito Inicial - para que propósito? porque constrói os pedidos corretamente, não entendo que princípio abre um pedido com tal tamanho de lote?

Um dicionário responderá à sua pergunta. E você já se debruçou sobre o código? Por quanto tempo? Se for seu código, não vai demorar muito tempo para entender o significado das 10 linhas adicionadas.


vilard:

por que não há um login de venda?

condições de entrada

f2=iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,1);
if (f2>0) // buy

{

Opn_B=true; // Критерий откр. Buy
}

if (f2<0) // sell

{

Opn_B=true; // Критерий откр. Buy
}

se você definir

rsi >50 comprar

rsi<50 venda

funciona como deveria, portanto há tanto a venda como a compra

Onde você vê a SELL? :((


VOLDEMAR:

Pessoal, por favor, digam-me .... tenho um problema com 5 casas decimais no terminal do meu cliente. 5 negócios abrem em um par e eu uso um loop para fechar todos os pedidos

O problema é que este loop fecha os pedidos a preços diferentes! Se eu tiver 5 pedidos, então apenas 3 ou 2 deles são fechados a um preço e os outros a preços diferentes ... Como fazer todos os pedidos fecharem por um preço?????

Leva tempo para fechar um pedido. Durante este tempo, o preço pode mudar facilmente. A resposta é óbvia.


Pessoas, uma pergunta:

Há um terminal rodando em dois computadores com a mesma conta. Suponha que, se você tentar fechar duas ordens diferentes de computadores diferentes ao mesmo tempo, qual será a reação do terminal? :)) "Negociando então ocupado"?

Embora me pareça o mesmo se você abrir dois terminais em um computador e se conectar a uma conta, mas não pode fechar os pedidos de forma síncrona...

 

Peço desculpas se repito a pergunta, pois não a encontrei na história do fio.

Preciso que o Consultor Especialista registre os dados de lucro do pedido o tempo todo.

Seria melhor em uma mesa.

Para começar, aqui está o código:

int h=FileOpen("test.txt",FILE_BIN|FILE_WRITE);
   for (int j=0; j<OrdersTotal(); j++)         // По всем ордерам
  {
   if(OrderSelect(j,SELECT_BY_POS)==true)  // Если есть следующ.
     {                                     
      double ТР =    OrderTakeProfit();     // TakeProfit ордера
      double Profit= OrderProfit();         // Прибыль по ордеру
      double Lots  = OrderLots();           // Количество лотов
      //......Использование значений ТР и Profit в программе..... 
      FileWriteInteger(h,Profit,LONG_VALUE);
      FileWrite(h,"\n");
      FileClose(h);
     }
  }     
Вопрос, а где создать файл? как лучше это все реализовать?
 
Max7, estou interessado em saber por que o indicador não funciona como deveria, aqueles cruzando "0", repito mais uma vez, que com o critério rsi<>50 todos funcionam bem!
 
nuan:

Peço desculpas se repito a pergunta, pois não a encontrei na história do tema.

Preciso dele para registrar os dados de lucro do pedido o tempo todo.

Seria melhor em uma mesa.

Para começar, aqui está o código:

Crie um arquivo antes de querer escrever qualquer coisa nele.

Feche o arquivo depois que tudo estiver escrito nele.

Em seu caso as funções init() e deinit() funcionarão.


vilard:
Max7, estou interessado em saber porque o indicador não funciona como deveria, aqueles que cruzando "0", repito mais uma vez que com o critério rsi<>50 tudo funciona bem!

Max7... Engraçado! DD


O indicador do Índice de Força funciona bem. É melhor você verificar seu código escrito antes.

 
Já estive lá, você pode me dar um exemplo ou uma função?
 
nuan:
Já estive lá, você pode me dar um exemplo ou uma função?

Sim, eu não li sua pergunta com atenção! :)) A resposta está acima...

De acordo com seu código, o arquivo será criado uma vez, mas será fechado tantas vezes quanto o número de pedidos que o laço encontrar.

E se este código estiver na função start(), então este problema acontecerá a cada tiquetaque! E toda vez depois que FileOpen for executado, seu arquivo será limpo...

Você também faria bem em escrever OrderSymbol(), OrderTicket(), OrderType() e outras informações opcionais para o arquivo. Caso contrário, como vocês podem distinguir OrderProfit() um do outro? Para este fim, seria melhor entrar em um arquivo na forma de uma tabela(FILE_CSV), que é facilmente aberta em Excel.

Razão: