[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 459

 
Maximov7:

Ecco un'altra domanda .... Ho un ordine aperto come questo:

OrderSend("EURUSD",OP_BUY,0.1,C1,10,Bid-0.0017-0.0017,Ask+0.0017);

come aprire un altro ordine se questo chiude a takeprofit????


ha lettoil libro ? (almeno per divertimento)
 
Rileggerlo tre volte..... e ancora?
 
Maximov7:
Ho letto ..... 3 volte e ancora?


Nel ciclo sulla storia degli ordini chiusi, trova "questo" ordine, poi controlla se ha chiuso su TP, se sì, allora apri un "diverso". Questo è tutto.

Vedi qui per maggiori dettagli - seleziona i fi bre di cui hai bisogno, inseriscili nel tuo software e il gioco è fatto.

 
Grazie mille!
 
Maximov7:
Grazie mille!

Godetevelo.
 

Buona sera!

Si prega di dare un'occhiata al codice:

for(i=1;i<=OrdersTotal();i++) // recupera gli ordini per il trawl

{

se(OrderSelect(i-1,SELECT_BY_POS)==true)

{

se (OrderSymbol()!=Instr)

continuare;

if(OrderType()==0)

{

se ((Bid-(OrderOpenPrice()+TralingStop*Point))>0)

return(55);}

if(OrderType()==1)

{

se ((Ask-(OrderOpenPrice()-TralingStop*Point))<0)

ritorno(55);

}

}

Non capisco quale sia il problema, sto testando con un Alert all'interno, non funziona da nessun'altra parte dopo Instr

 
demlin:

Buona sera!

Si prega di dare un'occhiata al codice:

for(i=1;i<=OrdersTotal();i++) // recupera gli ordini per il trawl

{

se (OrderSelect(i-1,SELECT_BY_POS)==true)

{

se (OrderSymbol()!=Instr)

continuare;

if(OrderType()==0)

{

se ((Bid-(OrderOpenPrice()+TralingStop*Point))>0)

return(55);}

if(OrderType()==1)

{

se ((Ask-(OrderOpenPrice()-TralingStop*Point))<0)

ritorno(55);

}

}

Non capisco quale sia il problema, sto testando con un Alert all'interno, non funziona da nessun'altra parte dopo Instr


C'è una linea come questa sopra il codice?
string Instr;
Inserisci il codice correttamente - tramite SRC nell'editor... :-)))
 
Roman.:

C'è una linea come questa sopra il codice? Inserisci il codice correttamente - tramite SRC nell'editor... :-)))
Sì Instr è, mi dispiace non sapere cosa sia SRC
 
demlin:
Sì Instr è, mi dispiace non sapere cosa sia SRC

Quando incolli il codice nel tuo post premi CTRL+ALT+M - poi metti il codice lì (attraverso il buffer CTRL+C - copia, CTRL+V - incolla), poi premi il pulsante "incolla" in fondo alla finestra.
 
demlin:

Buona sera!

Si prega di dare un'occhiata al codice:

for(i=1;i<=OrdersTotal();i++) // recupera gli ordini per il trawl

{

se (OrderSelect(i-1,SELECT_BY_POS)==true)

{

se (OrderSymbol()!=Instr)

continuare;

if(OrderType()==0)

{

se ((Bid-(OrderOpenPrice()+TralingStop*Point))>0)

return(55);}

if(OrderType()==1)

{

se ((Ask-(OrderOpenPrice()-TralingStop*Point))<0)

ritorno(55);

}

}

Non capisco quale sia il problema, sto testando con un Alert all'interno, non funziona da nessun'altra parte dopo Instr


Prova questa opzione - questo è il modo in cui ho organizzato un design simile.


// ------------------------------------------------Ищем наш ордер---------------------------------

int orderType;
   for (int orderIndex = (OrdersTotal() - 1); orderIndex >= 0; orderIndex--)
   {
      if (!OrderSelect(orderIndex, SELECT_BY_POS))
      {
         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();
                                      
                                  
                    
                                if (orderType == OP_BUY) 
                                     {
                                       //здесь трал покупки
                                     }
            
                                if (orderType == OP_SELL) 
                                      {
                                        //здесь трал продажи
                                      }   
                            
                    }
        
   }
Motivazione: