Оглавление файлового архива Разработки на MQL4 Советники Новая улучшенная бесплатная версия "кимовского трала". Добавлен параметр Magic, позволяющий более гибко отбирать сопровождаемые позиции, а также разделены параметры трала для покупок и продаж. Кроме того, вместо параметра ProfitTrailing теперь используется TrailingStart. Это почти то...
在CodeBase 中有大量的例子,寻找关于挂单的专家顾问,看看代码是怎么写的。
我在CodeBase 中搜索了大约一个小时,没有找到任何可以理解的东西。这对我来说太复杂了。这些代码对我来说太大,难以理解,而我所需要的只是几个4-6行的代码。谢谢你的答复,但这并不适合。
我在挂单(即如果价格是0.7777,则开立挂单)
2) 当订单(市价订单)达到任何数值时关闭订单(即如果价格是0.6666,则关闭订单)。
获得4-6行代码的答案?
你是那些写道:"有什么可做的?它只需要几行字...一百英镑算什么?"
让我们把话说清楚。
你必须首先确定价格已经达到0.7777。它是否达到了顶端?底下?如果前一个跳动点是0.7776,而当前的跳动点是0.7778,这是否可以?在这种情况下,价格将不等于0.7777的值。因此,你必须检查过去的值和当前的值是否有相交的需要。相应地,你必须存储前一个tick的值并知道当前tick的值。这意味着--你需要一个函数来获取tick的值并存储它的值,这样你以后就有东西可以与之比较--三个价格:前一个tick,当前tick和交叉价格本身。
更进一步。我们需要知道价格将在哪个方向越过必要值,相应地,我们需要在必要的价格上设置必要类型的挂单。
要设置它,我们需要从当前价格计算出设置的价格,将获得的挂单设置距离与StopLevel值进行比较,如果获得的距离小于该值,那么:a) 纠正订单设置距离,以免达到误差130,并设置订单,或者b) 等待,直到设置距离超过StopLevel(与浮动点差,我们也应该在每个tick上收到),看看价格是否已经越过预设水平,如果它在正确值上-即如果StopLevel已经设置,我们可以设置订单。е.,它已经离开该层下了一个订单,或者火车已经离开。
你还需要计算挂单的止损和取值,这些值不能低于StopLevel(如有必要,请纠正)。
如果所有的检查都通过了,应该向服务器发送一个订单,设置一个待定的订单,得到一个回复--如果回复中包含一个错误,则处理它(需要另一个函数)...
这是针对待处理的订单。
对于平仓来说,情况大致相同--识别交叉点,发送交易指令,并在出现错误的情况下处理服务器的响应。
如果你能在4-6行中完成这些工作,那么......。你会 在仓库里得到 一枚奖章...;)
我觉得经过这样的解释,就少了一个程序员新手))))。
伙计们,valuta中的(.e)是什么,请解释一下。
你需要一个代码部分--一个可靠的多货币追踪止损,从设定的收支平衡点和设定的价格缩进开始。
请看这个,http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=62
你要回答这个问题。
1) 在达到任何数值时开立挂单(即如果价格是0.7777,则开立挂单)
2) 当订单(市价订单)达到任何数值时关闭订单(即如果价格是0.6666,则关闭订单)。
获得4-6行代码的答案?
你是否属于那些写道:"有什么好做的?它只需要几行字...一百英镑算什么?"
让我们把话说清楚。
你必须首先确定价格已经达到0.7777。它是否达到了顶端?底下?如果前一个跳动点是0.7776,而现在的跳动点变成了0.7778,这是否可以?在这种情况下,价格将不等于0.7777的值。因此,你必须检查过去的值和当前的值是否有相交的需要。相应地,你必须存储前一个tick的值并知道当前tick的值。这意味着--你需要一个函数来获取tick的值并存储它的值,这样你以后就有东西可以与之比较--三个价格:前一个tick、当前tick和交叉价格本身。
更进一步。我们需要知道价格将在哪个方向越过必要值,相应地,我们需要在必要的价格上设置必要类型的挂单。
要设置它,我们需要从当前价格计算出设置的价格,将获得的挂单设置距离与StopLevel值进行比较,如果获得的距离小于该值,那么:a) 修正订单设置距离,以免达到误差130,并设置订单,或者b) 等到设置距离超过StopLevel(与浮动点差,我们也应该在每个tick上收到),看看价格是否已经越过预设水平,如果它在正确值上-即如果停止水平被设置,我们可以设置订单。е.,它已经离开该层下了一个订单,或者火车已经离开。
您还需要计算挂单的止损和止盈值,它们不应低于止损水平(如有必要,可进行修正)。
如果所有的检查都通过了,应该向服务器发送一个订单,设置一个待定的订单,得到一个回复--如果回复中包含一个错误,则处理它(需要另一个函数)...
这是为待处理的订单。
平仓也是如此--识别交叉点,发送交易指令,并在出现错误的情况下处理服务器的响应。
如果你能在4-6行中完成这些工作,那么......。你会 在仓库里得到 一枚奖章...;)
"你是那种说:"有什么可做的?这只是几行字而已...一百英镑算什么?"不,我不是那种人,我不明白为什么你认为我是一个顾客。我想学习这个程序,因为我对专家顾问有想法,其实施中的问题只是技术性的(我并不质疑这些问题非常大),但我并不是想说 "让我所有的软件和它的工作只有利润 "这样的话。相反,我从基础知识开始,我想写我的第一个专家顾问。我还写道,我想要一个非常简单的例子,不考虑所有的细节(尽管我明白它们非常重要),但我必须从某个地方开始。我知道让专业人士看我的要求会很痛苦,但我没办法,只要是我知道的就行。我想我可以借助if else操作符和OrderSend(OrderClose)函数以及其他一些东西来写这样一段代码,但我做不到。你写了很多复杂的术语,从而告诉我,我什么都做不了,是个编程的白痴,但我还是知道。我希望你不要认为我是一个傲慢的人,理解我只是想继续学习。但你也是对的,我希望已经找到了一个妥协的办法。
没有人说你是 "傻瓜",这不是真的。但是,同样是4-6行代码,你知道,会引起困惑--因为如果一个人学会了什么,他一定已经在尝试什么,他已经尝试过写什么,并且清楚地看到4-6行不适合它。
向我们展示你试图做的事情--让我们试着去理解。
我可以提出一个替代的、简化的版本--不要用ticks来寻找价格水平的交叉点,而用MA(1)来寻找--那么bar 1上的MA和bar 0上的MA将作为必要的水平交叉点的指标。
伙计们,valuta中的(.e)是什么,请解释一下。