Erros, bugs, perguntas - página 619

 
-Alexey-:

Estou actualmente a escrever para o MT4 409 bild a função de nível de paragem mínimo. Para uma ordem de compra, o testador considera correctos os valores mínimos de Bid, e para uma ordem de limite de compra, o testador considera correctos os valores mínimos de Ask. Logicamente, as operações são realizadas - semelhantes à compra. Pergunta - é esta a intenção, ou precisamos de escrever para a CBO?

sempre houve, é e será sempre uma compra da Ask.

Existe alguma prova para além das palavras?

 
-Alexey-:

Agora para o MT4 409 bild a função de contabilizar o nível mínimo de paragem está a ser escrito. Para uma ordem de compra, o testador considera correctos os valores mínimos de Bid e para uma ordem de compra, o testador considera correctos os valores mínimos de Ask. Logicamente, as operações são realizadas - semelhantes à compra. Pergunta - é assim que deve ser ou devo escrevê-lo na CBO?

Faz sentido, em princípio) a paragem desencadeará em Bid, o pendente abre em Ask.

sergeev:

Sempre foi, é e será uma compra da Ask.

Para compras, a distância mínima a percorrer é retirada da oferta, desde que me lembre que sempre foi assim)
 
sergeev:

sempre houve, é e será sempre uma compra da Ask.

Existem outras provas para além das palavras?


A operação comercial em ambos os casos é da ASK, mas o nível de paragem, tanto quanto sei, deve ser contado a partir da BID, pois refere-se a uma operação de venda fechada, que é o que tem lugar no testador para uma ordem de compra. Mas por alguma razão, o LIMIT é calculado a partir da ASK para uma ordem de compra. Exemplo:

bool first_run=true;
int init()
{
   return(0);
}
int deinit()
{
   return(0);
}
int start()
{
   if (first_run==true)
   {
      string _Symbol=Symbol();
      int _Digits=MarketInfo(_Symbol, MODE_DIGITS);
      double Point_size=MarketInfo(_Symbol, MODE_POINT);
      double Min_stop_distanse=MarketInfo(_Symbol, MODE_STOPLEVEL)*Point_size;
      double Min_freeze_distanse=MarketInfo(_Symbol, MODE_FREEZELEVEL)*Point_size;
      double Spread=MarketInfo(_Symbol, MODE_SPREAD)*Point_size;
      Print("Spread="+Spread);
      double _Order_price;
      double _Order_sl;
      double _Order_tp;
      double _Order_lot;
      _Order_lot=MarketInfo(_Symbol, MODE_MINLOT);
      /* highest accepted level for buy limit order */
      double _Upper_bound_for_buy_limit=NormalizeDouble(MarketInfo(_Symbol, MODE_ASK)-Min_stop_distanse, _Digits);
      /* defining orders price */
      _Order_price=_Upper_bound_for_buy_limit; /* ASK */
      _Order_sl=NormalizeDouble(_Order_price-Min_stop_distanse, _Digits); /* ASK-STOPLEVEL */
      _Order_tp=NormalizeDouble(_Order_price+Min_stop_distanse, _Digits); /* ASK+STOPLEVEL */
      /* sending buy limit order */
      OrderSend(_Symbol, OP_BUYLIMIT, _Order_lot, _Order_price, 0, _Order_sl, _Order_tp, NULL, 0, 0, Green);
      first_run=false;
   }
   return(0);
}

Resultado:

2012.01.08 14:39:04 2011.06.03 01:43 teste EURUSD,M1: Espalhamento=0,00020000

2012.01.08 14:39:04 2011.06.03 01:43 teste EURUSD,M1: aberto #1 limite de compra 0.01 EURUSD a 1.4478 sl: 1.4474 tp: 1.4482 ok

 
o código não foi inserido correctamente.
 
Swan:
Para compras, a distância mínima para a sl é retirada da oferta, desde que me lembre que sempre foi assim)

Esclareça primeiro.

Estamos a falar de paragens em ordens de compra ou de ordens de compra pendentes?

 
sergeev:

o código não foi inserido correctamente.
O que fazer agora? :) Destaquei e carreguei no "Código", mas aí está...
 
-Alexey-:
O que é que fazemos agora? :) Acho que sublinhei e carreguei no "código", mas aí está...

pode apagar o correio e tentar novamente normalmente. quer falar sobre isso? ou sobre o seu problema com o nível de paragem?

 
sergeev:

pode apagar o correio e tentar novamente de uma forma normal. quer falar sobre isso? ou sobre o seu problema com o nível de paragem?

Consegui-o com o código. Sobre os níveis de paragem. Devo escrevê-lo na CBO ou é concebido de tal forma que o nível de paragem numa ordem de limite de compra é calculado a partir do preço da ordem ASK. Em caso afirmativo, porque é considerado o oposto na ordem de compra?
 
-Alexey-:
numa ordem de limite de compra, o BID stop/nível é calculado a partir do preço ASK da ordem. Se assim é, porque é considerado o contrário em ordem de compra?


Comecemos com a encomenda. Escola do segundo ano.

А. Nas encomendas, as pessoas calculam o Stop Loss e o Take Profit a partir do seu preço de abertura. É evidente que se quiser 100 pontos, deve fechar em lucro 100 pontos a partir do preço aberto.

Б. A definição de SL/TP/STOP é afectada pelo que é conhecido como nível de paragem. Ou seja, não se pode colocar um stop loss/stackprofit/posição mais próxima do StopLoss do PREÇO DE EXECUÇÃO.

A partir disto, tiramos as seguintes conclusões.

1. Quando abre uma ordem de mercado , deve definir SL/TP considerando o nível de paragem a partir do preço actual a que a paragem é accionada. Para baías, as paragens disparam em Bid, por isso temos em conta o nível de paragem da actual Bid. Isto é SL/TP que normalmente se coloca a partir da abertura da encomenda (porque precisa de 100 pontos), mas não se esqueça de ter em conta a posição da Proposta e o tamanho do nível de paragem.

2. Quando se abre uma ordem Limitada, então, como esperado, a ordem Limitada em si não deve estar mais próxima do nível de paragem a partir do preço a que desencadeia. Ou seja, para uma Buy Stop/ Bail Out, medimos o nível de paragem contra o Ask. Ou seja, faz-se uma ordem de paragem ao preço desejado, mas tendo sempre em conta a distância do nível de paragem do Ask.

Mas preste atenção! Se definir o Stop Loss e Take Profit na ordem , este é medido a partir do preço de abertura da ordem! Não a partir do Ask, mas a partir do preço de abertura da ordem! Os preços actuais não interferem com estas duas encomendas pendentes (SL/TP). São apenas dificultados pela distância até à futura ordem desencadeada. Ou seja, o SL/TP é definido na ordem considerando a distância do nível de paragem em relação ao preço de abertura desta ordem. A licitação/Ask não tem nada a ver com isso.

Lembra-se?

 
sergeev:

Mas preste atenção! não de Asc, mas do preço de abertura da ordem!! Os preços actuais não interferem com estas duas encomendas pendentes (SL/TP). São apenas dificultados pela distância até à futura ordem desencadeada. Ou seja, o SL/TP é definido na ordem considerando a distância do nível de paragem em relação ao preço de abertura desta ordem. A licitação/Ask não tem nada a ver com isso.

Percebeu?

Sim, eu lembro-me, mas não compreendo. É evidente que uma ordem de Limite de Compra pendente é aberta quando o seu nível atinge o preço Ask. Portanto, nesse momento, o preço actual da Proposta está a uma distância inaceitável do SL (também executado na Proposta) medida anteriormente como o preço de greve (isto é, o preço Ask no momento da execução) - Nível Stop. A única coisa com que se pode tentar explicar isto é que não se sabe antecipadamente qual será o preço de execução da Proposta no momento da execução. Se é essa a intenção - ok, é claro, obrigado pelo posto pormenorizado.
Razão: