EA starts
---> Does nothing till there is 0 or 1 order
----> Makes a 'call open sound' when 2nd order gets triggered
----> Closes both orders at X amount of pure profit [after considering spread] and makes a 'call close sound' ]
of course, call open and call close sound files can be any small wave files.. easily available on mt4 itself. ..
I think these things can be achieved in the above EA that I had posted by changing a few things !
int start()
{
{
if (Ordertotal()<=1) ------> See , something here which says only execute lower code if total executed orders are two else dont go to lower code.. I know that syntax is totally busted, trying to push the concept
as a weak non coder mind ;( .. so till total open orders are less than or equal to 1 means not 2, the code below that line wont come into play !
if (AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if (OrdersTotal()=>2) // Can this work? Can a function be directly called like this?
}
{
if (AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
Ok, cant seem to get out of this box yet ! hehe need to know forum stuff more ! but, as you can see above, if that "if (OrdersTotal()=>2)" is valid, it would directly solve my problems .. because the rest of
the stuff would be executed only if the total running market orders are 2 ! =D .. and some forum guru please release this text from this src prison box ! ;)
哇......你想要的东西基本上是很容易编码的。
你能指导我吗?我已经从网上找到了这个
现在,我已经说得很清楚了,我不是程序员,但我认为我需要在"int start() " 下面加一行 ,计算已执行[非挂起]订单的数量,然后只有当它们是2个时才进入下一个代码,并执行其余的代码 ,如果 (AccountProfit()>= My_Money_Profit_Target)...等等。
对吗? 如何在MQL中说这一行?
是的deVries。
一切都失败了,如果你这么说,我不应该这么做,但由于我真的没有在你的回答中看到什么帮助.....
你应该明白,这些代码并不是用于出售给挑剔的客户的商业性EA,对吗?我们正在努力解决一些问题,如果你不想帮忙,至少应该不去管它。
你真的认为,如果我改变几次时间框架.....,什么?滑点会是3000000?在我的MT4中显然不会。如果你不相信我,可以自己做个测试。
我的测试表明,当你改变时间框架时,EA会经历脱机/启动周期,由于提到的代码在OnInit中,滑点每次都会在30点左右。
任何人都可以看到,改变时间框架不会使滑点达到一百万,如果这是你所建议的。
不,这不是一张假照片,它是真实的,你可以检查改变每个时间框架的时间。
希望能有所帮助。
这个失败.....
对于很多交易来说,PRC并不是合适的价格。
你对这个问题有什么看法...
读取对OnInit()和OnDeinit()的双重调用
新版本有问题
(双重OnInit()的问题似乎在Build 628中得到了解决,但仍然没有这个版本 )
这失败了 .....
对于很多交易来说,PRC不是一个合适的价格。
你有什么要说的吗......?
嘿嘿,现在你们两个已经深入到了兔子洞里,正在讨论一些让鸟儿飞过我头顶的东西!xD ......你能不能看看我添加的那条蹩脚的代码线?xD ......你能不能看看我加的那个蹩脚的代码行? =D
嘿嘿,现在你们两个已经深入到兔子洞里,正在讨论一些让鸟儿飞过我头顶的东西!xD ......你们能不能看看我加的那个蹩脚的代码行?xD ......你能不能看一下我加的那行蹩脚的代码?
正确的卖出价和买入价是图表符号的价格,如果交易是其他符号,收盘价是错误的。
这将产生什么影响?
它是否会失败? 订单类型是待定交易吗?
或者是平仓失败
在这种情况下,你需要得到最后的错误 GetLastError()知道原因。
EA开始 ---> 什么都不做,直到有0个或1个订单 ----> 当第二个订单被触发时,发出 "看涨开盘的声音" ----> 在X量的纯利润下关闭两个订单[在考虑点差后] 并发出 "看涨收盘的声音" ]
当然,看涨开盘和看涨收盘的声音文件可以是任何小的波形文件......在MT4上很容易找到。我认为这些东西可以通过改变一些东西在我发布的上述EA中实现!嘿嘿,帮帮我吧=D
嗨,tatyawinchu。
我相信你没有很好地理解我发布的EA的作用。让我一步一步地告诉你,你可以决定是否可以用它来达到你的目的。
基于账户的止损是为了保护任何想使用它的人,我从不建议在市场上没有至少一个紧急止损,如果你的账户里有10 000美元,你想冒所有的风险,只要把止损限额设置为10 000。
你的决定。
现在,回到代码中,就像1、2、3一样简单。
1.如果你阅读OnTick函数中的代码--那是在每个tick上执行的部分--你会看到它做的第一件事是:CountMyOrders。希望你能看到这一点。接下来,如果myOrders<1意味着还没有订单,检查账户资产,记住它,然后就这样。
不做其他事情。下一步,如果仍然没有订单,就继续等待。做一个EA很无聊,不是吗?
2.当一个订单被放置时,myOrders<1不再是真的,所以在下一个tick,它将跳到下一行,并计算市场中的订单或订单的利润。
3.接下来,它将比较所有订单的利润之和和目标利润。
很简单,不是吗。如果利润达到目标值,下一行会说:退出所有订单。并会在屏幕上弹出一个提示(有声音),告诉你订单已经达到了目标!这时,你就会发现你的订单已经达到了目标。
这还不算太坏,是吗?
我忘了说了,如果市场对你不利,并且权益损失达到预设水平,它将把你带出市场以保护剩余的资本。
这是我能给你的最好帮助。
如果你需要更多的帮助,这可能是那些做比这更多定制代码的人的工作。
希望能有所帮助。
干杯
嗨,tatyawinchu。
我相信你没有很好地理解所发布的EA的作用。让我一步一步地告诉你,你可以决定是否可以使用它来达到你的目的。
基于账户的止损是为了保护任何想使用它的人,我从不建议在市场上没有至少一个紧急止损,如果你的账户里有10 000美元,你想冒所有的风险,只要把止损限额设置为10 000。
你的决定。
现在,回到代码中,就像1、2、3一样简单。
1.如果你阅读OnTick函数中的代码--那是在每个tick上执行的部分--你会看到它做的第一件事是:CountMyOrders。希望你能看到这一点。接下来,如果myOrders<1意味着还没有订单,检查账户资产,记住它,然后就这样。
不做其他事情。下一步,如果仍然没有订单,就继续等待。做一个EA很无聊,不是吗?
2.当一个订单被放置时,myOrders<1不再是真的,所以在下一个tick,它将跳到下一行,并计算市场中的订单或订单的利润。
3.接下来,它将比较所有订单的利润之和和目标利润。
很简单,不是吗。如果利润达到目标值,下一行会说:退出所有订单。并会在屏幕上弹出一个警报(有声音),告诉你订单已经达到了目标!这时,你就会发现,你的订单已经达到了目标。
这不是很糟糕,是吗?
我忘了说了,如果市场对你不利,并且权益损失达到预设水平,它将把你带出市场以保护剩余的资本。
这是我能给你的最好帮助。
如果你需要更多的帮助,这可能是那些做比这更多定制代码的人的工作。
希望能有所帮助。
欢呼声
嗯......看起来我们正在渐行渐远。
我的具体要求如下:-
第1步 EA开始。
第2步 EA检查当前账户 的利润,以便它知道从哪个起点开始计算。
第3步 EA检查运行中的未结订单[非挂单]。
第四步,如果没有运行中的订单或只有一个运行中的订单,EA不做任何操作。
第5步,当第二个订单被触发时,EA会发出声音,这个第二个订单将是在其他的交易对上。
第6步 EA在考虑到SPREAD后以X利润关闭两个订单,并发出声音....,这里的两个订单应该都是未平仓的订单,不需要删除挂单。
EA不需要...任何形式的SL或TP设置。
最好的是,EA应该在两个以上的订单上工作,但如果太难的话就不需要。
[虽然从逻辑上讲,我觉得这并不困难,而是非常容易,因为EA激活关闭所有未结订单,如果它们超过1个......那就是2个或更多自动关闭!所以这可能已经被EA覆盖了......如果错了请纠正我!]
哇......你想要的东西基本上是很容易编码的。
你很有趣。微妙但有趣。
你很有趣。微妙但有趣。
如果我可以添加一个IF循环,然后粘贴下面的其余代码,开始循环呢?
IF条件应该检查 OrdersTotal=>2,这样控制权就会被传递给所有未平仓的订单,在点差后以X的利润关闭?
如何告诉EA在某些情况下做不到?
假设我做了以下事情
Ok, cant seem to get out of this box yet ! hehe need to know forum stuff more ! but, as you can see above, if that "if (OrdersTotal()=>2)" is valid, it would directly solve my problems .. because the rest of the stuff would be executed only if the total running market orders are 2 ! =D .. and some forum guru please release this text from this src prison box ! ;)