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

MQL4 エキスパート

指定

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

 


#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;
}
//--------------------------------------------------------------------

応答済み

1
開発者 1
評価
(1)
プロジェクト
2
50%
仲裁
0
期限切れ
0
2
開発者 2
評価
(157)
プロジェクト
220
50%
仲裁
2
50% / 0%
期限切れ
15
7%
3
開発者 3
評価
(400)
プロジェクト
702
49%
仲裁
57
16% / 49%
期限切れ
128
18%
4
開発者 4
評価
(80)
プロジェクト
117
67%
仲裁
16
25% / 13%
期限切れ
12
10%
5
開発者 5
評価
(555)
プロジェクト
922
48%
仲裁
300
59% / 25%
期限切れ
123
13%
仕事中
6
開発者 6
評価
(66)
プロジェクト
143
34%
仲裁
10
10% / 60%
期限切れ
26
18%
仕事中
7
開発者 7
評価
プロジェクト
0
0%
仲裁
0
期限切れ
0
8
開発者 8
評価
(1)
プロジェクト
7
14%
仲裁
2
0% / 100%
期限切れ
0
類似した注文
we seach software coder for long term work in project salary start from 1500$ per month Need develop web trading terminal for forex and crypto trading. FIX Protocol, c#, crypto API learning
Входные параметры: Направление задает индикатор исходя из направления рынка После появления стрелки в нужном направлении выставляется ТП и СЛ Классический мартингейл, думаю объяснять не надо, после закрытия позиции по стоп лоссу или смены направления торговли открывается новый ордер с удвоенной позицией (К) , после получения ТП торговля прекращается до смены смены слрелки
Нужен эфективный способ, копировать сделки (входы и выходы) с MT4 на торговую апликацию брокера (андроид или айфон). Я знаю это не просто, так как у брокера нет возможности подключиться через API или каким либо другим способом. Пусть это будет даже считывание сигналов с экрана и эмуляция апликации на виндовс и нажатие кнопок вроде автокликера. Есть ли у кого какие идеи
Нужен простой торговый бот по системе сетки и мартингейла на cTrader. Условия и задачи обсудим если вы можете создать на этой платформе. Никаких сложных нюансов нету. Сам бот должен быть с исходниками
Прежде чем соглашаться, сначала подумайте под силу вам или нет. Советник работает на Рендж-Барах и открывает ордера при смене цвета свечи, при некотором условии. Советник открывает ордер одним лотом, и постепенно закрывается с рынка по частям, десять раз по 10 Тейк Профиту (ТР), Стоп Лось, Трал, Безубыток. ПРИМЕР: 10 частей - это фиксированная цифра. 0.10ордер(лот) : 10частей = 0.01лот . Первый 0.01 лот
Идея советника – создается советник в который в последствии легко добавить новые индикаторы. Сигналы на сделку должны складываться из показаний индикаторов: ALLAVERAGES , CCI Color , BykovTrend Каждый индикатор добавляется в 3 экземплярах. Открытие сделок совершается по сигналам индикаторов. Закрытие сделок по сигналам индикаторов или по стопам. Полное ТЗ в файле. Только после обсуждения ТЗ буду делать выбор
Проект направлен на работу с исходным кодом робота для его оптимизации, защиты и подготовки к эксплуатации. Основная цель – собрать робота так, чтобы он работал эффективно и был защищен от попыток несанкционированного доступа или модификации.Первоначально необходимо проанализировать имеющийся исходный код, определить места для потенциального улучшения и структурировать его для удобства работы. Это поможет в
Приветствую . Необходим бот, который передаёт сигнал от буферного стрелочного индикатора МТ4 или МТ5 на Web-платформу брокера бинарных опционов. Передача сигналов возможна с помощью имеющегося у брокера API. Рассмотрю возможность передачи сигналов с помощью Автокликера
Приветствую. Нужен советник открывающий сел и бай на основе показаний индикаторов использующих скользящую среднюю. Будет три индикатора - первая скользящая средняя в виде свечей хайкен аши, два других - скользящие средние в привычном виде. Бай и сел привязаны к соответствующему цвету индикаторов, ордер открывается при совпадении всех цветов всех скользящих средних в зависимости от направления движения (зеленый для
Куплю ваш прибыльный готовый советник МТ4/5. Жду демо советника на тест. Также нужно краткое описание стратегии вашего советника, сет настроек (если есть), на какой инструмент ставить. Цену советника предлагайте. Рассмотрю все варианты. Все обсуждаемо

プロジェクト情報

予算