// Пример 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 - вместе с историей торгов)
}
你好,请你告诉我,如果我把我的EA设置为,例如10个货币对?
你能设定你可以开仓的最大数量的交易吗?
换句话说,如果顾问被设置在10个不同货币对的图表上,并且在设置中说,最大的货币对数量 - 5。
EA只对前5个货币对工作,其他5个货币对将被忽略?
一般来说,有可能?
如果代码是.mq格式的,那么就有可能。不要与.ex混淆
大家好
我有以下问题,我想请你帮忙澄清一下情况。
机器人织网机在启动时放置一格限价单ORDER_TYPE_BUY_LIMIT(也可以是ORDER_TYPE_BUY_STOP往上)。网格步数为1,取0.5,体积为1手。问题是,我开始开了一次多头头寸(我在10点买入,并将TP设置为10.5)而没有持仓,然后我又开始第二次(我在9点买入,并将TP设置为9.5),我有2手。然后价格开始进入,所有的量都被带到了9.5!
订单是按结构下的。
我需要每笔订单都在我自己的一件T恤。我在10点进入,等待10.5的价格。
而不是在第一个发球台的整个音量。
我应该在结构上调整一些东西吗?
大家好
我有这个问题,我需要你的帮助来澄清情况。
机器人织网机在启动时放置一格限价单ORDER_TYPE_BUY_LIMIT(也可以是ORDER_TYPE_BUY_STOP往上)。网格步数为1,取0.5,体积为1手。问题是,我开始开了一次多头头寸(我在10点买入,并将TP设置为10.5)而没有持仓,然后我又开始第二次(我在9点买入,并将TP设置为9.5),我有2手。然后价格开始进场,所有的成交量都在9.5的时候被拿下!!!。
订单是按结构下的。
我希望每个人都能在自己的发球台前出手。我在10点进入,等待10.5的价格。
而不是在第一个发球台的整个音量。
你需要修复一些结构上的问题吗?
使用 "对冲 "账户类型,而不是 "净额结算"。
要改变它,你必须重新进行MT并勾选 "使用对冲"。或者我可以改变现有的吗?
重做,并在方框内打勾......。
我又在问同样的问题,有没有人实施这样的净值 账户的TP系统?也许论坛上有谁做过?
关于交易、自动交易系统和策略测试的论坛
图书馆:虚拟
fxsaber, 2018.11.15 17:16
在净价交易中,一个头寸总是只有一个TP。因此,特别是网状结构的TS,如果网状结构中的每个订单都有不同的TP,就不能按预期的那样工作。
下面是一个关于如何工作的例子。
这是一个非常简单的想法。我们在一个虚拟的环境中启动TS,并在真实的环境中进行简单的同步。你不需要改变TP源(例子中的系统功能)。
下午。我想制作一个mqh文件,计算出的数组会在那里,直到我关闭终端,只有在有很大的时间间隔(在我的例子中是3600)时才重新下载它们。但如果我编译该指标,mqh文件也会重置所有数组。我怎样才能做到,使我可以用指标做所有的事情,并编译它,但mqh文件在终端关闭前不会被重置?