![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Управление капиталом - Код фиксированного соотношения Райана Джонса
Текущий код фиксированного соотношения работает просто отлично, но я хотел бы объединить следующий код, в настоящее время он закодирован для добавления 20 лотов.
{
if (MM == True)
{
if (AccountEquity() >= InitialCapital && AccountEquity() < (InitialCapital+(1*Delta))) {MMLots=1*Lots;}
if (AccountEquity() > (InitialCapital + (1*Delta)) && AccountEquity() < (InitialCapital+(3*Delta))) {MMLots=2*Lots;}
if (AccountEquity() > (InitialCapital + (3*Delta)) && AccountEquity() < (InitialCapital+(6*Delta))) {MMLots=3*Lots;}
if (AccountEquity() > (InitialCapital + (6*Delta)) && AccountEquity() < (InitialCapital+(10*Delta))) {MMLots=4*Lots;}
if (AccountEquity() > (InitialCapital + (10*Delta)) && AccountEquity() < (InitialCapital+(15*Delta))) {MMLots=5*Lots;}
if (AccountEquity() > (InitialCapital + (15*Delta)) && AccountEquity() < (InitialCapital+(21*Delta))) {MMLots=6*Lots;}
if (AccountEquity() > (InitialCapital + (21*Delta)) && AccountEquity() < (InitialCapital+(28*Delta))) {MMLots=7*Lots;}
if (AccountEquity() > (InitialCapital + (28*Delta)) && AccountEquity() < (InitialCapital+(36*Delta))) {MMLots=8*Lots;}
if (AccountEquity() > (InitialCapital + (36*Delta)) && AccountEquity() < (InitialCapital+(45*Delta))) {MMLots=9*Lots;}
if (AccountEquity() > (InitialCapital + (45*Delta)) && AccountEquity() < (InitialCapital+(55*Delta))) {MMLots=10*Lots;}
if (AccountEquity() > (InitialCapital + (55*Delta)) && AccountEquity() < (InitialCapital+(66*Delta))) {MMLots=11*Lots;}
if (AccountEquity() > (InitialCapital + (66*Delta)) && AccountEquity() < (InitialCapital+(78*Delta))) {MMLots=12*Lots;}
if (AccountEquity() > (InitialCapital + (78*Delta)) && AccountEquity() < (InitialCapital+(91*Delta))) {MMLots=13*Lots;}
if (AccountEquity() > (InitialCapital + (91*Delta)) && AccountEquity() < (InitialCapital+(105*Delta))) {MMLots=14*Lots;}
if (AccountEquity() > (InitialCapital + (105*Delta)) && AccountEquity() < (InitialCapital+(125*Delta))) {MMLots=15*Lots;}
if (AccountEquity() > (InitialCapital + (125*Delta)) && AccountEquity() < (InitialCapital+(141*Delta))) {MMLots=16*Lots;}
if (AccountEquity() > (InitialCapital + (141*Delta)) && AccountEquity() < (InitialCapital+(158*Delta))) {MMLots=17*Lots;}
if (AccountEquity() > (InitialCapital + (158*Delta)) && AccountEquity() < (InitialCapital+(176*Delta))) {MMLots=18*Lots;}
if (AccountEquity() > (InitialCapital + (176*Delta)) && AccountEquity() < (InitialCapital+(195*Delta))) {MMLots=19*Lots;}
if (AccountEquity() > (InitialCapital + (195*Delta)) && AccountEquity() < (InitialCapital+(215*Delta))) {MMLots=20*Lots;}
}
else MMLots = Lots;
}TimeFreedom
Райан Джонс
Здравствуйте,
Я заплатил почти 2500 долларов за его советника, что отстой. Я бы лучше отдал эти деньги на достойную благотворительность. Когда я написал ему, он сказал, что это работает для него. полный B*** S***, если он продал, скажем, 100 советников, его движение, безусловно, в бычьем режиме.
blueocean
Не совсем то же самое
if (MM == True)
{
int i,n=0;
if (AccountEquity() >= InitialCapital)
{
for (i=1;i<=20;i++)
{
n += i;
if (AccountEquity() < (InitialCapital+(n*Delta)))
{
MMLots=i*Lots;
break;
}
}
}
}
else MMLots = Lots;
У вас есть ">=" только в первом случае, если
Что такое код для установки стопа в безубыток?
Кто-нибудь знает, как я могу добавить некоторый код в мою ea, чтобы стоп был установлен на безубыток или даже имел контекст при добавлении к любому количеству, которое я хочу?
extern double BreakEven = 0;
Это есть, но какой код я должен добавить?
ЕСТЬ ЛИ СПОСОБ ПОСТАВИТЬ БЕЗУБЫТОЧНЫЙ СТОП-ЛОСС!!!!!![](https://c.mql5.com/forextsd/smiles/angry_smile.png)
Черт. Остынь. Вот код, который я использую для большинства своих советников, упрощенный для вашего запроса.
{
for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (BreakEven>0 )
{
if (OrderType()==OP_BUY)
{
if (Bid-OrderOpenPrice()>=Point*BreakEven)
{
if (OrderStopLoss()<OrderOpenPrice() || OrderStopLoss()==0)
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() ,OrderTakeProfit(),0,Green);
}
}
else if (OrderType()==OP_SELL)
{
if (OrderOpenPrice()-Ask>=Point*BreakEven)
{
if (OrderStopLoss()>OrderOpenPrice() || OrderStopLoss()==0)
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice() ,OrderTakeProfit(),0,Red);
}
}
}
}
}Спасибо, но это не подходит для extern breakeven.
Я написал, что функция "breakEvenManager" не является ссылочной и будет удалена.
Спасибо, но это не вяжется с extern breakeven. Я вписал, что функция "breakEvenManager" не является ссылочной и будет удалена.
Вы должны вызвать модуль в какой-то точке вашего кода.
мне нужна помощь в простом коде
привет всем
Мне нужна помощь в простом коде, который разворачивает ордер, если он проиграл, и открывает тот же ордер, если он выиграл, а первый ордер открывается вручную, устанавливает любой тейкпрофит и стопэнд.
спасибо за помощь