Apenas o preço? Para que serve? E decifrar a palavra "mais próximo" - a quem, o quê ...
Apenas o preço.
Veja.
Temos agora 10 paragens de compra a 100 pips do preço actual.
Temos agora 10 stops de venda a 100 pips do preço actual.
Preciso de mostrar o preço da paragem de compra e da paragem de venda mais próximas relativamente ao preço actual em Impressão.
Tentei fazê-lo, mas não funcionou.
O preço da paragem de compra mais próxima é produzido correctamente, mas o preço da paragem de venda mais próxima é produzido por alguma razão.
Esta funçãom_order.PriceOpen(); mostra sempre o preço de paragem de compra. Embora lhe peça para me dar o preço da paragem de venda após o pedido de paragem de compra.
Isto é feito para mais lógica...
Divido por 2 o preço da paragem de compra mais próxima e o preço da paragem de venda mais próxima.
O Conselheiro Especialista continuará o seu trabalho com base na figura obtida.
A função completa é
//+------------------------------------------------------------------+void TradeMode3()
{
int TotalGridBuyOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
TotalGridBuyOrders++;
Print("Количество buy ордеров grid ",TotalGridBuyOrders);
if(TotalGridBuyOrders>=1)
{
grid_buy_price_memory=m_order.PriceOpen();
Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);
int TotalGridSellOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
TotalGridSellOrders++;
Print("Количество sell ордеров grid ",TotalGridSellOrders);
if(TotalGridSellOrders>=1)
{
grid_sell_price_memory=m_order.PriceOpen();
Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);
}
}
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+void TradeMode3()
{
{
int TotalGridBuyOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
TotalGridBuyOrders++;
Print("Количество buy ордеров grid ",TotalGridBuyOrders);
if(TotalGridBuyOrders>=1)
{
double grid_buy_price_memory=m_order.PriceOpen();
Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);
}
}
{
int TotalGridSellOrders=0;
Print(__FUNCTION__);
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
TotalGridSellOrders++;
Print("Количество sell ордеров grid ",TotalGridSellOrders);
if(TotalGridSellOrders>=1)
{
double grid_sell_price_memory=m_order.PriceOpen();
Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);
}
}
}
//+------------------------------------------------------------------+
Sem alterações. Produz apenas o preço de paragem de compra
Sem alterações. Apresenta apenas o preço de paragem de compra.
Vamos escrever o código primeiro. Começaria por dizer que a função de pesquisa Buy Stop and Sell Stop precisa de passar o preço - caso contrário, como se faz a pesquisa? ...
Além disso, precisamos de esclarecer: "mais próximo" - acima ou abaixo do preço? Ou será apenas a diferença entre o preço fixado e a encomenda pendente?
Vamos escrevê-lo primeiro. Começaria por dizer que a função de pesquisa Buy Stop and Sell Stop precisa de passar o preço - caso contrário, como se faz a pesquisa? ...
É assim que eu o faço.
for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current ordersif(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its propertiesif(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
TotalGridSellOrders++;
A função produz perfeitamente o número actual de paragens de venda.
A seguir, seleccionámos a paragem de venda mais próxima. Pedimos para afixar o seu preço e imprimi-lo
Além disso, precisamos de esclarecer: o "mais próximo" é a parte superior ou inferior do preço? Ou será apenas a diferença entre o preço fixado e a encomenda pendente?
Aqui está o preço da paragem de compra e venda de que preciso
Pode mostrar o código que imprime o preço da paragem de compra e da paragem de venda mais próxima?
Apenas o preço? Para que serve? E decifrar a palavra "mais próximo" - a quem, o quê ...
Apenas o preço? Para que serve? E decifrar a palavra "mais próximo" - a quem, o quê ...
Apenas o preço.
Veja.
Temos agora 10 paragens de compra a 100 pips do preço actual.
Temos agora 10 stops de venda a 100 pips do preço actual.
Preciso de mostrar o preço da paragem de compra e da paragem de venda mais próximas relativamente ao preço actual em Impressão.
Tentei fazê-lo, mas não funcionou.
O preço da paragem de compra mais próxima é produzido correctamente, mas o preço da paragem de venda mais próxima é produzido por alguma razão.
Esta funçãom_order.PriceOpen(); mostra sempre o preço de paragem de compra. Embora lhe peça para me dar o preço da paragem de venda após o pedido de paragem de compra.
Isto é feito para mais lógica...
Divido por 2 o preço da paragem de compra mais próxima e o preço da paragem de venda mais próxima.
O Conselheiro Especialista continuará o seu trabalho com base na figura obtida.
A função completa é
Agora tentei alterar o código.
Sem alterações. Produz apenas o preço de paragem de compra
Agora tentei alterar o código.
Sem alterações. Apresenta apenas o preço de paragem de compra.
Vamos escrever o código primeiro. Começaria por dizer que a função de pesquisa Buy Stop and Sell Stop precisa de passar o preço - caso contrário, como se faz a pesquisa? ...
Além disso, precisamos de esclarecer: "mais próximo" - acima ou abaixo do preço? Ou será apenas a diferença entre o preço fixado e a encomenda pendente?
Vamos escrevê-lo primeiro. Começaria por dizer que a função de pesquisa Buy Stop and Sell Stop precisa de passar o preço - caso contrário, como se faz a pesquisa? ...
É assim que eu o faço.
A função produz perfeitamente o número actual de paragens de venda.
A seguir, seleccionámos a paragem de venda mais próxima. Pedimos para afixar o seu preço e imprimi-lo
Está escrito na ajuda.
A classe COrderInfo
PriceOpen
Obtém o preço da encomenda.
doublePriceOpen()const
Valor devolvido
Encomendar preço aberto.
Nota
A encomenda deve ser pré-seleccionada para acesso usando os métodos Select(por bilhete) ouSelectByIndex(por índice).
O que é que está errado? Seleccionámos a encomenda. O preço da instalação é solicitado.
Ou estou a interpretar mal alguma coisa? Porque é que recebo um preço de paragem de compra se não o faço correctamente?
Além disso, precisamos de esclarecer: o "mais próximo" é a parte superior ou inferior do preço? Ou será apenas a diferença entre o preço fixado e a encomenda pendente?
Aqui está o preço da paragem de compra e venda de que preciso
Aqui está o preço de que preciso Buy Stop and Sell Stop I
Esta função procura a paragem de compra mais próxima acima do preço "preço" e a paragem de venda mais próxima abaixo do preço "preço":
Agora outro problema)
Eu costumava chamar a minha função assim -
Inseriu o seu código e alterou a minha função para
Agora há um erro ao compilar(
Agora outro problema)
Eu costumava chamar a minha função assim -
Inseriu o seu código e alterou a minha função para
Agora há um erro na sua compilação(
Tem de passar um PREÇO para a função, em torno da qual será feita a pesquisa de ordens pendentes.
Para além deste preço, é necessário passar duas variáveis: