//+------------------------------------------------------------------+double getMartinLot(double lot, double arrayLot[]){//ФУНКЦИЯ УПРАВЛЕНИЯ ОБъЕМОМ ТОРГОВ ПО СИСТЕМЕ МАРТИНГЕЙЛАstaticdouble balance_before, balance_after; //ДЛЯ ХРАНЕНИЯ СОСТОЯНИЯ БАЛАНСА ДО И ПОСЛЕ СДЕЛОКstaticdouble save_Lot;
staticint loop;
if(loop == ArraySize(arrayLot))loop = 0;
balance_after = AccountBalance(); //СОХРАНЕНИЕ ТЕКУЩЕГО СОСТОЯНИЯ БАЛАНСА if(balance_after >= balance_before){ //ПРОВЕРКА ИЗМЕНЕНИЯ БАЛАНСА
save_Lot = lot; //ЕСЛИ ОН НЕ ИЗМЕНИЛСЯ ИЛИ СТАЛ БОЛЬШЕ, ТО СБРАСЫВАЕМ ЛОТ
loop = 0;
}else{
save_Lot = arrayLot[loop]; //ЕСЛИ СТАЛ МЕНЬШЕ ТО УВЕЛИЧИВАЕМ ЛОТ
loop++;
}
balance_before = balance_after; //СОХРАНЯЕМ СОСТОЯНИЕ БАЛАНСА ПОСЛЕ РАБОТЫreturn(save_Lot);
}
//+------------------------------------------------------------------+
在这里,你有
空白的OpenBuy() {
双重dStopLoss = 0, dTakeProfit = 0。double Lots_New = Lot;
如果(isLossLastPos(NULL, -1, MAGIC))
Lots_New *= 2;
else if (!isLossLastPos(NULL, -1, MAGIC))
Lots_New = Lot;
这是一个函数,在这个函数的最开始,你给Lots_New变量分配的值是= Lot。
想一想,如果你总是把它恢复到原来的状态,它以后会有什么变化?
我在哪里告诉你要写?在启动函数之前的 外部变量中...
并将批量值归一到正确的大小。
Lots_New = NormalizeLot(Lot*2, False, "")。
非常感谢您!
你还能告诉我们,你是否可以在随后的每一个亏损的订单上增加一个手数? 你可以使用这样的东西
1手0.01
2手0.01
3手0.02
4批0.03
5手0.07
.....
15批1.2
要能在代码中改变批号值。
而且,万一一项交易证明是有利可图的,一切都会回到起点。
我将提前感谢你。
谢谢你。
罗杰,谢谢,但还是不能正常工作。我试图添加另一个追踪止损,但错误仍然存在 :( 一个仓位的追踪止损和同时几个仓位的追踪止损之间有什么区别吗?
这在原则上没有区别。
试试我的函数,它很简单,把medjic和所需的拖网作为参数传递。
这个函数的调用 是在开始时进行的,在任何地方都可以,只要它在每次嘀嗒声中 "喷 "到那里。
很明显,订单应该有不同的滑块。
帮我解决一个问题 !
我搜索的是未完成或待完成的订单。如果它们是可用的,那么我就确定哪个订单是买入或卖出。在某些条件下(如果一个比另一个大或比第三个小),我想关闭这个订单。改变其参数并再次打开它。
问题是,总是有一个信号来关闭订单和打开订单。这就是为什么我的订单被关闭,又被打开,所以它打开又关闭......)))
如何解决这个问题?嘎把你的代码与开放和开放条件放在这里。我们将把我们的手指放在它...:)
OrderSelect() 函数中的数字计数从零开始。而你有1,这意味着你正在寻找第二个订单,尽管你在市场上只有一个,这就是为什么它不工作。
你可以用参数这样做,但不能用模式。你必须首先定义标准。相似,不相似。如果是类似的,那么在什么程度上?至少是多少(百分数)。在一种情况下,是时间部分,而价格部分。如何将它们相互关联起来。虽然我可以附加一个神经元层。科霍恩层在这方面做得非常好。
我的一个指标中有一个模式的12个变体,模式是相同的,但数值总是不同,它们的比例也不同 )), ....)我从来没有接触过神经网络,我想我用mql编写初级算法的经验是不够的,尽管它可能会帮助我解决这个问题。我早些时候 "野蛮 "地取代Kohonen来应对这项任务,在模式出现的那一刻在Exxel中写下所有的参数,如果交易开启,就写下结果,然后使用Exxel分析,我必须在与盈利能力相关的情况下搜索更多的匹配。不管怎么说,我得到了一些东西,而且系统对模式的定义是明智的,但仍然不是很聪明)。
我不知道你用的是什么函数,但一般的想法是这样的:由于你的间距不均匀,我建议使用一个数组,你把你需要的量写进它,然后用函数去看它的值。
我的代码上的例子。
函数调用 示例。我想这是De ja vu...我是唯一的一个吗?已经有几个人回答你了...嗯?
把你的代码与打开和打开姿势的条件。我们将把我们的手指放在它...:)
我不知道你用的是什么函数,但这里有一个大致的想法:由于你的音高不是平的,我建议使用一个数组,你把你需要的量写进去,然后用函数来浏览这些值。
我的代码上的例子。
函数调用示例。
非常感谢您!!!!!
我也使用你的代码(顺便说一下,它工作得很好),但我想先在另一个EA中安装Artemis的代码,因为我遇到了更多的问题,而且还有一个原则问题,为什么它不能正常工作。
再次感谢您,!!!!我现在就去试试!
这个问题可能是微不足道的,专家顾问在M1上交易,打开订单的信号进来了,让我们假设止损是空头,订单在sl上关闭。但打开的条件仍然存在。
有什么办法能确保订单在同一时刻不再被打开?