약간의 조정이 필요합니다 - 페이지 5

 

ATP는 물론이지만, 사실은 내가 필요로 하는 움직임에 따라 이 버튼을 직접 설정한다는 것입니다.

그리고 이것은 어디에나 두는 것입니다!

 

예금을 제거하는 코드는 그렇게 복잡하지 않습니다

 //+------------------------------------------------------------------+
//|                                                  OrderDelete.mq4 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   for ( int i= 0 ; i< OrdersTotal (); i++)
     {
       if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES))
        {
         if (OrderSymbol()== Symbol ())
           {
             if (OrderType()> 0 )
              {
               if (OrderDelete(OrderTicket()))
                  i++;
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
 

오늘은 내가 망쳐서 정지 설정을 시작했는데 현재는 SEL ..... 그들은 BUY도 넣지 않고 ...... 여전히 이익을 줄 버그를 찾을 수 없습니다.

수익이 필요해!!! 이것은 나에게 중요합니다!


 //+------------------------------------------------------------------+
//|                                             InstantExecution.mq4 |
//|                                 Copyright 2015, @traderconfident |
//|                            https://confident-trader.blogspot.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, @traderconfident"
#property link        "https://confident-trader.blogspot.com"
#property version    "1.0"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
extern string _Orders_= " --- Set Order ---" ;
extern double Lots= 0.1 ;
extern int StopLoss= 60 ;
extern int TakeProfit= 13 ;
extern int TrailingStart= 65 ;
extern int TrailingStop = 65 ;
extern int TrailingStep = 35 ;
extern int MaxOrderAtOnceTime= 1 ;
extern int Slippage= 0 ;
extern int Magic= 90910 ;

double _sl,_tp,_pip;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit ()
  {
   _pip= Point ;
   if ( Digits == 3 || Digits == 5 ) _pip= 10 * Point ;
//---
   ObjectCreate ( 0 , "CloseButton" , OBJ_BUTTON , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_XDISTANCE , 10 );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_YDISTANCE , 15 );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_XSIZE , 100 );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_YSIZE , 25 );

   ObjectSetString ( 0 , "CloseButton" , OBJPROP_TEXT , "Close Orders" );

   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_COLOR ,White);
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_BGCOLOR ,Red);
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_BORDER_COLOR ,Red);
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_BORDER_TYPE , BORDER_FLAT );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_HIDDEN , true );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_STATE , false );
   ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_FONTSIZE , 12 );

//Exit
   ObjectCreate ( 0 , "Exit" , OBJ_BUTTON , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_XDISTANCE , 120 );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_YDISTANCE , 15 );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_XSIZE , 80 );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_YSIZE , 25 );

   ObjectSetString ( 0 , "Exit" , OBJPROP_TEXT , "Exit" );

   ObjectSetInteger ( 0 , "Exit" , OBJPROP_COLOR ,White);
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_BGCOLOR ,Green);
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_BORDER_COLOR ,Green);
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_BORDER_TYPE , BORDER_FLAT );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_HIDDEN , true );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_STATE , false );
   ObjectSetInteger ( 0 , "Exit" , OBJPROP_FONTSIZE , 12 );

//Buy
   ObjectCreate ( 0 , "Buy" , OBJ_BUTTON , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_XDISTANCE , 210 );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_YDISTANCE , 15 );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_XSIZE , 50 );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_YSIZE , 25 );

   ObjectSetString ( 0 , "Buy" , OBJPROP_TEXT , "Buy" );

   ObjectSetInteger ( 0 , "Buy" , OBJPROP_COLOR ,White);
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_BGCOLOR ,Blue);
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_BORDER_COLOR ,Blue);
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_BORDER_TYPE , BORDER_FLAT );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_HIDDEN , true );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_STATE , false );
   ObjectSetInteger ( 0 , "Buy" , OBJPROP_FONTSIZE , 12 );

//Sell
   ObjectCreate ( 0 , "Sell" , OBJ_BUTTON , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_XDISTANCE , 270 );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_YDISTANCE , 15 );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_XSIZE , 50 );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_YSIZE , 25 );

   ObjectSetString ( 0 , "Sell" , OBJPROP_TEXT , "Sell" );

   ObjectSetInteger ( 0 , "Sell" , OBJPROP_COLOR ,White);
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_BGCOLOR ,Gray);
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_BORDER_COLOR ,Gray);
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_BORDER_TYPE , BORDER_FLAT );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_HIDDEN , true );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_STATE , false );
   ObjectSetInteger ( 0 , "Sell" , OBJPROP_FONTSIZE , 12 );

//Closed at Profit
   ObjectCreate ( 0 , "CloseAtProfit" , OBJ_BUTTON , 0 , 0 , 0 );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_XDISTANCE , 330 );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_YDISTANCE , 15 );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_XSIZE , 100 );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_YSIZE , 25 );

   ObjectSetString ( 0 , "CloseAtProfit" , OBJPROP_TEXT , "Close Profit" );

   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_COLOR ,White);
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_BGCOLOR ,Green);
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_BORDER_COLOR ,Green);
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_BORDER_TYPE , BORDER_FLAT );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_HIDDEN , true );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_STATE , false );
   ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_FONTSIZE , 12 );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
  {
   if (TrailingStart> 0 ) Trailing();

   return ( 0 );
  } 
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent ( const int id,
                   const long &lparam,
                   const double &dparam,
                   const string &sparam)
  {
   int _ticket= 0 ;
   if (sparam== "CloseButton" ) // Close button has been pressed
     {
       int total= OrdersTotal ();
       int i = 0 ;
       for (i = total; i >= 0 ; i--)
        {
         if ( OrderSelect (i,SELECT_BY_POS) && OrderSymbol()== Symbol ())
           {
             //OrderSelect(i,SELECT_BY_POS);
             if (OrderSymbol()== Symbol () && (OrderType()==OP_BUY || OrderType()==OP_SELL))
              {
               _ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo( Symbol (),MODE_ASK), 5 );
               _ticket = OrderClose(OrderTicket(),OrderLots(),MarketInfo( Symbol (),MODE_BID), 5 );
              }
           }
        }
       if (_ticket> 0 )
        {
         ObjectSetInteger ( 0 , "CloseButton" , OBJPROP_STATE , false );
         ObjectsDeleteAll ();
         ExpertRemove ();
        }
     }
   if (sparam== "Exit" )
     {
       ObjectSetInteger ( 0 , "Exit" , OBJPROP_STATE , false );
       ObjectsDeleteAll ();
       ExpertRemove ();
     }
   if (sparam== "Buy" )
     {
       ObjectSetInteger ( 0 , "Buy" , OBJPROP_STATE , false );
      _ticket=Order( "BUY" );
     }
   if (sparam== "Sell" )
     {
       ObjectSetInteger ( 0 , "Sell" , OBJPROP_STATE , false );
      _ticket=Order( "SELL" );
     }
   if (sparam== "CloseAtProfit" )
     {
       ObjectSetInteger ( 0 , "CloseAtProfit" , OBJPROP_STATE , false );
      CloseAtProfit();
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Trailing()
  {
   int ticket= 0 ;
   for ( int cnt= 0 ;cnt< OrdersTotal ();cnt++)
     {
      ticket= OrderSelect (cnt,SELECT_BY_POS,MODE_TRADES);
       if (OrderSymbol()== Symbol () && OrderMagicNumber()==Magic)
        {
         if (OrderType()==OP_SELL)
           {
             if ((TakeProfit> 0 && OrderOpenPrice()>Bid+TakeProfit*_pip) || (StopLoss> 0 && OrderOpenPrice()>Ask+StopLoss*_pip))
              {
               ticket=OrderClose(OrderTicket(),OrderLots(),Bid, 0 ,Violet);
              }
             if (TrailingStart> 0 )
              {
               if (OrderStopLoss()== 0 )
                 {
                   if (Bid+OrderOpenPrice()>TrailingStart*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+TrailingStop*_pip,OrderTakeProfit(), 0 ,Gray);
                    }
                    } else {
                   if (Bid-OrderStopLoss()>Bid+TrailingStep*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+TrailingStop*_pip,OrderTakeProfit(), 0 ,Gray);
                    }
                 }
              }
           }
         if (OrderType()==OP_BUY)
           {
             if ((TakeProfit> 0 && OrderOpenPrice()>Ask+TakeProfit*_pip) || (StopLoss> 0 && OrderOpenPrice()>Bid+StopLoss*_pip))
              {
               ticket=OrderClose(OrderTicket(),OrderLots(),Ask, 0 ,Violet);
              }
             if (TrailingStart> 0 )
              {
               if (OrderStopLoss()== 0 )
                 {
                   if (Ask+OrderOpenPrice()>TrailingStart*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(), 0 ,Gray);
                    }
                    } else {
                   if (Ask-OrderStopLoss()>Ask+TrailingStep*_pip)
                    {
                     ticket=OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*_pip,OrderTakeProfit(), 0 ,Gray);
                    }
                 }
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CloseAtProfit()
  {
   int ticket= 0 ;
   RefreshRates();
   for ( int cnt= 0 ;cnt< OrdersTotal ();cnt++)
     {
      ticket= OrderSelect (cnt,SELECT_BY_POS,MODE_TRADES);
       if (OrderSymbol()== Symbol () && OrderType()==OP_BUY && Bid>OrderOpenPrice())
        {
         ticket=OrderClose(OrderTicket(),OrderLots(),Bid, 0 ,Violet);
        }
       if (OrderSymbol()== Symbol () && OrderType()==OP_SELL && OrderOpenPrice()>Ask)
        {
         ticket=OrderClose(OrderTicket(),OrderLots(),Ask, 0 ,Violet);
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Order( string _Order)
  {
   int i,ticket= 0 ;
   _sl = 0.0 ;
   _tp = 0.0 ;
   if (_Order== "BUY" )
     {
       for (i= 0 ; i<MaxOrderAtOnceTime; i++)
        {
         ticket= OrderSend ( Symbol (),OP_BUYSTOP,Lots,Ask,Slippage,_sl,_tp, "" ,Magic, 0 ,Blue);
        }
        } else {
       for (i= 0 ; i<MaxOrderAtOnceTime; i++)
        {
         ticket= OrderSend ( Symbol (),OP_SELLSTOP,Lots,Bid,Slippage,_sl,_tp, "" ,Magic, 0 ,Red);
        }
     }

   return (ticket);
  } 
//+------------------------------------------------------------------+
 
Сергей Дыбленко :

오늘은 제가 망쳐서 스톱 설정을 시작했는데 현재는 SEL 입니다..... BUY도 안 하고....... 아직 수익을 낼 버그를 못찾고 있습니다.

수익이 필요해!!! 이것은 나에게 중요합니다!


나는 쿨러를 괴롭히고 있습니다 - 모든 것이 테스터에서 여전히 작동하도록

--------------------

설치된 지연

설치된

------------------

삭제

삭제

 

그러나 어떤 이유로 손절매 는 이미 650 또는 750에 서 있습니다

30으로 줄이려고해도 작동하지 않습니다!

 
Alexsandr San :

나는 쿨러를 괴롭히고 있습니다. 그래서 모든 것이 테스터에서 여전히 작동합니다.

테스터는 필요없어요!.....적어도 데모지만 실생활에서는 더 멋져요!

데모에서 버즈가 나오자마자 바로 대출받아서 실물로 갑니다!

 
Сергей Дыбленко :

테스터는 필요없어요!.....적어도 데모지만 실생활에서는 더 멋져요!

데모에서 버즈가 나오자마자 바로 대출받아서 실물로 갑니다!

몇 년 동안 데모에서 전략을 테스트할 것인가!? 테스터에서 가속 학습

또한이 전문가는 데모 또는 실제 또는 테스터의 차이를 만들지 않습니다.

 
왜 몇 년? 나에게 가장 중요한 것은 내가 원하는 결과를 볼 수 있다는 것입니다!
 
손절매 와 차익실현을 끝내면 됩니다
 
테스터의 버튼이 작동하지 않습니다! 데모에서 이 버튼을 테스트하고 있습니다.