// ==========================================================================// ------------ Функция рассчёта величины лота для открытия позиции ---------// Если лот превышает возможный для открытия позы, то он корректируется // ==========================================================================double CorrectLots(double lt)
{
double ltcorr;
double pnt = MarketInfo(Symbol(),MODE_POINT);
double mspr = MarketInfo(Symbol(),MODE_SPREAD);
double dig = MarketInfo(Symbol(),MODE_DIGITS);
double MaxLot = MarketInfo(Symbol(),MODE_MAXLOT);
double MinLot = MarketInfo(Symbol(),MODE_MINLOT);
double StpLot = MarketInfo(Symbol(),MODE_LOTSTEP);
double OneLot = MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double TradeMrg = NormalizeDouble(AccountFreeMargin()/4.0,dig); // Свободные средства, разрешенные к торговле
lt=MathAbs(lt);
ltcorr=lt; // Зададим начальное значением ltcorr равным значению ltif (lt>=MaxLot) ltcorr=MaxLot; // Проверим превышение допустимых ...if (lt<=MinLot) ltcorr=MinLot; // ... значений лотаdouble Money=lt*OneLot+mspr*pnt; // Вычисляем стоимость открываемой позыif (Money<TradeMrg) // Если свободных средств больше, чем цена позиции -
{
return(ltcorr); // ... возвращаем неизменённый лот
}
elseif (Money>=TradeMrg) // Если цена позиции равна или больше, чем есть свободных средств, то ...
{
ltcorr=MathAbs(MathFloor(TradeMrg/OneLot/StpLot)*StpLot); // ... рассчитаем допустимый лотdouble MoneyCorr=ltcorr*OneLot+mspr*pnt;
Print("Func CorrectLots: лот ",lt," скорректирован до ",ltcorr,
" Стоимость позы до корректировки = ",Money,
" Стоимость позы после корректировки = ",MoneyCorr
);
return(ltcorr); // ... и вернём его значение
}
Print("Func CorrectLots: лот вернули без изменений");
return(ltcorr); // Возврат изначального лота в непредусмотренных случаях с сообщением
}
平衡600-1199手 0.1
平衡1200-1799手 0.2
平衡1800-2399手0.3等。
如何在EA中组织?谢谢你。
平衡600-1199手 0.1
平衡1200-1799手 0.2
平衡1800-2399手0.3等。
如何在EA中组织?谢谢你。
call: ticket=OrderSend(Symbol(),OP_BUY,Lot(),Ask,3,Bid-25*Point,Ask+25*Point, "My order #",magic,0,CLR_NONE);
调用:ticket=OrderSend(Symbol(),OP_BUY,Lot(),Ask,3,Bid-25*Point,Ask+25*Point, "My order #",magic,0,CLR_NONE)。
同时,天平可能在云端,股权可能在大面积缩水。因此,地段的大小可能会显得比它能开的大,整个结构会过大......
在开放之前,最好是纠正该地段的真实可能性。
我为此做了一个函数。这是由维克多(Vinin)稍加纠正的--试试吧。
在行。
...自由保证金被除以4,只有四分之一的自由资金被认为有资格用于交易。
你可以去掉除以4,想放多少就放多少,甚至使用所有的保证金。
但该函数不会让你使用大于允许的批量大小。
同时,余额宝可能处于云端,而股权则处于大额缩水状态。尊敬的是,地段的大小可能会显得比它可以打开的大,整个结构会过头......
为什么所有的事情都如此悲伤...
在我的函数中,最后一个return()将给出该工具的最小手数。 如果账户是美分账户,有很大的杠杆,那么当余额少于600时,专家顾问可能会多交易一些时间 :)
SZZY:问题是具体的,分支是给提问者提供方向。
为何如此悲伤...
在我的函数中,最后一个return()将给出该工具的最小手数。 如果账户是美分账户,有很大的杠杆,那么当余额少于600时,专家顾问可能会多交易一些时间 :)
思齐:问题很具体,支部要给提问者指明方向
下面是我的版本中的一个功能。
为什么如此悲伤...
在我的函数中,最后一个return()将给出该工具的最小手数。 如果账户是美分账户,有很大的杠杆,那么当余额少于600时,专家顾问可能会多交易一些时间 :)
SZZY:问题很具体,支部要给提问者指明方向
你看,伊戈尔,那个人问了你一个问题,你给了他正确的答案,你就可以有点忘乎所以了。但在天平上跳舞是不可取的。正是因为余额可能在天上,而实际情况是--现在是拯救的时候。在这里,我们是,hr-r-r-r-r-r-ing...。......还有一大批在订单之上......。而他却倒下了...公平,也是如此,尽管它已经是
已经在那里...所以我告诉你,最好是依靠股权而不是余额...:)
日安!
能否请您告诉我这个新手,是否有可能在MQL4 中编写一个自定义指标,使其能够同时处理所有货币对?据我所知,指标图中最多有8条线,但我只需要一条线。也就是说,对于这一行,我能否同时获得所有货币对的数组或变量?
提前感谢您的回答。
也就是说,我能否同时从所有货币对的数组或变量中获得这一行的处理数组?
从理论上讲,我没有看到任何障碍。另一个问题是你是否可以具体处理这个阵列。
从理论上讲,我没有看到任何障碍。另一个问题是你是否能够处理这个阵列。
在编写工具时,我如何在程序代码中解决所有货币对?我看了一下写工具的例子,没有提到货币对,与特定的报价图相联系的货币对是默认处理的。
事情是这样的,现在Excel和VBA做这一切,我通过DDE服务器获得22个货币对的信息,使用VBA代码是指同时处理,但这并不方便,因为首先我必须等待2个小时的数据历史积累,以通过Excel图表进行分析。而且从一个程序跳到另一个程序并不方便,这就是为什么我考虑如何将其全部转移到MT4。