imparare a guadagnare soldi abitanti del villaggio [Episodio 2]! - pagina 234

 
7Konstantin7:

Mentre non ho energia per cercarlo, ho cercato per ore con gli occhi in un mucchio)


Non preoccuparti, Kostyan - ha già abbastanza perdite - non disturbarti a cercarle... :-)
 
7Konstantin7:

Penso che sarà ancora in grado di tagliarla, ma bisogna scendere in tempo - purtroppo non si può indovinare quando.



Beh, non ti farà entrare in tempo... :-)
 

KimIV ha ciò di cui ha bisogno, ma monitora solo SL, e TP non lo fa.

L'Expert Advisor chiude solo le posizioni in cui la perdita in pip ha superato un certo valore specificato. Quali posizioni chiudere, comprare o vendere, così come su quali strumenti di trading, possono essere impostati utilizzando i parametri esterni dell'Expert Advisor:

 
Roman.:

Non ti fa entrare in tempo... :-)

Non ho seguito tutto questo, ma una cosa la so per certo, non importa che tipo di pammers non ha senso investire da nessuna parte, comunque, non ne verrà fuori niente di buono) il mercato è malvagio)

 
7Konstantin7:

KimIV ha ciò di cui ha bisogno, ma monitora solo SL, e TP non lo fa.

L'Expert Advisor chiude solo le posizioni in cui la perdita in pip ha superato un certo valore specificato. Quali posizioni chiudere, comprando o vendendo, e su quali strumenti di trading, possono essere impostate utilizzando i parametri esterni dell'Expert Advisor:


Aggiungi al tuo gufo - l'ho organizzato in questo modo:


...
 // ------------------------------------------------Ищем наш ордер---------------------------------
   int orderType;
   for (int orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
   {
      if (!OrderSelect(orderIndex, SELECT_BY_POS))     continue; // если ордер не выбран, то идем на следующий открытый
      if(OrderCloseTime()!=0) continue;                    // если тикет принадлежит закрытому ордеру, то берем следующий открытый
      if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber)) continue;
      orderType = OrderType();
      if ((orderType != OP_BUY) && (orderType != OP_SELL)) continue;
          ticket = OrderTicket( );                         // Номер ордера
          orderLots = OrderLots();                         // Lots   
          orderProfit = OrderProfit() + OrderSwap();       // Profit
          Price = OrderOpenPrice();                        // Цена открытия рыночного ордера
          SL =  OrderStopLoss();                           // Значение StopLoss ордера
          TP = OrderTakeProfit();                          // Значение TakeProfit ордера          
          if (ticket>0)                                    // Если позиция открылась
              {
                while(OrderSelect(ticket,SELECT_BY_TICKET)==false)       // Если ордер выбран
                Sleep(100);                                 
                double OpenPrice=OrderOpenPrice();
       // Print("OrderTicket()=",OrderTicket(),  "OrderOpenTime()=",OrderOpenTime()); 
       // Print("TimeLocal()=",TimeLocal());                                                                    
                     //---------------------Запоминаем значения сл и тп ордера                     
                if (orderType == OP_BUY) 
                   {                
                     V_StopLossPips = NormalizeDouble(OpenPrice  - (StopLossPips * Point), Digits);
                     V_TakeProfitPips = NormalizeDouble(OpenPrice + (TakeProfitPips * Point), Digits);
                   }
            
                if (orderType == OP_SELL) 
                   {        
                     V_StopLossPips = NormalizeDouble(OpenPrice  + (StopLossPips * Point), Digits);
                     V_TakeProfitPips = NormalizeDouble(OpenPrice - (TakeProfitPips * Point), Digits);
                   }   
                            
              }
             
     // Проверка на предельную просадку      
      double loss = - ((orderProfit * 100.0) / AccountBalance());
      if (loss > MaxLoss)
      {
         Print ("MaxLoss");
         CloseAllOrders(MagicNumber);
         IsExpertFailed = true;
         return (0);
      }
    
       // Проверка закрытия открытой позиции (ордера) по стоп-лоссу           
      if ( V_StopLossPips != 0 )
        {
          if (OrderType() == OP_BUY && Bid <=  V_StopLossPips)  { CloseAllOrders(MagicNumber); Print (" Buy закрываем по сл, V_StopLossPips = ", V_StopLossPips); }             
          if (OrderType()== OP_SELL && Ask >=  V_StopLossPips)  { CloseAllOrders(MagicNumber); Print (" Sell закрываем по сл, V_StopLossPips = ", V_StopLossPips);}  
        }         
        
        // Проверка закрытия открытой позиции (ордера) по тейку        
        if ( V_TakeProfitPips != 0 && MathAbs(orderProfit) > MathAbs (Sum_Loss))
        {
          if (OrderType() == OP_BUY && Bid >=  V_TakeProfitPips)  { CloseAllOrders(MagicNumber); Print ("Buy закрываем по ТР, V_TakeProfitPips = ", V_TakeProfitPips); }             
          if (OrderType()== OP_SELL && Ask <=  V_TakeProfitPips)  { CloseAllOrders(MagicNumber); Print ("Sell закрываем по ТР,V_TakeProfitPips = ", V_TakeProfitPips); }  
        }        
      
      
      // Если тралить, то с соответствующего номера итерации при выполнении НЕОБХОДИМОГО УСЛОВИЯ соответствующим 
      // выбранному видом трала      
      
      if (UseTrailing==1) if ((Iteration >= k)&& (MathAbs(orderProfit) > (MathAbs (Sum_Loss))))
         switch(type)
          {
           case 0:  // простой трал по аналогии учебнику - в зависимости от параметра trlinloss (тралить ли в зоне лоссов)
                   if (orderType == OP_BUY)  SampleTrailing_texbook (0, V_StopLossPips, V_TakeProfitPips); // если бай
                   if (orderType == OP_SELL) SampleTrailing_texbook (1, V_StopLossPips, V_TakeProfitPips); // если селл
                   break;
           //трал по фракталам + отступ (Indent)
           case 1: TrailingByFractals_LAVINA(ticket,s_signal_period,Sum_Loss,Lots_New,V_StopLossPips,trlinloss); break; 
            //трал по теням N свечей + отступ (Indent)       
           case 2: TrailingByShadows  (ticket,s_signal_period,Sum_Loss,Lots_New,V_StopLossPips,trlinloss);  break;   
          }           
       
   //-----------------------------------ВЫВОДИМ ТЕКУЩУЮ ИНФОРМАЦИЮ О ТОРГАХ НА ЭКРАН------------------------------------------------------------ 
     
      string messageLoss = "";
      if (orderProfit < 0.0)  messageLoss = "Просадка = " + DoubleToStr(loss, 1) + "% (макс. " + MaxLoss + "%)";
   
      // Вывод текущего состояния
      Comment("Прибыль = ", DoubleToStr(orderProfit, 1), " (лот ", orderLots, ")  ", messageLoss, " Iteration= ", Iteration, "  Sum_Loss = ", MathAbs (Sum_Loss), " Ширина канала = ", StopLossPips, " TakeProfitPips  = ",TakeProfitPips,  " V_TakeProfitPips = ", V_TakeProfitPips, "  V_StopLossPips = ",  V_StopLossPips, " channel  = ", channel);      
      return (0);
   }
   
   Comment ("");   
...
 
7Konstantin7:

Non ho tenuto traccia di tutto questo, ma una cosa che so per certo, non importa che tipo di pammers non ha senso investire da nessuna parte, comunque, non ne verrà fuori niente di buono) il mercato è malvagio)


Non dirmelo, Kostyan - Paukas, IMHO - rules!!!!

Gli farò pagare la pasta molto presto...

 
Roman.:

Aggiungi al tuo gufo - l'ho organizzato in questo modo:

Grazie, ma ho semi decompilato, qualunque cosa) Penserò a qualcosa.

quando ho un forte movimento (è già successo), il prezzo va oltre SL o TP e niente lo modifica

Ho testato questo all'inizio di quest'anno e sto ancora usando min lot

Finora 2 giorni di lavoro

 
Roman.:

Non dirmelo, Kostyan - Paukas, IMHO - rules!!!!

Gli farò pagare la grana molto presto...

Aha ha visto) Beh, forse, è solo che per ottenere qualcosa di investire un po ', e se si investe un sacco di pasta, lo stesso spaventoso) soprattutto se ci sono stati cattivi investimenti, come non è molto divertente per la fiducia.

 
7Konstantin7:

Ciao a tutti)

I compagni consigliano, cercato per ore tutto invano, il mare simile, ma tutto non che(

Avete un Expert Advisor? Non so se esiste un EA che segue ogni ordine separatamente per tutte le coppie.


Guarda questo, https://www.mql5.com/ru/code/10914, per farlo funzionare per tutte le coppie devi cancellare le linee
if(OrderSymbol()==Symbol())
 
VOLDEMAR:

Guarda questo, https://www.mql5.com/ru/code/10914, per farlo funzionare su tutte le coppie devi cancellare le linee

Wow, proprio quello di cui ho bisogno) grazie)

Motivazione: