[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 4. - pagina 90

 
T-G:

Potete consigliarmi, c'è un file csv con dati nel formato 1.33027; 1.33023 e così via.

Poi leggere questo file ma per qualche motivo i dati vengono letti con una precisione di 4 cifre e ho bisogno di con 5.

Leggere in modi diversi e

non aiuta

Leggibile con una precisione di 15 cifre. Le ultime build sono ancora più grandi quando si dichiarano le costanti. Per visualizzare i caratteri dopo il 4, dovete usare una funzione.
 
Posso cambiare un ordine che ha un numero magico mentre faccio trading?
 
Ciao, aiuto consiglio, ha scritto un gufo, periodicamente deve aprire 2 ordini contemporaneamente il problema è che non sempre apre entrambi gli ordini, slippage ho messo e 3 e 5 e 10, ma ancora no no sì e aprire un singolo. Non riesco a capire come organizzare un custode che tenga traccia delle aperture e, se necessario, aprire un ordine mancante "dimenticato"?
 
Myth63:
Posso cambiare un ordine che ha un numero magico mentre faccio trading?

No
 

Aiuto! Non riesco a far funzionare questo codice:

for(i=1;i<=totale;i++) // Ordine del ciclo
{
if(OrderSelect(i-1,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUY && Ticket1==OrderTicket())
{
if(OrderCloseTime()==0 && SL1<Price1 && Bid-Price1>(NoLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
}
if ( OrderCloseTime()==0 && SL1>=Price1 && Bid - SL1 > ((NoLoss1+StepLoss1)*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
}
}
}
}

il punto è che dovrebbe modificare 1 ordine su diversi: Ticket1, ma non lo fa affatto

 
azik1306:

Aiuto! Non riesco a far funzionare il codice:


for(i=1;i<=total;i++) // Цикл перебора ордер
{
   if(OrderSelect(i-1,SELECT_BY_POS)==true)
   {
      if(OrderType()==OP_BUY && Ticket1==OrderTicket())
      {
         // Что выводится??? Посмотрите и проверьте, выполняются ли условия модификации
         // А заодно проверьте, нет ли в логах сообщений об ошибке
         Print("SL1=",DoubleToStr(SL1,8));
         Print("Price1 =",DoubleToStr(Price1 ,8));
         Print("Bid=",DoubleToStr(Price1 ,8));
         Print("NoLoss1=",DoubleToStr(NoLoss1,8));
         Print("StepLoss1=",DoubleToStr(StepLoss1,8));

         if(OrderCloseTime()==0 && SL1<Price1 && Bid-Price1>(NoLoss1*Point))
         {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
         }

         if ( OrderCloseTime()==0 && SL1>=Price1 && Bid - SL1 > ((NoLoss1+StepLoss1)*Point))
         {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
         }
      }
   }
}
 
alsu:

+ se solo 1 ordine con il numero del biglietto1 deve essere cambiato, il ciclo non è affatto necessario.

l'ordine dei biglietti è immediatamente selezionato e cambiato

 
ilunga:

+ se solo 1 ordine con il numero del biglietto1 deve essere cambiato, il ciclo non è affatto necessario.

l'ordine dei biglietti è immediatamente selezionato e cambiato

Sì, +
 
Per favore aiutatemi con questa domanda - l'indice della barra sul timeframe D1 è noto. Possiamo usarlo per conoscere il prezzo massimo del giorno. Come faccio a conoscere l'indice della barra sul timeframe M15, che corrisponde al prezzo massimo del giorno. Ho provato con iHighest(), ma ho bisogno di specificare il numero di elementi da cercare, e sarà diverso per il giorno normale, il weekend o il prefestivo. Forse non c'è bisogno di reinventare la ruota e c'è una funzione già pronta per questo?
 
AndEv:
Per favore aiutatemi con questa domanda: conosco l'indice della barra sul timeframe D1. Così possiamo conoscere il prezzo massimo del giorno. Come faccio a conoscere l'indice della barra sul timeframe M15, che corrisponde al prezzo massimo del giorno. Ho provato con iHighest(), ma ho bisogno di specificare il numero di elementi da cercare, e sarà diverso per il giorno normale, il weekend o il prefestivo. Forse non c'è bisogno di reinventare la ruota e c'è una funzione già pronta per questo?

non ce n'è uno già pronto.

Per scoprire il numero di ordini, è necessario trovare la differenza di due funzioni iBarShift, sostituendo le ore di inizio e fine del giorno (cioè +23:59).

Questo sarà il numero di barre per il periodo richiesto.

Motivazione: