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

 
Top2n:
Talvez alguém tenha um código loca escrito, por favor, envie-o para mim. Eu ficaria grato a você!
Já lhe respondi pessoalmente que é a mesma pose de abertura, mas na direção oposta. E o volume da pose veja por si mesmo, com base em sua lógica.
 
Eu o fiz com o pendente, mas há um bug, quanto mais frequentemente ele abre neste lugar, mais longe da ordem em que se torna. ele precisa estar sem cobertura e bem no local, mas não posso escrever as condições sob quais circunstâncias ele abrirá!
 
Top2n:
Fi-lo com um pendente, mas há um problema: quanto mais frequentemente abre neste lugar, mais longe da ordem em que se torna. Preciso que fique sem tampa e bem no local, mas não posso escrever as condições sob quais circunstâncias deve abrir!

Se você mesmo não pode decidir sobre as condições de abertura, como posso ajudá-lo?

Você tem que tentar de alguma forma formalizar o que quer fazer.

 
A ordem oposta deve abrir em um determinado ponto, e se estiver fechada, deve abrir novamente no mesmo ponto, se o preço descer até ele, é claro.
 
Top2n:
A ordem oposta deve abrir em um determinado ponto e, se tiver fechado, abrirá novamente neste ponto, se o preço tiver descido para ele. Acho que sim

Honestamente... É mais uma espécie de TOR de um cliente notório, do qual há muitos, do que a lógica do programador :)

1. Você precisa de uma ordem pendente ou abrir uma posição oposta se a posição atual atingir uma certa quantidade de pontos de perda?

2. Se for uma ordem oposta, e o preço a tocou, então será transformada em uma ordem de mercado, daí

2.1. Se uma posição de mercado tiver fechado (com prejuízo? com lucro?), a mesma ordem será colocada novamente ao mesmo preço? (seu tipo dependerá do preço atual)

2.2 Se uma ordem pendente for acionada, devo colocá-la novamente?

2.3

2.4.

.... Há um milhão a mais de perguntas a fazer. Não nos deixe apertar o pescoço para obter informações sobre o que você está procurando, hein?

Escreva a lógica do que você quer fazer. Essa é a primeira coisa. Você pode escrevê-lo em um pedaço de papel e um lápis.

E então você pode decidir como colocar tudo isso em código.

 

Estou interessado em trabalhar com volumes. há arquivos em formato .csv . procurei, na pasta do servidor comercial há arquivos em formato .hst

qual deve ser o formato dos arquivos csv e como devo convertê-los para . hst ?

 

Na verdade é mais simples do que isso, me parece.

1. Pedido de baía aberta, se o preço cair em 10 pips então abrimos a venda,

2.se a venda é fechada pelo SL, o preço começa a funcionar com a baía, se o preço desce novamente para menos 10 pips, venda aberta novamente

Se o sll for fechado pela TP, então minha EA fará tudo certo.

Eu tenho uma pergunta sobre como colocar uma condição:

1. Pedido de baía aberta, se o preço descer 10 pips, então abrir venda

2.se a venda é fechada pelo SL, o preço começa a trabalhar com a baía, se o preço desce novamente para menos 10 pips, então abra a venda novamente

 

Por favor, desculpe-me se estou lhe distraindo com uma pergunta provavelmente estúpida.

Comecei agora a aprender isto e não tenho ninguém a quem pedir conselhos.

Eu li o manual algumas vezes. Iniciei um Expert Advisor com as funções mais simples, com ordens pendentes.

Ainda não entendo o que tenho que fazer para abrir pedidos uma vez, e não a cada tiquetaque.

//+------------------------------------------------------------------+
//| my.mq4 |
//| serjik |
//| |
//+------------------------------------------------------------------+
#propriedade "serjik" direitos autorais


//---- variáveis externas
Lotes duplos externos=0,1; // tamanho do lote
externo int StopLoss=0; // stop loss
Exterior int TakeProfit=10; // lucro
Distância interna externa DistanceSet=10; // distância do mercado de pedidos
escorregamento externo int int Slippage=3; // escorregamento de preço
//---- variáveisglobais

//+------------------------------------------------------------------+
//| função de iniciação de especialista |
//+------------------------------------------------------------------+
int init()
{
//----

//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização de especialistas |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{

double ldStop=0, ldTake=0;
duplo pAsk=Ask+DistanceSet*Point;
duplo pBid=Bid-DistanceSet*Point;

if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

if (StopLoss!=0) ldStop=pBid+StopLoss*Point; //
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| Configuração do pedido |
//| Parâmetros: |
//| op - operação |
//| pp - preço |
//| ldStop - nível de parada |
//| ldTake - take level |
//+------------------------------------------------------------------+
SetOrder nulo(int op, double pp, double ldStop, double ldTake)
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake);


retorno(0);
}
//+------------------------------------------------------------------+



Posso já tê-lo visto neste fórum, mas não tenho energia suficiente para relê-lo.

Se alguém me ajudar, MUITO OBRIGADO!

 
Top2n:

Na verdade é mais simples do que isso, me parece.

1. Pedido de baía aberta, se o preço cair em 10 pips então abrimos a venda,

2.se a venda é fechada pelo SL, o preço começa a funcionar com a baía, se o preço desce novamente para menos 10 pips, venda aberta novamente

Se o sll for fechado pela TP, então minha EA fará tudo certo.

Eu tenho uma pergunta sobre como colocar uma condição:

1. Pedido de baía aberta, se o preço descer 10 pips, então abrir venda

2.se a venda é fechada pelo SL, o preço começa a trabalhar com a baía, se o preço desce novamente para menos 10 pips, então abra a venda novamente

Em cada tick, verifique o lucro das posições abertas e se for menor ou igual a 10 pips, então faça o que você precisa fazer em seguida
 
serjik77:

Por favor, desculpe-me se estou lhe distraindo com uma pergunta provavelmente estúpida.

Comecei agora a aprender isto e não tenho ninguém a quem pedir conselhos.

Eu li o manual algumas vezes. Iniciei um Expert Advisor com as funções mais simples, com ordens pendentes.

Ainda não entendo o que tenho que fazer para abrir pedidos uma vez, e não a cada tiquetaque.

//+------------------------------------------------------------------+
//| my.mq4 |
//| serjik |
//| |
//+------------------------------------------------------------------+
#propriedade "serjik" direitos autorais


//---- variáveis externas
Lotes duplos externos=0,1; // tamanho do lote
externo int StopLoss=0; // stop loss
Exterior int TakeProfit=10; // lucro
Distância interna externa DistanceSet=10; // distância do mercado de pedidos
escorregamento externo int int Slippage=3; // escorregamento de preço
//---- variáveisglobais

//+------------------------------------------------------------------+
//| função de iniciação de especialista |
//+------------------------------------------------------------------+
int init()
{
//----

//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização de especialistas |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{

double ldStop=0, ldTake=0;
duplo pAsk=Ask+DistanceSet*Point;
duplo pBid=Bid-DistanceSet*Point;

if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

if (StopLoss!=0) ldStop=pBid+StopLoss*Point; //
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
///| Estabelecimento do pedido |
//| Parâmetros: |
//| op - operação |
//| pp - preço |
//| ldStop - nível de parada |
//| ldTake - take level |
//+------------------------------------------------------------------+
SetOrder nulo(int op, double pp, double ldStop, double ldTake)
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake);


retorno(0);
}
//+------------------------------------------------------------------+



Posso já tê-lo visto neste fórum, mas não tenho energia suficiente para relê-lo.

Se alguém me ajudar, MUITO OBRIGADO!

Antes de fazer um pedido, é preciso verificar primeiro se o pedido já está lá... Se ainda não está lá, então deve ser colocado, e se estiver, então não o faça...
Razão: