Лента последних комментариев


+1
Ладно. Я хоть попытался. Всем удачи.
avatar

kvashnin007

  • 16 апреля 2024, 15:40
0
Хотя бы sma57+ sma205 + parabolic_r2 + фракталы для входа и стопы — уже хорошо.
avatar

Avdn

  • 16 апреля 2024, 13:58
0
в упрощенном виде только могу сделать, т.к. здесь большой объем работы
avatar

AM2

  • 16 апреля 2024, 11:28
0
Проблема с ордерами так и осталась!!!


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

AM2

  • 16 апреля 2024, 11:20
+1
Игрун!!! Смотри, учись писать тех задание!!! Сразу видно, человек с инженерно-техническим образованием!!! *friends* 
avatar

njdftgh

  • 16 апреля 2024, 09:38
+1
verta81, спасибо огромное за понимание и проделанную работу и не только от меня, а многих чатцев.
avatar

droba

  • 16 апреля 2024, 05:21
+2

//+------------------------------------------------------------------+
//|                                                       ProBoy.mq4 |
//|                                              Copyright 2024, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property strict

//--- Inputs
extern double Lots       = 0.1;      // лот
extern double KLot       = 2;        // умножение лота
extern double Profit     = 11;       // профит

extern int StopLoss      = 0;        // лось
extern int TakeProfit    = 0;        // язь

extern int Slip          = 30;       // реквот
extern int Magic         = 123;      // магик

datetime t=0;
double high_price,low_price;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder(int type,double price,double lot)
  {
   int r=0;
   color clr=Green;
   double sl=0,tp=0;

   if(type==1 || type==3 || type==5)
     {
      clr=Red;

      if(StopLoss>0)
         sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
     }

   if(type==0 || type==2 || type==4)
     {
      clr=Blue;

      if(StopLoss>0)
         sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
      if(TakeProfit>0)
         tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
     }

   r=OrderSend(NULL,type,lot,NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
   return;
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAll(int ot=-1)
  {
   bool cl=0;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==0 && (ot==0 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slip,White);
              }
            if(OrderType()==1 && (ot==1 || ot==-1))
              {
               RefreshRates();
               cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slip,White);
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int CountTrades(int type=-1)
  {
   int count=0;
   
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()==type || (OrderType()<2 && type==-1))
               count++;
           }
        }
     }
   return(count);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int FindOrderType()
  {
   int oticket,ticketNumber=0,type=0;
   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            oticket=OrderTicket();
            if(oticket>ticketNumber)
              {
               ticketNumber=oticket;
               type=OrderType();
              }
           }
        }
     }
   return(type);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double AllProfit()
  {
   double profit=0;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()<2)
               profit+=OrderProfit()+OrderSwap()+OrderCommission();
           }
        }
     }
   return(profit);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DelOrder()
  {
   bool del=1;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
           {
            if(OrderType()>1)
               del=OrderDelete(OrderTicket());
           }
        }
     }
   return;
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(AllProfit()>Profit && Profit>0)
     {
      CloseAll();
      DelOrder();
     }
   //------------------------------------------------
   if(CountTrades()>0 && CountTrades(5)<1 && CountTrades(4)<1)
     {
      if(FindOrderType()==1)
        PutOrder(4,high_price,Lots*2);
      if(FindOrderType()==0)
        PutOrder(5,low_price,Lots*2);
     }
   //------------------------------------------------
   if(t!=Time[0])
     {
      if(CountTrades()<1 && Close[1]>Open[1] && Close[2]<Open[2] && Close[3]<Open[3])
        {
         high_price=Ask;
         low_price=Low[1];
         PutOrder(0,Ask,Lots);
         PutOrder(5,Low[1],Lots*2);
        }

      if(CountTrades()<1 && Close[1]<Open[1] && Close[2]>Open[2] && Close[3]>Open[3])
        {
         high_price=High[1];
         low_price=Bid;
         PutOrder(1,Bid,Lots);
         PutOrder(4,High[1],Lots*2);
        }

      t=Time[0];
     }

   Comment("\n Profit: ",AllProfit(),
           "\n CountTrades: ",CountTrades());
  }
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+

avatar

verta81

  • 15 апреля 2024, 23:23
0


Проблема с ордерами так и осталась!!!
avatar

dima0603

  • 15 апреля 2024, 22:36
0
*good* , буду дальше тестить!
БЛАГОДАРЮ!!!
avatar

dima0603

  • 15 апреля 2024, 20:39
0
голый график торговать не научился:D ,
потихоньку к этому иду;) 
avatar

dima0603

  • 15 апреля 2024, 20:38
0
Я конечно не программист, а запомнить цены iLow, iHigh нельзя и брать их потом из буфера, а по окончанию цикла буфер очищать. Или как предыдущий делали с горизонтальными линиями и цены прописывать в переменных данных
avatar

droba

  • 15 апреля 2024, 19:57
0
найдите человека который сможет все это объяснить машине
avatar

AM2

  • 15 апреля 2024, 19:34
0
рябит в глазах от обилия графики. для чего все это?
avatar

AM2

  • 15 апреля 2024, 19:14
0
Андрей, давай доделаем советника, люди скачивают, потенциал у него не плохой.
avatar

droba

  • 15 апреля 2024, 17:47
0
Новости здесь как раз в жилу. А вот алгоритм я бы изменил. Я бы каждый раз удваивал лот. Выставлял бы стоп-ордера по верхним-нижним фракталам или ZZ. По причине того, что эти линии чаще пробиваются импульсами. При активации любого стоп-ордера, второй бы тралил за ценой. Это бы «смягчило» мартингейл. Плюс сдвиг с границ флэта.

Вообще-то мысль стоит внимания. Вот вам и работа на флетах и на новостях.
avatar

kvashnin007

  • 15 апреля 2024, 16:43
0
ордера подписал 1,2, и тд
avatar

dima0603

  • 15 апреля 2024, 15:41
0
скрины
avatar

AM2

  • 15 апреля 2024, 15:08
Начать торговлю с Альпари