RefreshRates();// Это обязательно ДО OrderSelect() и лучше в таком виде: while (!RefreshRates()) ;for(int i=OrdersTotal()-1; i>=0; i--)
if (! OrderSelect(i,SELECT_BY_POS)) continue;
Ticket=OrderTicket();
Lot =OrderLots();
// Сообщение о попытке следует выдавать ДО ее осуществления, т.к. попытка может что-то изменить
Alert ("Попытка закрыть Buy Ticket=",Ticket, " Lot=",Lot); // Кажется Alert в тестере бестолкова, попробуйте Print
Ans=OrderClose(Ticket,Lot,OrderClosePrice() ... );
}
Rustam Bikbulatov: Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?
它可以。
只有在测试器中,它不工作。
intOrderSend(
stringsymbol, // символint cmd, // торговая операцияdouble volume, // количество лотовdouble price, // ценаint slippage, // проскальзываниеdouble stoploss, // stop lossdouble takeprofit, // take profitstring comment=NULL, // комментарийint magic=0, // идентификаторdatetime expiration=0, // срок истечения ордераcolor arrow_color=clrNONE// цвет
);
啊。因为我也在工作,所以凭记忆写的。尝试:和票据与订单关闭报告中的比较。在测试器中,似乎是0、1、2、3,....。
我想学习如何制作一个EA。 也许市场会发生变化,我将不得不付出更多,例如,改变一下算法?
我不知道我是否真的能在任何猫头鹰构造器中做一个TS,但我更想了解基本的功能,比如在某个地方做一个止损,或者在某些日子下单交易。
我不知道在构造函数中1,2,3等该怎么做,为什么要用箭头把所有东西按这个顺序连接起来。 谁能提供从A到Z的mql 4培训,而不是像互联网大侠们那样,创造了一些课程,但没有详细解释为什么会这样,换句话说,你不会自己做出什么新东西,你只是要复制他们的代码....。我的意思是,他们知道什么订单负责什么,他们并没有随意点.....,好吧,让专业人士去做金字塔、动态手数、智能止损;我的任务是不同的--下载所需的过滤器,了解趋势形成的本质。谢谢你的帮助!
你只需要文件,这些文件是可以得到的,你需要能够阅读并理解你所阅读的内容。如果你从第一遍开始就没有成功地理解它,那就多读几遍,最好是以较慢的速度读,这样你的大脑就有时间来认识你所读的内容的意义。
而在这之后,想象力就可以自由发挥了。
我想根据条件开一个订单打开文档中的 "交易功能 "部分,找到打开订单的函数,按照语法编写...
哦,是的...你必须满足条件......打开 "操作符 "部分,阅读"有条件的if-else语句"并写出必要的条件。
当这一切完成后,你从头到尾阅读文档,弄清楚语言中的内容,你能得到什么。
编写了一个函数,允许在1天内不超过n个订单开仓。
现在,该功能正在耗尽存款--即在每个tick上打开订单。
我在哪里又搞砸了?)
int OrderMax = 3; // 1天内可开出的最大订单数。
空白的OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
如果(DayOfWeek() == i)
{
int count_max = 0。
如果(count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++;
}
}
}
}
}
又是我:)
我写了一个函数,允许在1天内开出不超过n个订单。
现在这个功能失去了存款,也就是说,每一个tick都有订单。
我在哪里又搞砸了?)
int OrderMax = 3; // 1天内可开出的最大订单数。
空白的OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
如果(DayOfWeek() == i)
{
int count_max = 0。
如果(count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
如果(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_BUY)
count_max++;
}
}
}
}
}
在我看来,这种做法根本就不符合逻辑。为什么要定义星期几?如果条件是 "今天不要开出超过xxx的订单",那么今天是什么日子有什么区别呢?
对我来说,计算今天开的订单并在条件中放置一个适当的条件似乎更合理。
错过了订单开放日期的定义。Rustam Bikbulatov:
Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?
只有在测试器中,它不工作。
它确实如此。
只有在测试器中,它不工作。
你如何列出它们? 逗号还是&&?
你如何列出它们? 逗号还是&&?
他们的 是什么?"人物名单 "还是什么?
每个OrderSend 都有自己的单一字符。没有逗号或其他东西...
他们的 是什么?"人物名单 "还是什么?
每个OrderSend都有自己的单一字符。没有逗号或其他东西...
列表对
啊。因为我也在工作,所以凭记忆写的。尝试:和票证与报告中的订单内容进行比较。在测试器中,似乎是0、1、2、3,....。