Доработать код. Если не жалко бесплатно)

MQL4 Uzman Danışmanlar

İş Gereklilikleri

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

 


#property description "Советник открывает позиции по сигналам стохастика"
//--------------------------------------------------------------------*/
extern int     KPeriod              = 5;
extern int     DPeriod              = 3;
extern int     Slowing              = 3;
extern int     LevelSell            = 75;
extern int     LevelBuy             = 25;
extern int     Stoploss             = 50;           //стоплосс
extern int     Takeprofit           = 50;           //тейкпрофит
extern int     TrailingStop         = 10;           //трейлингстоп, если 0, то нет трейлинга
extern double  Lot                  = 0.05;         //лот
extern int     slippage             = 5;            // проскальзывание
extern int     Magic                = 0;
//--------------------------------------------------------------------

//--------------------------------------------------------------------
double STOPLEVEL;

//-------------------------------------------------------------------
void OnTick()
{
   if (!IsTradeAllowed())
   {
      return;
   }
   STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL);
   double OSL,OTP,OOP,StLo=0,SL=0,TP=0;
   int i,b=0,s=0,tip;
   for (i=0; i<OrdersTotal(); i++)
   {    
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())
         {
            tip = OrderType();
            OSL = NormalizeDouble(OrderStopLoss(),Digits);
            OTP = NormalizeDouble(OrderTakeProfit(),Digits);
            OOP = NormalizeDouble(OrderOpenPrice(),Digits);
            SL=OSL;TP=OTP;
            if (tip==OP_BUY)            
            {  
               b++;
               if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)
               {
                  SL = NormalizeDouble(OOP - Stoploss   * Point,Digits);
               }
               if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)
               {
                  TP = NormalizeDouble(OOP + Takeprofit * Point,Digits);
               }
               if (TrailingStop>=STOPLEVEL && TrailingStop!=0)
               {
                  StLo = NormalizeDouble(Bid - TrailingStop*Point,Digits);
                  if (StLo >= OOP && StLo > OSL) SL = StLo;
               }
               if (SL != OSL || TP != OTP)
               {  
                  if (!OrderModify(OrderTicket(),OOP,SL,TP,0,clrNONE)) Print("Error OrderModify <<",(GetLastError()),">> ");
               }
            }                                        
            if (tip==OP_SELL)        
            {
               s++;
               if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)
               {
                  SL = NormalizeDouble(OOP + Stoploss   * Point,Digits);
               }
               if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)
               {
                  TP = NormalizeDouble(OOP - Takeprofit * Point,Digits);
               }
               if (TrailingStop>=STOPLEVEL && TrailingStop!=0)
               {
                  StLo = NormalizeDouble(Ask + TrailingStop*Point,Digits);
                  if (StLo <= OOP && (StLo < OSL || OSL==0)) SL = StLo;
               }
               if (SL != OSL || TP != OTP)
               {  
                  if (!OrderModify(OrderTicket(),OOP,SL,TP,0,clrNONE)) Print("Error OrderModify <<",(GetLastError()),">> ");
               }
            }
         }
      }
   }
   //----------------------------------------------------------------

   double Stoch0 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,0);
   double Signl0 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,0);

   double Stoch1 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,1);
   double Signl1 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,1);

   //-----------------------------------------------------------------------
   if (Stoch0>Signl0 && Stoch1<Signl1 && Stoch0<LevelBuy)
   {
      if (b==0)
      {
         if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,0,0,NULL,Magic,0,clrNONE)==-1) Print("Ошибка открытия ордера <<",(GetLastError()),">>  ");
      }
   }
   if (Stoch0<Signl0 && Stoch1>Signl1 && Stoch0>LevelSell)
   {
      if (s==0)
      {
         if (OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,0,0,NULL,Magic,0,clrNONE)==-1) Print("Ошибка открытия ордера <<",(GetLastError()),">>  ");
      }
   }
return;
}
//--------------------------------------------------------------------

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(1)
Projeler
2
50%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
2
Geliştirici 2
Derecelendirme
(157)
Projeler
220
50%
Arabuluculuk
2
50% / 0%
Süresi dolmuş
15
7%
Serbest
3
Geliştirici 3
Derecelendirme
(403)
Projeler
707
49%
Arabuluculuk
57
16% / 49%
Süresi dolmuş
130
18%
Çalışıyor
4
Geliştirici 4
Derecelendirme
(80)
Projeler
117
67%
Arabuluculuk
16
25% / 13%
Süresi dolmuş
12
10%
Serbest
5
Geliştirici 5
Derecelendirme
(564)
Projeler
933
47%
Arabuluculuk
302
59% / 25%
Süresi dolmuş
125
13%
Yüklendi
6
Geliştirici 6
Derecelendirme
(66)
Projeler
143
34%
Arabuluculuk
10
10% / 60%
Süresi dolmuş
26
18%
Serbest
7
Geliştirici 7
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
8
Geliştirici 8
Derecelendirme
(1)
Projeler
7
14%
Arabuluculuk
2
0% / 100%
Süresi dolmuş
0
Serbest
Benzer siparişler
Нужен скрипт на C# для Multicharts .net скрипт, который работает с тремя таймфреймами одного инструмента (10, 15, 60 минут), то есть тремя наборами данных, открывает сделки в лонг, если индикатор RSI на одном из наборов данных вышел из зоны перепроданности, то есть пересек уровень 30, закрывает сделку в двух случаях, первый: если достиг уровня перекупленности по RSI на том же наборе данных, второй если достиг уровня
Есть индикатор нужно сделать скриншоты плюсовых сделок. Как работает индикатор могу показать. Скриншоты сначала делаются на одной версии( для разработчиков), потом сделать в тестере скрины в другой версии индикатора. Также на скриншоте должна быть одна сделка( скриншотов длжно быть более 20)
**Техническое задание (ТЗ) для торгового робота на платформе Pocket Option** Здравствуйте! Мне нужен торговый робот для работы на платформе **Pocket Option** (бинарные опционы). Основная задача робота – открывать сделки по стратегии **мартингейл**. В случае неудачной сделки робот должен увеличивать сумму следующей ставки в **2,5 раза**, пока не будет достигнута прибыль. Однако, мне нужен робот с более «умным»
**Техническое задание (ТЗ) для создания торгового робота на MetaTrader 4/5** **Добрый день, дорогие фрилансеры!** Я ищу опытного разработчика для создания торгового робота на платформу MetaTrader 4 или MetaTrader 5. У меня есть несколько ключевых требований и пожеланий, которые необходимо учесть при разработке. Я не обладаю глубокими знаниями в программировании и функционировании торговых роботов, поэтому надеюсь
Создать скрипт или робот , который выставляет отложные ордера , через определённое количество пунктов. закрытие по тэйк профит? Сколько стоит? После закрытия на место этого ордера должен выставляться точно такой же . После первого открытия должны быть выставлены отложные ордера в обе стороны , через определенное количество пунктов. ( В настройках должна быть возможность выставлять интервал через который будут
Здравствуйте! Нужно доработать существующий советник, а именно добавить в него 4 новых функции. Желательно найти человека, который работал с такими моментами, как: слом рыночной структуры, имбаланс. Одна из этих функций очень простая и легкая в реализации. ТЗ для оценки отправлю Вам в чате
-перевод графика mt 4 в он-лайн график ренко с регулировкой степа (размером кирпичика ренко), Затем поиск линии отбоя по двум точкам ,где вторая точка линии это 7 или 9 точка графика ренко, а первая точка линии совпадает с первой точкой графика ренко
добавить сюда функцию чтобы обойти лимит лотов, т к размер лота увеличивается в процентном соотношении от баланса добавить функцию что если превышен лимит лота то открывается еще ордера с лотами чтобы соответствовать текущему размеру требуемых для открытия лотов допустим был лот 100, следующий нужен будет открыть 120, робот открывает 1 ордер на 100 и в туже секунду еше 1 ордер на 20 лотов, допустим нужен лот 720 то
Добрый день! Нужна программа копировщик сделок с одного счета deriv на другой при помощи API токена. Параметры: Можно выбрать по какому риск менеджменты копируются сделки (masaniello или Лабушер, мартингейл, антимартингейл) Начальный лот тейк профит 1 - устанавливается именно на сделки скопированные программой, при достижении тейк профита 1 или прекращает работать (Stop) или пере запасается работа сначала (ресет)
Вітаю! Код експерта відкритий. Потрібно додати 4 нові функції. ТЗ відправлю пізніше, після подачі Вашої заявки. Ось одна із функцій для прикладу 1. Imbalance . On / Off . Має бути сформований імбаланс між хай і лоу реверс бару на меншому таймфреймі. Реверс бар при цьому береться з поточного таймфрейму. Налаштування: 1) TF _ Imbalance , можливість задати таймфрейм самостійно. 2) MinSizeImbalance

Proje bilgisi

Bütçe