← К каталогу
Исходный код · ID 3566

bambang aryawan v2.mq4

Похожие материалы по тегам

gg_master.mq5MQL5 / MetaTrader 5 · 1 общих теговxbest_rv3 (1).47.mq4MQL4 / MetaTrader 4 · 1 общих теговtrend_catcher.mq4MQL4 / MetaTrader 4 · 1 общих теговcoin_flip.mq4MQL4 / MetaTrader 4 · 1 общих тегов!caio trader.mq5MQL5 / MetaTrader 5 · 1 общих теговoracle v2.0.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Bambang Aryawan V2 — это торговый советник для MetaTrader 4, реализующий стратегию усреднения с мартингейлом на основе ценовых уровней High/Low. При каждом тике советник сравнивает закрытие таймфрейма M30 с предыдущим дневным максимумом или минимумом: если закрытие выше предыдущего High — открывается продажа, если ниже предыдущего Low — открывается покупка. Далее при движении цены против позиции запускается механизм усреднения с увеличением лота.

Советник предоставляет гибкое управление рисками: закрытие всех позиций по процентному тейк-профиту или стоп-лоссу, закрытие при превышении заданной просадки, а также дневные лимиты прибыли и убытка. При достижении дневной цели или лимита убытка торговля приостанавливается до появления нового дневного бара. Все параметры настраиваются из внешних переменных.

Встроены проверки допустимости объёма сделки, проверки свободного маржинального баланса и контроль количества ордеров. Советник использует стандартные торговые функции MetaTrader 4 для отправки, закрытия и удаления ордеров. Лот-размер автоматически нормализуется в соответствии с ограничениями брокера.

Настройки программы

НастройкаОписание
LotSize Начальный размер лота — Начальный размер лота для первой позиции. Нормализуется в соответствии с ограничениями брокера.
Martingale Коэффициент мартингейла — Коэффициент увеличения лота при каждом последующем усреднении. Например, значение 1.2 увеличивает лот на 20%.
JarakStepOrders Шаг между усреднёнными ордерами (пункты) — Расстояние между усреднёнными ордерами, выраженное в пунктах. Используется при добавлении позиций в рамках усреднения.
MaxOrders Максимальное количество ордеров — Максимальное количество одновременно открытых ордеров одного типа, разрешённых советником.
UseCloseOffMaxDD Закрытие при превышении просадки — Переключатель автоматического закрытия всех ордеров при превышении максимальной просадки, заданной параметром DrawdownPercent.
DrawdownPercent Процент максимальной просадки — Процент просадки от баланса, при превышении которого все ордера закрываются автоматически.
UsePercentTP Включить тейк-профит по проценту — Переключатель тейк-профита по процентному соотношению прибыли от баланса.
PercentTP Процент тейк-профита от баланса — Процент прибыли от баланса, при достижении которого все ордера закрываются. Активируется параметром UsePercentTP.
UsePercentSL Включить стоп-лосс по проценту — Переключатель стоп-лосса по процентному соотношению убытка от баланса.
PercentSL Процент стоп-лосса от баланса — Процент убытка от баланса, при достижении которого все ордера закрываются. Активируется параметром UsePercentSL.
UseDailyTargetPercent Включить дневную цель прибыли — Переключатель дневной цели прибыли. При достижении цели DailyTargetPercent торговля приостанавливается до нового дневного бара.
DailyTargetPercent Дневная цель прибыли (%) — Целевая дневная прибыль в процентах от баланса. При достижении цели торговля приостанавливается до нового дневного бара.
UseDailyLossPercent Включить дневной лимит убытка — Переключатель дневного лимита убытка. При достижении лимита DailyLossPercent торговля приостанавливается до нового дневного бара.
DailyLossPercent Дневной лимит убытка (%) — Максимальный дневной убыток в процентах от баланса. При достижении этого лимита торговля приостанавливается до нового дневного бара.
MaxOrderHistoryDays Количество дней для проверки истории ордеров — Количество дней истории ордеров, учитываемых при расчёте дневной прибыли и убытка.
Slippage Допустимое проскальзывание (пункты) — Допустимое проскальзывание цены при отправке ордеров, измеряемое в пунктах.
MagicNumber Магический номер — Магический номер для идентификации ордеров, открытых данным советником.
Получить полный код

Поиск по коду файла

#property version   "2.00"
#property description " EA Averaging martingale based of HiLo"
#property strict

/* 
* last version v1 *
EA ini Based on Request by om bambang aryawan , 
the rule is if close is greater than previous high run averaging sell martingale,
if close is smaller than previous low run averaging buy martingale.
close by percent ,
distance between orders can be adjusted,
this EA is guaranteed zero errors and zero warnings ,
guaranteed 100% pass publish mql5 market place ,
I created this EA so friends can learn to become professional EA sellers in the market place .

* logic revision v2 * 
-close m30 smaller than previous day candle low op sell
-close m30 greater than previous day candle high op sell
-add daily target profit by percent
-add daily stop loss by percent

***Trading Risk Disclaimer***

Trading forex, stocks, commodities, and other financial instruments involves high risk and is not suitable for all investors. 
Before deciding to participate in the financial markets, you should carefully consider your investment objectives, level of experience, 
and risk tolerance. There is a possibility that you may lose part or all of your initial investment, 
therefore you should not invest money that you cannot afford to lose.

*/

#import "stdlib.ex4"
   string ErrorDescription(int errorcode); 
#import

enum Opsi
{
   Yes = 1,
   No = 0
};

extern double              LotSize                    = 0.01;
extern double              Martingale                 = 1.2;  
extern double              JarakStepOrders            = 10;
extern int                 MaxOrders                  = 100;   
extern Opsi                UseCloseOffMaxDD           = No;                        
extern double              DrawdownPercent            = 30;                      
extern Opsi                UsePercentTP               = Yes;
extern double              PercentTP                  = 0.03;
extern Opsi                UsePercentSL               = No;
extern double              PercentSL                  = 0;
extern bool                UseDailyTargetPercent      = true;
extern double              DailyTargetPercent         = 0.1; // Target keuntungan harian dalam persen
extern bool                UseDailyLossPercent        = false;
extern double              DailyLossPercent           = 0.5; // Batas kerugian harian dalam persen
extern int                 MaxOrderHistoryDays        = 1; // Maksimal hari untuk memeriksa order historis
extern int                 Slippage                   = 5;
extern int                 MagicNumber                = 0;

bool ControlFlag = true; // ControlFlag
double AutoPoint;
int getlasterror;
int tiket;
double price;
string error;

int OnInit()
{
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
{

}

void OnTick()
{
      // код доступен только после оплаты
   }

double FindLastOrderPrice(int orderType) //Function to find price value based on order type
{
   double lastOrderPrice = 0;
   int prevTicket = 0;

   for (int i = OrdersTotal() - 1; i >= 0; i--)
   {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
      {
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderType() == orderType)
         {
            int curTicket = OrderTicket();
            if (curTicket > prevTicket)
            {
               lastOrderPrice = OrderOpenPrice();
               prevTicket = curTicket;
            }
         }
      }
   }
   return lastOrderPrice;
}

void CloseAllOrders(int orderType) // Fungsi untuk menutup semua pesanan dengan tipe tertentu
{
    for (int i = OrdersTotal() - 1; i >= 0; i--)
    {
        if (OrderSelect(i, SELECT_BY_POS) && OrderType() == orderType)
        {
            if(!OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), Slippage))
            {
               Print("gagal close");
            }
        }
    }
}

void DeletePoOrders(int orderType) // Fungsi untuk menutup semua pesanan dengan tipe tertentu
{
    for (int i = OrdersTotal() - 1; i >= 0; i--)
    {
        if (OrderSelect(i, SELECT_BY_POS) && OrderType() == orderType)
        {
            if(!OrderDelete(OrderTicket(), clrGray))
            {
               Print("gagal Delete PO");
            }
        }
    }
}

int jumlahorder(int tipe) // fungsi menghitung jumlah order.
{
   int total = 0;
   for (int i = 0; i < OrdersTotal(); i++)
   {
      if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if (OrderSymbol(

Показано первые 50% кода (символов: 11562)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 156,20₽ ≈ $14.13