Buenos días a todos Tengo la siguiente pregunta, me gustaría pedirles ayuda para aclarar la situación.
El robot netmaker coloca una parrilla de órdenes limitadas ORDER_TYPE_BUY_LIMIT(también ORDER_TYPE_BUY_STOP hacia arriba) al inicio. El paso de rejilla es 1, toma 0,5, y el volumen es 1 lote. El problema es que empiezo a abrir una posición larga una vez (compré a 10 y puse el TP a 10,5) sin tomar la posición, y luego empiezo la segunda vez (compré a 9 y puse el TP a 9,5) y tengo 2 lotes. ¡Entonces el precio empieza a entrar y todo el volumen se lleva a 9,5!
Los pedidos se realizan por la estructura.
MqlTradeRequest request_={0};
request_.action=TRADE_ACTION_PENDING; // установка отложенного ордера
request_.magic=order_magic; // ORDER_MAGIC
request_.symbol=pair; // инструмент
request_.volume=v_b; // объем в 0.1 лот
request_.tp=pr_ent_tp; // Take Profit //--- сформируем тип ордера
request_.type=ORDER_TYPE_BUY_LIMIT; // тип ордера //---сформируем цену для отложенного ордера
request_.price=pr_ent; // цена для открытия //--- отправим торговый приказ MqlTradeResult result_={0};
m_Trade.OrderSend(request_,result_);
Necesito que cada pedido sea en uno de mis tees. Entré a 10 y esperé a un precio de 10,5. Y no todo el volumen en el primer tee.
Buenos días a todos Tengo esta pregunta y necesito su ayuda para aclarar la situación.
El robot netmaker coloca una parrilla de órdenes limitadas ORDER_TYPE_BUY_LIMIT(también ORDER_TYPE_BUY_STOP hacia arriba) al inicio. El paso de rejilla es 1, toma 0,5, y el volumen es 1 lote. El problema es que empiezo a abrir una posición larga una vez (compré a 10 y puse el TP a 10,5) sin tomar la posición, y luego empiezo la segunda vez (compré a 9 y puse el TP a 9,5) y tengo 2 lotes. ¡¡¡Entonces el precio empieza a entrar y se lleva todo el volumen a 9,5!!!
Los pedidos se realizan por la estructura.
Quiero que cada uno saque en sus propios tees. Entré a 10 y esperé al precio de 10,5. Y no todo el volumen en el primer tee.
De nuevo con la misma pregunta, ¿alguien ha implementado este sistema de retirada de fondos para una cuenta deNetting? ¿Quizás haya alguien en el foro que lo haya hecho?
ISL: Vuelvo a preguntar lo mismo, ¿alguien ha implementado un sistema de TPs de este tipo para las cuentas deNetting? ¿Quizás haya alguien en el foro que lo haya hecho?
En el Netting una posición siempre tiene un solo TP. Así que, en particular, las TS de red en las que cada orden de la red tiene un TP diferente no funcionarán como se pretende.
A continuación se muestra un ejemplo de cómo funciona.
// Пример Netting с поддержкой множества однонаправленных позиций (у каждой могут быть свои Magic, SL/TP, Comment, OpenTime и т.д.).// Запустите этот пример на Netting-счете в Тестере с влюченной Визуализацией.#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006#define VIRTUAL_LIMITS_TP_SLIPPAGE // Лимитники и TP исполняются по первой цене акцепта - положительные проскальзывания#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ru/code/22577#include <fxsaber\Virtual\Sync.mqh> // Синхронизатор#define AskSymbolInfoDouble(_Symbol, SYMBOL_ASK)
inputint iAmount = 5; // Количество ордеров в сеткеinputint iOffset = 120; // На каком расстоянии (в пипсах) ставить ордера сеткиinputint iTP = 120; // TakeProfit каждого ордера сетки// Выставляем один раз сетку из Amount ордеров на Offset-расстоянии друг от друга с заданным TP.void System( constint Amount, constint Offset, constint TP )
{
staticbool FirstRun = true;
if (FirstRun)
{
for (int i = 1; i <= Amount; i++)
{
constdouble PriceOpen = Ask - i * Offset * _Point;
constdouble PriceTP = PriceOpen + TP * _Point;
OrderSend(_Symbol, OP_BUYLIMIT, 1, PriceOpen, 0, 0, PriceTP, (string)i); // Выставляем каждый ордер сетки
}
FirstRun = false;
}
}
voidOnTick()
{
staticconstbool Init = VIRTUAL::Select(VIRTUAL::Create()); // Система будет работать в этом виртуальном окруженииstaticconstbool IsVisual = MQLInfoInteger(MQL_VISUAL_MODE);
staticbool FirstRun = true;
VIRTUAL::NewTick(); // Добавили тик в виртуальное торговое окружение
System(iAmount, iOffset, iTP); // Запустили ТС на выбранном торговом окружении (виртуальное)
SYNC::Positions<ISTIME>(); // Синхронизировли реальное торговое окружение с виртуальнымif (IsVisual)
Comment(VIRTUAL::ToString(true)); // Вывели на чарт состояние виртуального торгового окружения (true - вместе с историей торгов)
}
Es una idea muy sencilla. Lanzamos el TS en uno virtual y simplemente lo sincronizamos en el real. No es necesario cambiar la fuente de TP (función Sistema en el ejemplo).
Por la tarde. Quería hacer un archivo mqh donde las matrices calculadas quedaran hasta que cierre el terminal y volver a descargarlas sólo cuando haya un gran desfase de tiempo (3600 en mi caso). Pero si compilo el indicador, el archivo mqh también restablece todas las matrices. ¿Cómo puedo hacerlo, para poder hacer todo con el indicador y compilarlo, pero el archivo mqh no se restablece hasta que se cierra el terminal?
Hola, ¿podría aconsejarme si configuro mi EA para, por ejemplo, 10 pares de divisas?
¿Se puede establecer el número máximo de pares en los que se puede abrir?
En otras palabras, si el asesor se establece en 10 gráficos de diferentes pares y en la configuración se dice que el número máximo de pares - 5.
¿Y el EA funcionará sólo en los primeros 5 pares y los otros 5 pares serán ignorados?
En general, ¿es posible?
Si el código está en formato .mq, entonces es posible. No debe confundirse con .ex
Buenos días a todos
Tengo la siguiente pregunta, me gustaría pedirles ayuda para aclarar la situación.
El robot netmaker coloca una parrilla de órdenes limitadas ORDER_TYPE_BUY_LIMIT(también ORDER_TYPE_BUY_STOP hacia arriba) al inicio. El paso de rejilla es 1, toma 0,5, y el volumen es 1 lote. El problema es que empiezo a abrir una posición larga una vez (compré a 10 y puse el TP a 10,5) sin tomar la posición, y luego empiezo la segunda vez (compré a 9 y puse el TP a 9,5) y tengo 2 lotes. ¡Entonces el precio empieza a entrar y todo el volumen se lleva a 9,5!
Los pedidos se realizan por la estructura.
Necesito que cada pedido sea en uno de mis tees. Entré a 10 y esperé a un precio de 10,5.
Y no todo el volumen en el primer tee.
¿Debo ajustar algo con la estructura?
Buenos días a todos
Tengo esta pregunta y necesito su ayuda para aclarar la situación.
El robot netmaker coloca una parrilla de órdenes limitadas ORDER_TYPE_BUY_LIMIT(también ORDER_TYPE_BUY_STOP hacia arriba) al inicio. El paso de rejilla es 1, toma 0,5, y el volumen es 1 lote. El problema es que empiezo a abrir una posición larga una vez (compré a 10 y puse el TP a 10,5) sin tomar la posición, y luego empiezo la segunda vez (compré a 9 y puse el TP a 9,5) y tengo 2 lotes. ¡¡¡Entonces el precio empieza a entrar y se lleva todo el volumen a 9,5!!!
Los pedidos se realizan por la estructura.
Quiero que cada uno saque en sus propios tees. Entré a 10 y esperé al precio de 10,5.
Y no todo el volumen en el primer tee.
¿Necesitas arreglar algo de la estructura?
Utilice el tipo de cuenta "Hedge", no "Netting".
Para cambiarlo, tienes que volver a hacer el MT y marcar la casilla, Usar cobertura. ¿O puedo cambiar el existente?
Vuelve a hacerlo y marca la casilla...
Vuelvo a preguntar lo mismo, ¿alguien ha implementado un sistema de TPs de este tipo para las cuentas deNetting? ¿Quizás haya alguien en el foro que lo haya hecho?
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bibliotecas: virtuales
fxsaber, 2018.11.15 17:16
En el Netting una posición siempre tiene un solo TP. Así que, en particular, las TS de red en las que cada orden de la red tiene un TP diferente no funcionarán como se pretende.
A continuación se muestra un ejemplo de cómo funciona.
Es una idea muy sencilla. Lanzamos el TS en uno virtual y simplemente lo sincronizamos en el real. No es necesario cambiar la fuente de TP (función Sistema en el ejemplo).
Por la tarde. Quería hacer un archivo mqh donde las matrices calculadas quedaran hasta que cierre el terminal y volver a descargarlas sólo cuando haya un gran desfase de tiempo (3600 en mi caso). Pero si compilo el indicador, el archivo mqh también restablece todas las matrices. ¿Cómo puedo hacerlo, para poder hacer todo con el indicador y compilarlo, pero el archivo mqh no se restablece hasta que se cierra el terminal?