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

Sovetnik_Setka_v1

sovetnik_setka_v1 ea @ fxsignalspot.mq4
Вы автор или правообладатель?

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

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

О программе

Советник Sovetnik_Setka_v1 реализует сеточную торговую стратегию в MetaTrader 4. Он вычисляет наклон скользящей средней с помощью iMA и использует осциллятор OsMA (iOsMA) для генерации сигналов на открытие и закрытие позиций.

При наличии подходящих условий советник открывает ордера через OrderSend и управляет ими, применяя сетку с заданными шагами. При достижении определённых условий по прибыли или количеству позиций происходит их закрытие через OrderClose.

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

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

НастройкаОписание
Slow_MACD Период медленной скользящей средней для расчёта наклона и OsMA
Alfa_min Минимальное значение наклона скользящей средней для определения тренда
Alfa_delta Допустимое отклонение наклона скользящей средней для определения тренда
Fast_MACD Период быстрой скользящей средней для расчёта OsMA
Slip Смещение быстрой линии при расчёте OsMA
N_step Шаг сетки для первой позиции при её корректировке
D_step Шаг сетки для дополнительных позиций при их увеличении
Получить полный код

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

double Points;                                                                                         //

       int kg              =2;       //??????????? ????????? ?????????? ??????? (???)                  //
extern int Slow_MACD       =18;      //?????? ????????? ?????????? ??????? (???)                       //
extern int Alfa_min        =2;       //??????????? ???? ??????? ?? (??/???)                            //
extern int Alfa_delta      =34;      //?????? ????????????? ???? ??????? ?? (??/???)                   //
extern int Fast_MACD       =1;       //?????? ??????? ?????????? ??????? (???)                         //
extern int Slip            =5;       //??????????????? (???)                                           //
extern int N_step          =80;      //????????? ?????????? ????? ????????? ???????? (??)              //
extern int D_step          =80;      //?????????? ?????????? ????? ????????? ???????? (??)             //
       int Tay             =2;       //??????????? ????? ????? ????????? ?????? (???)                  //
       int N_max           =5;       //???????????? ????????? ?????????? ???????? ?????? (??)          //

       int n_Lots          =1;       //????? ?????? ?????? ? ????? ???????? ???????????? ??????? ????  //
       int Magic           =220;     //?????????? ????? ??????                                         //

int init()                                                                                             //
{Points = MarketInfo (Symbol(), MODE_POINT);                                                           //
return(0);}                                                                                            //

int deinit()                                                                                           //
{return(0);}                                                                                           //

int start()                                                                                            //
{                                                                                                      //

int cnt,dt,dt_buy,dt_sell;                                                                             //
int Buy_Orders_Time,Sell_Orders_Time,Buy_Orders,Sell_Orders,Orders_all;                                //
int longsignal,shortsignal,trend_up,trend_dn;                                                          //
int up1,up2,dn1,dn2,buy_open,sell_open,Close_all[1];                                                   //
double Lots,profit,Step,price_op;                                                                      //

int r,j=0;                                                                                             //
double MA_0,MA_1,Fast_0,Fast_1,Slow_0,Slow_1,Alfa;                                                     //

if (! IsTradeAllowed())                            return(0);//????????? ????????? ? ????? ????????    //
if(Bars<(2*kg*Slow_MACD*60)/Period())              return(0);//??????? ??????? ?? ???????              //
if(AccountFreeMargin()<1000 && OrdersTotal()<1)    return(0);//??????????? ????? ?? ?????              //

Buy_Orders=0;Sell_Orders=0;Orders_all=0;profit=0.0;                                                    //
for (cnt=0;cnt<=(OrdersTotal()-1);cnt=cnt+1)                                                           //
{OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);                                                         //
if(OrderType()==OP_BUY  && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)                       //
{Buy_Orders_Time =OrderOpenTime();Buy_Orders =Buy_Orders+1;                                            //
profit=profit+OrderProfit();Orders_all=Orders_all+1;price_op=OrderOpenPrice();}                        //
if(OrderType()==OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)                       //
{Sell_Orders_Time=OrderOpenTime();Sell_Orders=Sell_Orders+1;                                           //
profit=profit+OrderProfit();Orders_all=Orders_all+1;price_op=OrderOpenPrice();}}                       //

dt_buy =TimeCurrent()-Buy_Orders_Time;                    //????? ? ??????? ???????? ???????           //
dt_sell=TimeCurrent()-Sell_Orders_Time;                   //????? ? ??????? ???????? ???????           //
dt=dt_buy;                                                                                             //
if (dt_sell<dt_buy) dt=dt_sell;                           //????? ? ??????? ???????? ????????? ??????  //
if (dt<=(10+60*Period()))                      return(0); //??????? ?? ???????? ???????? ????????      //

r=60/Period();                                            //?????????? ????? ? ????                    //

MA_0=iMA(NULL,0,Slow_MACD*r*kg,0,MODE_SMA,PRICE_OPEN,j);                                               //
MA_1=iMA(NULL,0,Slow_MACD*r*kg,0,MODE_SMA,PRICE_OPEN,j+1);                                             //
Al

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

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

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

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

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

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

Стоимость полного кода
466,40₽ ≈ $5.70