Bambang Aryawan
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «bambang aryawan.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.