forex-risk-calculator.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «forex-risk-calculator.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий текущий риск открытых позиций на графике в виде текстовых комментариев. Рассчитывает суммарный риск по счёту и по текущему символу, сравнивая с заданными пользователем лимитами. При превышении допустимого риска меняет цвет отображения на предупреждающий. Поддерживает расчёт для стандартных пар, а также для металлов (золото и серебро) с учётом их особенностей расчёта прибыли.
Настройки программы
| Настройка | Описание |
|---|---|
| max_risk_per_symbol | Максимальный риск на символ — Текстовый параметр, задающий допустимый риск на текущем символе в долларах или процентах от баланса. |
| add_profitable_positions | Учитывать прибыльные позиции — Определяет, включать ли прибыльные открытые позиции без стоп-лосса в расчёт суммарного риска. |
| calc_details | Подробный расчёт — Включает отображение дополнительной информации о параметрах расчёта риска для каждой позиции. |
| alert_color | Цвет предупреждения — Цвет текста на графике, используемый при превышении допустимого уровня риска. |
| comment_color | Цвет комментариев — Цвет текста на графике, используемый при нормальном уровне риска. |
Поиск по коду файла
/*
Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
Website:
E-mail : p******m*@gmail.com
*/
#property indicator_chart_window
extern string max_risk_per_symbol = "200";
extern string max_risk_per_account = "5%";
extern bool add_profitable_positions = TRUE;
extern bool calc_details = FALSE;
extern color alert_color = Red;
extern color comment_color = Yellow;
double gda_unused_108[];
double gd_112;
double gd_120;
double gd_128 = 0.0;
double gd_unused_136 = 0.0;
double gd_144 = 0.0;
double g_tickvalue_152;
double g_ticksize_160;
double g_lotsize_168;
double g_point_176;
int g_ord_total_184;
int g_pos_188;
bool g_profitcalcmode_192;
double gd_204;
color g_color_212;
string gsa_216[100];
int gi_220 = 0;
int g_count_224 = 0;
string gs_228 = "Risk Calculator v4, 2010 © ForexEgyetem\n";
string gs_236 = "";
string gs_unused_244 = "Money Manager";
void clearComments() {
for (int l_index_0 = 0; l_index_0 < gi_220; l_index_0++) {
gsa_216[l_index_0] = "";
ObjectDelete("myComment" + l_index_0);
}
gi_220 = 1;
}
void Comments(string as_0 = "") {
gsa_216[gi_220] = as_0;
gi_220++;
}
void printComments() {
string ls_0 = "";
gsa_216[0] = gs_228;
Comments(gs_236);
for (int l_index_8 = 0; l_index_8 < gi_220; l_index_8++) {
ls_0 = ls_0 + gsa_216[l_index_8];
if (ObjectType("myComment" + l_index_8) != 23) ObjectDelete("myComment" + l_index_8);
if (ObjectFind("myComment" + l_index_8) == -1) ObjectCreate("myComment" + l_index_8, OBJ_LABEL, 0, Time[5], Close[5]);
ObjectSetText("myComment" + l_index_8, gsa_216[l_index_8]);
ObjectSet("myComment" + l_index_8, OBJPROP_CORNER, 0);
ObjectSet("myComment" + l_index_8, OBJPROP_XDISTANCE, 20);
ObjectSet("myComment" + l_index_8, OBJPROP_YDISTANCE, 20 * (l_index_8 + 1));
ObjectSet("myComment" + l_index_8, OBJPROP_COLOR, g_color_212);
}
ObjectsRedraw();
RefreshRates();
}
void getRisk() {
int l_digits_32;
double ld_0 = 0;
double ld_8 = 0;
double ld_unused_16 = 0;
double ld_24 = 0;
gd_204 = 0;
g_count_224 = 0;
g_ord_total_184 = OrdersTotal();
if (g_ord_total_184 > 0) {
for (g_pos_188 = 0; g_pos_188 < g_ord_total_184; g_pos_188++) {
OrderSelect(g_pos_188, SELECT_BY_POS, MODE_TRADES);
g_tickvalue_152 = MarketInfo(OrderSymbol(), MODE_TICKVALUE);
g_ticksize_160 = MarketInfo(OrderSymbol(), MODE_TICKSIZE);
g_point_176 = MarketInfo(OrderSymbol(), MODE_POINT);
g_lotsize_168 = MarketInfo(OrderSymbol(), MODE_LOTSIZE);
l_digits_32 = MarketInfo(OrderSymbol(), MODE_DIGITS);
g_profitcalcmode_192 = MarketInfo(OrderSymbol(), MODE_PROFITCALCMODE);
if (StringFind(Symbol(), "XAUUSD") != -1) {
g_profitcalcmode_192 = TRUE;
g_lotsize_168 = 100;
}
if (StringFind(Symbol(), "XAGUSD") != -1) {
g_profitcalcmode_192 = TRUE;
g_lotsize_168 = 5000;
}
if (g_profitcalcmode_192 == 0) {
ld_24 = (OrderOpenPrice() - OrderStopLoss()) * OrderLots() / gПоказано первые 50% кода (символов: 4729)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.