据我所知,您需要具备 Algo 交易知识才能使用它...
非常好
Feresther 合约数 打开 6 个订单。因此,即使我想用 1 个合约进行交易,也不行,它会打开 6 个。
这是不是我忽略的一个概念?我是初学者,所以我从这个前提出发。
非常感谢您的分享。
可能是系统在您点击鼠标时发送了多个订单,原因可能是多方面的,但感谢您的报告😁👍,要解决这个问题,您必须在点击鼠标时添加一个额外的测试,要修改或添加的点会以绿色标记......请确保您输入的方式正确,否则订单可能无法发送,或者服务器可能不接受 ...不过,添加这个额外的测试应该能解决您的问题。逻辑如下:当鼠标被点击时,STATIC 变量将被设置,只有当鼠标不再被按下时才会被重置,以允许发送新订单。
inline void MoveTo(int X, int Y, uint Key) { static double d_block = 0; int w = 0; datetime dt; bool bEClick, bKeyBuy, bKeySell; double take = 0, stop = 0, price; bEClick = (Key & 0x01) == 0x01; //左击 bKeyBuy = (Key & 0x04) == 0x04; /SHIFT 按下 bKeySell = (Key & 0x08) == 0x08; //CTRL 按下 ChartXYToTimePrice(Infos.Id, X, Y, w, dt, price); ObjectMove(Infos.Id, Infos.szHLinePrice, 0, 0, price = (bKeyBuy != bKeySell ? AdjustPrice(price) : 0)); ObjectMove(Infos.Id, Infos.szHLineTake, 0, 0, take = price + (Infos.TakeProfit * (bKeyBuy ? 1 : -1))); ObjectMove(Infos.Id, Infos.szHLineStop, 0, 0, stop = price + (Infos.StopLoss * (bKeyBuy ? -1 : 1))); if ((bEClick) && (bKeyBuy != bKeySell) && (d_block == 0)) CreateOrderPendent(bKeyBuy, Infos.Volume, (d_block = price), take, stop, Infos.IsDayTrade); else d_block = 0; ObjectSetInteger(Infos.Id, Infos.szHLinePrice, OBJPROP_COLOR, (bKeyBuy != bKeySell ? Infos.cPrice : clrNONE)); ObjectSetInteger(Infos.Id, Infos.szHLineTake, OBJPROP_COLOR, (take > 0 ? Infos.cTake : clrNONE)); ObjectSetInteger(Infos.Id, Infos.szHLineStop, OBJPROP_COLOR, (stop > 0 ? Infos.cStop : clrNONE)); };
是否有 mq4 版本
好文章,谢谢。
下午好,迷你指数的点数和手数在哪里设置?
我明白了,这是因为我想开发我的 EA,但手数和点数不匹配
新文章 从头开始开发一款智能交易系统已发布:
在本文中,我们将讨论如何做到最少编程来开发一款交易机器人。
本文中介绍的智能交易系统可以遵照各种方式进行改进,以便处理参数集合,但这将需要更多代码,使其更独立于MetaTrader 5。
该 EA 的巨大成功在于它利用 MetaTrader 5 本身来执行代码中没有的动作,因此它非常稳定可靠。
作者:Daniel Jose