Tarea técnica
стратегий в одном терминале может быть много
нужен ММ для (баланс - сумма всех рисков)
//Maximum amount of money to risk
double moneyToRisk = NormalizeDouble( (AccountBalance() - Total_Current_Risk() )* RiskInPercent / 100, 7);
Total_Current_Risk() {
calculates all potential losses of all opened and all pending orders
+
all swaps
+
all commissions
return (Total_Current_Amount_At_Risk)
}
double sqMMRiskFixedBalancePct(string symbol, int orderType, double price, double sl, double RiskInPercent, int decimals, double LotsIfNoMM, double MaximumLots, double multiplier, double sizeStep) {
Verbose("Computing Money Management for order - Risk fixed % of account balance");
if(UseMoneyManagement == false) {
Verbose("Use Money Management = false, MM not used");
return (mmLotsIfNoMM);
}
symbol = correctSymbol(symbol);
sl = NormalizeDouble(sl, (int) MarketInfo(symbol, MODE_DIGITS));
double openPrice = price > 0 ? price : (orderType == OP_BUY ? sqGetAsk(symbol) : sqGetBid(symbol));
double LotSize=0;
if(RiskInPercent < 0 ) {
Verbose("Computing Money Management - Incorrect RiskInPercent size, it must be above 0");
return(0);
}
double PointValue = MarketInfo(symbol, MODE_TICKVALUE) / MarketInfo(symbol, MODE_TICKSIZE);
double Smallest_Lot = MarketInfo(symbol, MODE_MINLOT);
double Largest_Lot = MarketInfo(symbol, MODE_MAXLOT);
double LotStep = MarketInfo(symbol, MODE_LOTSTEP);
//Maximum amount of money to risk
double moneyToRisk = NormalizeDouble(AccountBalance() * RiskInPercent / 100, 7);
//Maximum drawdown of this order if we buy 1 lot
double oneLotSLDrawdown = NormalizeDouble(PointValue * MathAbs(openPrice - sl), 7);
if(oneLotSLDrawdown > 0) {
LotSize = moneyToRisk / oneLotSLDrawdown;
}
else {
LotSize = 0;
}
LotSize = LotSize * multiplier;
// round computed trade size
LotSize = roundDown(LotSize, sizeStep, decimals);
//--- MAXLOT and MINLOT management
Verbose("Computing Money Management - Smallest_Lot: ", DoubleToStr(Smallest_Lot), ", Largest_Lot: ", DoubleToStr(Largest_Lot),", Computed LotSize: ", DoubleToStr(LotSize));
Verbose("Max money to risk: ", DoubleToStr(moneyToRisk), ", SL:", DoubleToStr(sl), ", One lot drawdown: ", DoubleToStr(oneLotSLDrawdown), ", Point value: ", DoubleToStr(PointValue));
if(LotSize <= 0) {
Verbose("Calculated LotSize is <= 0. Using LotsIfNoMM value: ", DoubleToStr(LotsIfNoMM), ")");
LotSize = LotsIfNoMM;
}
if(LotSize > MaximumLots) {
Verbose("LotSize is too big. LotSize set to maximal allowed value (MaximumLots): ", DoubleToStr(MaximumLots));
LotSize = MaximumLots;
}
//--------------------------------------------
if (LotSize < Smallest_Lot) {
Verbose("Calculated LotSize is too small. Minimal allowed lot size from the broker is: ", DoubleToStr(Smallest_Lot), ". Please, increase your risk or set fixed LotSize.");
LotSize = 0;
}
else if (LotSize > Largest_Lot) {
Verbose("LotSize is too big. LotSize set to maximal allowed market value: ", DoubleToStr(Largest_Lot));
LotSize = Largest_Lot;
}
return (LotSize);
}
Han respondido
1
Evaluación
Proyectos
102
23%
Arbitraje
12
25%
/
17%
Caducado
13
13%
Libre
2
Evaluación
Proyectos
246
20%
Arbitraje
22
50%
/
18%
Caducado
0
Trabaja
3
Evaluación
Proyectos
4
0%
Arbitraje
4
25%
/
75%
Caducado
1
25%
Libre
4
Evaluación
Proyectos
476
40%
Arbitraje
105
40%
/
24%
Caducado
81
17%
Trabajando
Ha publicado: 2 ejemplos
Solicitudes similares
Нужно создать торговый советник для МТ5 для автоматической торговли золотом, серебром и нефти, газа. Торговля будет происходить на основании данных индикаторов, корреляции данных инструментов. Должна быть панель управления с настройками на английском языке
Торговый робот под МТ4 на основе индикаторов AO и RSI
400 - 500 USD
AO - при пересечении уровня 0 в какую-либо сторону открывать соответствующий ордер. RSI - при пересечении отметки 30 пунктов снизу открывать ордер на покупку, при пересечении отметки 70 пунктов сверху открывать ордер на продажу. Стратегии не зависят друг от друга. Предустановка размеров ТП и СЛ, предустановка уровней ТС
Нужно разработать торгового советника для MetaTrader 5. Логика стратегии: работа на M1 (таймфрейм изменяемый) уровни Fibonacci задаются вручную (0 и 100) вход осуществляется в зоне 0–38.2 Fibonacci используется RSI BUY — RSI ≤ 30 SELL — RSI ≥ 70 дополнительный сигнал — пересечение RSI и его скользящей средней Функции управления позицией: Stop Loss за сигнальной свечой Break Even два типа Trailing Stop (обычный и
1. Общая концепция Советник предназначен для автоматического обнаружения ценовых волн, их визуализации с помощью инструмента «Сетка Фибоначчи» и циклической торговли на откатах. Основная особенность — мультиволновой режим: советник должен одновременно отслеживать и отрисовывать все движения, подходящие под фильтр размера. 2. Логика поиска и визуализации волн Динамическое натяжение: Советник сканирует рынок на глубину
Нужен советник на основе разворотных паттернов
500 - 900 USD
Требуется создать советник на основе разворотных паттернов, используя дополнительные индикаторы такие как скользящее среднее, отклонение от скользящей средней, угол наклона скользящей средней. Возможно будет добавлено что то еще по ходу работы
к примеру 10 стратегий выстреливают одновременно в одну и ту же милисекунду при открытие бара надо их сделать последовательными один за другим, с проверкой, что предыдущий ордер был открыт и модифицирован SL TP оредра могут быть отложенные и маркет пока один ордер исполняется другие ждут в очереди так как используется ММ настоящий баланс double Total_Current_Risk() { double res = 0; for (int i = 0; i <
Información sobre el proyecto
Presupuesto
30 - 50 USD