Perhaps you want the terminals with the graphics to send the markup to a web server and the others to receive it and display it on the chart. It's not an easy task, but it's doable
How can I do it or what should I read to learn how to do it? Is the markup automatically sent and accepted by other users or does it need to be uploaded as templates each time?
Илья: How do I do this or what should I read to find out how this can be done? Is the markup automatically sent and accepted by other users or does it need to be uploaded separately each time as templates?
I think you need a small button, and after you've made a marking, press it and send it. On receivers it is the same, if you want to get a markup, then press the second button. Total 2 buttons on the graph, and there is no resource cost to constantly monitor it
////
int CalculateBUYPositions()
{
int total=0;
//ENUM_ORDER_TYPE order_type=ORDER_TYPE_BUY;for(int i=PositionsTotal()-1;i>=0;i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
if(m_position.PositionType()==POSITION_TYPE_BUY)
{
total++;
}
//---return(total);
}
//
Limit orders must be set if there is only one position
The question is not clear. You are confusing orders and positions.
The code you cited, "CalculateBUYPositions()" calculates the number of BUY POINTS.
Re-phrase your question.
On forex, if I have one position I place a limit order and limit orders are activated, the number of positions increases and the EA does not place more Limits.
On forex, if there is one position limit and all limit orders are activated the number of positions increases and no more limit orders are placed. I need, an equal, alternative to the condition, -- "if there is one position" CalculateBUYPositions()==1
On forex if there is one position I place a limit order, limit orders are activated the number of positions increases, no more limiters are placed by the EA.
On forex if there is one position the limit order is activated the number of positions increases and no more limit orders are placed by the EA. I need, an equal, alternative to the condition, -- "if there is one position" CalculateBUYPositions()==1
No, it isn't. To clarify, there is already one position on the current symbol:
On hedge accounts, once the pending order triggers, there will be ONE MORE position
on netting accounts after the pending order triggering
if the pending order was for the current symbol then:
the existing position will increase
an existing position will be decreased
an existing position will roll over
the existing position will reverse
To clarify your question: which account type you are looking for and WHAT you need to track.
Limit orders must be set if there is only one position
How can this condition be changed?
This can be determined by the number of trades or the number of orders involved in the opening and modification of a position. You just need to select the history for the ticket of the position and check the number. If there is a variant that the position has added volume and then was partially closed by an opposite limit order or otherwise, we will need to loop through the trades and count the types of deals as DEAL_ENTRY_IN and/or other types.
Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть в закладке "История" на панели "Инструменты" клиентского терминала. Функция...
Second day remaking the robot from MT4 to MT5. Made setting of pending orders - it works. Help on MqlTradeRequest:
elseif(orderType==ORDER_TYPE_BUY_STOP)
{
request.type =ORDER_TYPE_BUY_STOP; // тип ордера
price =SymbolInfoDouble(Symbol(),SYMBOL_ASK)+offset*point; // цена для открытия
request.price=NormalizeDouble(price,digits); // нормализованная цена открытия
}
elseif(orderType==ORDER_TYPE_SELL_STOP)
{
request.type =ORDER_TYPE_SELL_STOP; // тип ордера
price=SymbolInfoDouble(Symbol(),SYMBOL_ASK)-offset*point; // цена для открытия
request.price =NormalizeDouble(price,digits); // нормализованная цена открытия
}
In both cases Ask - looks like an error. In second case for SELL_STOP it would be better to use Bid ???
Perhaps you want the terminals with the graphics to send the markup to a web server and the others to receive it and display it on the chart. It's not an easy task, but it's doable
How do I do this or what should I read to find out how this can be done? Is the markup automatically sent and accepted by other users or does it need to be uploaded separately each time as templates?
I think you need a small button, and after you've made a marking, press it and send it. On receivers it is the same, if you want to get a markup, then press the second button. Total 2 buttons on the graph, and there is no resource cost to constantly monitor it
How can I limit the placing of orders if there is always one position in the market after activating limit orders?
in forex, I used to check the number of orders - positions
if( CalculateBUYPositions()==1)Limit orders must be set if there is only one position
How can I replace this condition?
How can I limit the placing of orders if there is always one position in the market after activating limit orders?
in forex, I used to check the number of orders - positions
Limit orders must be set if there is only one position
how can we replace this condition?
The question is not clear. You are confusing the orders and the positions.
The code "CalculateBUYPositions()" you cited calculates the number of BUY positions.
Please rephrase your question.
The question is not clear. You are confusing orders and positions.
The code you cited, "CalculateBUYPositions()" calculates the number of BUY POINTS.
Re-phrase your question.
On forex, if I have one position I place a limit order and limit orders are activated, the number of positions increases and the EA does not place more Limits.
On forex, if there is one position limit and all limit orders are activated the number of positions increases and no more limit orders are placed. I need, an equal, alternative to the condition, -- "if there is one position" CalculateBUYPositions()==1
On forex if there is one position I place a limit order, limit orders are activated the number of positions increases, no more limiters are placed by the EA.
On forex if there is one position the limit order is activated the number of positions increases and no more limit orders are placed by the EA. I need, an equal, alternative to the condition, -- "if there is one position" CalculateBUYPositions()==1
No, it isn't. To clarify, there is already one position on the current symbol:
To clarify your question: which account type you are looking for and WHAT you need to track.
How can I limit the placing of orders if there is always one position in the market after activating limit orders?
in forex, I used to check the number of orders - positions
Limit orders must be set if there is only one position
How can this condition be changed?
This can be determined by the number of trades or the number of orders involved in the opening and modification of a position. You just need to select the history for the ticket of the position and check the number. If there is a variant that the position has added volume and then was partially closed by an opposite limit order or otherwise, we will need to loop through the trades and count the types of deals as DEAL_ENTRY_IN and/or other types.
Second day remaking the robot from MT4 to MT5. Made setting of pending orders - it works. Help on MqlTradeRequest:
In both cases Ask - looks like an error. In second case for SELL_STOP it would be better to use Bid ???
Second day remaking the robot from MT4 to MT5. Made setting of pending orders - it works. Help on MqlTradeRequest:
In both cases Ask - looks like an error. In second case, Bid would be better for SELL_STOP.
SELL opens by BID and closes by ASK