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

Bambang Aryawan

bambang aryawan.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 общих теговbambang aryawan v2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!caio trader.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Bambang Aryawan — торговый советник для MetaTrader 4, написанный на MQL4. Советник работает на текущем графике и использует рыночные данные и торговые операции MetaTrader. В коде подтверждены обработчики OnInit, OnDeinit и OnTick, а также вызовы торговых функций OrderSend, OrderClose и OrderDelete.

Логика основана на сравнении цены закрытия текущего бара с предыдущими максимумом и минимумом: при закрытии выше предыдущего максимума открывается первая позиция на продажу, при закрытии ниже предыдущего минимума — на покупку. Если уже есть открытые позиции, применяется усреднение с мартингейлом: дополнительные позиции того же направления открываются при движении цены против них на заданное расстояние, а объём увеличивается по коэффициенту мартингейла. Количество усредняющих позиций ограничено параметром MaxOrders.

Закрытие всех позиций и удаление отложенных ордеров может выполняться по процентному тейк-профиту или стоп-лоссу от просадки счёта. Перед отправкой ордера советник проверяет достаточность свободной маржи и корректность объёма относительно ограничений брокера. Точные формулы, пороговые значения и последовательность проверок в описании не раскрываются.

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

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

НастройкаОписание
LotSize Начальный объём лота для первой позиции. Значение нормализуется с учётом минимального, максимального лота и шага изменения объёма, установленных брокером.
Martingale Коэффициент увеличения объёма для усредняющих позиций. Применяется при расчёте объёма каждого следующего ордера в серии.
JarakStepOrders Задаёт расстояние в пунктах между усредняющими ордерами одного направления. Если значение меньше минимального уровня стопов брокера, используется уровень брокера.
MaxOrders Максимальное количество усредняющих ордеров одного направления. При достижении лимита новые усредняющие позиции не открываются.
UsePercentTP Включает или отключает закрытие всех позиций по процентному тейк-профиту от просадки счёта. Значение Yes включает, No отключает.
PercentTP Процент просадки счёта, при достижении которого закрываются все позиции и удаляются отложенные ордера, если включён процентный тейк-профит.
UsePercentSL Включает или отключает закрытие всех позиций по процентному стоп-лоссу от просадки счёта. Значение Yes включает, No отключает.
PercentSL Процент просадки счёта, при достижении которого закрываются все позиции и удаляются отложенные ордера, если включён процентный стоп-лосс.
Slippage Максимально допустимое проскальзывание в пунктах при открытии и закрытии позиций.
MagicNumber Идентификатор, по которому советник отличает свои ордера от чужих. Используется при подсчёте, поиске и закрытии позиций.
Получить полный код

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

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

/* 
This EA 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 is by percent ,
distance between orders can be adjusted,
This EA is guaranteed zero error and zero warning ,
guaranteed 100% pass publishing on MQL5 market place ,
This EA I created so friends can learn to become professional EA sellers in the market place .

***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 must consider your investment goals, experience level, 
and risk tolerance carefully. There is a possibility you may lose part or all of your initial investment, 
therefore you must not invest money 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                UsePercentTP               = Yes;
extern double              PercentTP                  = 0.1;
extern Opsi                UsePercentSL               = No;
extern double              PercentSL                  = 0;
extern int                 Slippage                   = 5;
extern int                 MagicNumber                = 0;

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 the 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 tip

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

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

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

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

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

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

Стоимость полного кода
825,80₽ ≈ $10.09