//---Поиск последнего отработавшего ордера для открытия очередной позиции ---for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
{
if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
{
Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
continue;
}
if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
{
continue;
}
//-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------if(time<OrderCloseTime()) //(сравниваем его с хранящимся в пероеменной time)
{
time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменнуюint lastType = OrderType();
double lastLots = OrderLots();
double lastProfit = OrderProfit() + OrderSwap();
// Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));// Анализ только что закрывшегося ордераif (lastProfit >= 0.0)
{.... Здесь действия, при положительном профите ордера...
.....
......
......
当我写这个的时候,我没有在条件前面写Flag=0,因为这样它就会在每次交易前被更新,并且永远是0。如果我们不指定一个值,比如只有int Flag,程序会把它赋值为0,对吗?
我给你写的代码中,Flag在start函数之外,而不是在它里面。如果你把它放在里面,它就没有用了。
奇怪,这段代码是有效的。也许你把它放在了错误的地方?
我给你写的代码中,Flag在启动函数之外,而不是在里面。如果你把它放在里面,它是没有用的。
对不起,我写了一个答复,但我没有看到你的回答。
是的,是的,你是对的,这正是我的错误。 但出路是使用Static。
非常感谢你所做的一切。
晚安!
你能告诉我是否有一个函数
int start()
{
OrderSend (Symbol(, OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
if (OrderSelect(1001, SELECT_BY_TICKET)== true)
int Ticket = OrderTicket ();
Alert ("Ticket =", Ticket);
OrderClose(Ticket, Loot, Ask, 50, R);
}
我不太明白如何在ordersend函数 中使用魔法参数来搜索有这个数字的订单?
而当你使用函数
要使用魔术师,必须首先设置好,就像你的一样,然后在你巡视时检查它是否存在。
大家好!!!。
我有一个问题:是否可以从专家顾问(MQL4)访问交易历史?
也就是说,前一笔交易是无利可图的,而前一笔交易是有利可图的,以此类推,10笔交易深入历史?
这对MM来说是必要的,因为专家顾问在一次大的亏损交易后有一系列的盈利交易。
我有一个想法:在一次失败的交易后,开始增加你的头寸,例如,在三或五次连续的交易中,等待下一个
并等待下一次失败的交易。
不要碰所有人,他们还在睡觉,毕竟今天是星期六。
可以组织访问,在代码库中寻找带有控制词 "martingale"(马丁格尔)的EA。
大家好!!!。
我有一个问题:是否可以从专家顾问(MQL4)访问交易历史?
也就是说,前一笔交易是无利可图的,而前一笔交易是有利可图的,以此类推,10笔交易深入历史?
这对MM来说是必要的,因为专家顾问在一次大的亏损交易后有一系列的盈利交易。
我有一个想法:在一次失败的交易后,开始增加你的头寸,例如,在三或五次连续的交易中,等待下一个
一个失败的交易。
当然这是有可能的。看这里--你可以根据你的交易条件,为自己取舍基础,并调整它。
下面是一个根据最后一个平仓订单的结果组织头寸的例子(订单历史中最新鲜的一个--在我的系统中就是这样组织的)。
double iMA( string symbol,int timeframe,int period,int ma_shift,int ma_method, int applied_price,int shift)
移动平均线的计算。正如你所看到的ma_shift是 一个整数(将МАшки线向右或向左移动的条数)。而+/-0.21%是双倍 的,所以它将不会起作用。
我明白你想要什么吗?
你对一切都理解得很正确。只是Rumus(外汇俱乐部)有这样的可能性,这个 "信封 "是TS "日内保守剥头 "的基础。我想用MT4做同样的事情。但正如你所解释的那样,并非如此 :)
Rimlyanin:
你对一切都理解得很正确。只是Rumus(外汇俱乐部)有这样一个机会,这个 "信封 "是TS "保守日内交易 "的基础。我想用MT4做同样的事情。但正如你所解释的,这不是命运。)
你被误解了。
如果你需要一个信封,MA就会向上和向下移动。
MA是一种向左、向右的转变(如Alligator)。