Alligator_Signal_Expert
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «alligator_signal_expert_v3.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
[Alligator_Signal_Expert](Alligator_Signal_Expert) — торговый советник для MetaTrader 4, который анализирует ценовые данные с помощью трёх скользящих средних и формирует сигналы для открытия и закрытия позиций. Советник автоматически управляет ордерами: открывает сделки при соответствующем расположении линий индикатора, закрывает убыточные или разворачивает позицию при изменении тренда.
В работе используются параметры объёма, стоп-лосса, тейк-профита и уровня безубыточности, позволяющие управлять рисками. Советник фильтрует ордера по магическому номеру, поддерживает модификацию позиций и содержит встроенную обработку типичных торговых ошибок с уведомлением трейдера.
Продукт предназначен для автоматической торговли на платформе MetaTrader 4 и работает в рамках стандартного торгового терминала, используя его API для отправки и управления ордерами.
Настройки программы
| Настройка | Описание |
|---|---|
| rem1 | rem1 — Текстовый параметр-примечание. |
| P_MA_1 | P_MA_1 — Период первой скользящей средней, используемой для анализа и формирования торговых сигналов. |
| P_MA_2 | P_MA_2 — Период второй скользящей средней, используемой для анализа и формирования торговых сигналов. |
| P_MA_3 | P_MA_3 — Период третьей скользящей средней, используемой для анализа и формирования торговых сигналов. |
| rem2 | rem2 — Текстовый параметр-примечание. |
| Delta | Delta — Пороговое значение (в пунктах) для сравнения уровней скользящих средних при формировании сигналов на открытие и закрытие позиций. |
| rem3 | rem3 — Текстовый параметр-примечание. |
| Lot | Lot — Объём (размер) открытой позиции в лотах. |
| rem34 | rem34 — Текстовый параметр-примечание. |
| StopLoss | StopLoss — Значение стоп-лосса в пунктах для новых ордеров. При значении 0 стоп-лосс не устанавливается. |
| TakeProfit | TakeProfit — Значение тейк-профита в пунктах для новых ордеров. При значении 0 тейк-профит не устанавливается. |
| rem33 | rem33 — Текстовый параметр-примечание. |
| Level_NoLoss | Level_NoLoss — Уровень в пунктах, при превышении которого позиции модифицируются с переносом стоп-лосса на уровень открытия. |
| rem4 | rem4 — Текстовый параметр-примечание. |
| Shift_Indik | Shift_Indik — Сдвиг бара, на котором рассчитываются значения скользящих средних. |
| Shift_open | Shift_open — Сдвиг бара, используемый при проверке цены открытия для принятия решения о входе в позицию. |
| rem5 | rem5 — Текстовый параметр-примечание. |
| Magik | Magik — Магический номер для фильтрации управляемых ордеров — советник обрабатывает только позиции с указанным номером. |
Поиск по коду файла
extern string rem1="????????? ????????";
extern int P_MA_1=13;
extern int P_MA_2=8;
extern int P_MA_3=5;
extern string rem2="??????????? ????????";
extern int Delta=3;
extern string rem3="???????? ?????????";
extern double Lot=1;
extern string rem34="??? ????????? ???????? ?? 10";
extern int StopLoss=50;
extern int TakeProfit=50;
extern string rem33="??????? ????????? ? ??";
extern int Level_NoLoss=30;
extern string rem4="????? 0-??????? ???, 1-???????? ??????????";
extern int Shift_Indik=1;
extern int Shift_open=0;
extern string rem5="????? ??????";
extern int Magik=112233;
bool Label_B=true, // ????? ???????? ?????? Buy
Label_S=true; // ????? ???????? ?????? Sell
bool Label_Modify=true;
int Lot_Close[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
bool
Ans,
Cls_B=false, // ???????? ??? ???????? Buy
Cls_S=false, // ???????? ??? ???????? Sell
Opn_B=false, // ???????? ??? ???????? Buy
Opn_S=false; // ???????? ??? ???????? Sell
int Total=0; // ?????????? ???????
int Ticket[5];
double SL = StopLoss;
double TP = TakeProfit;
for(int i=1; i<=OrdersTotal(); i++) // ???? ???????? ?????
{
if (OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES)==true) // ???? ???? ?????????
{ // ?????? ???????:
if (OrderSymbol()!=Symbol())continue; // ?? ??? ???. ???????
if (OrderMagicNumber()!=Magik)continue;
ArrayResize(Ticket,Total+1);
ArrayResize(Lot_Close,Total+1);
Ticket[Total]=OrderTicket();
Lot_Close[Total]=OrderLots();
Total++; // ??????? ?????????? ???????
}
}
int Error=GetLastError();
double MA_1=iMA(NULL,0,P_MA_1,0,MODE_SMMA,PRICE_MEDIAN,Shift_Indik);
double MA_2=iMA(NULL,0,P_MA_2,0,MODE_SMMA,PRICE_MEDIAN,Shift_Indik);
double MA_3=iMA(NULL,0,P_MA_3,0,MODE_SMMA,PRICE_MEDIAN,Shift_Indik);
if (MA_3 > MA_2+Delta*Point && MA_2 > MA_1+Delta*Point )
{
Opn_B=true;
Cls_S=true;
}
if (MA_1 > MA_2+Delta*Point && MA_2 > MA_3+Delta*Point )
{
Opn_S=true;
Cls_B=true;
}
for (i=0; i<Total; i++)
{
if (Label_Modify == true
&& OrderSelect(Ticket[i],SELECT_BY_TICKET) == true
&& OrderProfit() > 0
&& MathAbs(iClose(NULL,0,0)-OrderOpenPrice()) > Level_NoLoss*Point )
{
OrderModify(Ticket[i],OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0);
Label_Modify=false;
}
}
for (i=0; i < Total; i++)
{
if (Cls_B==true)
if ( OrderSelect(Ticket[i],SELECT_BY_TICKET) == true && OrderType()==0 )
{ OrderClose(Ticket[i],Lot,Bid,2); }
if (Cls_S==true)
if ( OrderSelect(Ticket[i],SELECT_BY_TICKET) == true && OrderType()==1)
{ OrderClose(Ticket[i],Lot,Ask,Показано первые 50% кода (символов: 4175)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.