[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 772

 
FoxUA:


Per evitare ulteriori chiarimenti. FoxUA crea il tuo proprio thread con una domanda in cui riveli tutte le complessità. "Qualsiasi domanda da principiante..." è un topic per "Q&A" veloci.
 
DDFedor:

Per evitare ulteriori chiarimenti. FoxUA, crea il tuo thread con una domanda, dove riveli tutti i dettagli. "Any newbie question..." è un topic per "domande e risposte veloci".

Non sto controllando gli atteggiamenti, sto commentando una dichiarazione che ho fatto a me stesso,

Non sto parlando di rapidità, sto parlando di commenti senza senso che non aiutano.

 
FoxUA:

Andrey, ti sei confuso, ho guardato il codice, la tua variabile HaveBuyLimitOrderEnd si verifica solo in questa costruzione:

  if (HaveBuyLimitOrderEnd== true) 
  {DeleteOrder();  // Выбираем            
  }}

E diversi post sopra lo scrivi in questo:

Il punto è che il primo valore funziona bene, ma questo no.

se(HaveBuyLimitOrderEnd== true)
{ModifyBuyStopOrder(PRAskS); // Controlla
} }

Come dovrebbe essere?

 
ToLik_SRGV:

Andrey, ti sei confuso, ho guardato il codice, la tua variabile HaveBuyLimitOrderEnd si verifica solo in questa costruzione:

E diversi post sopra lo scrivi in questo:

È così che dovrebbe essere?



è, ecco la parte logica, per metterlo faccia a faccia ci sono blocchi procicamente la stessa differenza in termini

if(bs==1&&bl==1)
{OpenBuyLimitOrder(Lot*7,PRAskL); 
  if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
      
  }   

if(bt==1&&bl==1) 
{OpenBuyStopOrder(Lot,PRBidS);
   if (HaveBuyLimitOrder== true) 
  ModifyBuyLimitOrder(PRAskL);  // Выбираем            
  } 

if(ss==1&&sl==1)
{OpenSellLimitOrder(Lot*7,PRBidL); 
   if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==1)
{OpenSellStopOrder(Lot,PRBidS); 
  if (HaveSellLimitOrder== true) 
  ModifySellLimitOrder(PRBidL);  // Выбираем            
  } 

  if(bs==1&&bl==3)
{OpenBuyLimitOrderEnd(Lot*15,PRAskL); 
   if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
  } 

if(bt==1&&bl==3) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot*3,PRAskL);
  if (HaveBuyLimitOrder== true) 
  DeleteOrder();  // Выбираем            
  } 

if(ss==1&&sl==3)
{OpenSellLimitOrderEnd(Lot*15,PRBidL); 
   if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==3)
{OpenSellStopOrder(Lot,PRBidS);
OpenSellLimitOrder(Lot*3,PRBidL);
   if (HaveSellLimitOrder== true) 
  DeleteOrder();  // Выбираем            
  } 

   if(bs==1&&bl==7)
{
    if (HaveBuyStopOrder== true) 
  ModifyBuyStopOrder(PRAskS);  // Выбираем            
  } 

if(bt==1&&bl==7) 
{OpenBuyStopOrder(Lot,PRBidS);
OpenBuyLimitOrder(Lot*3,PRAskL); 
  if (HaveBuyLimitOrderEnd== true) 
  DeleteOrder();  // Выбираем            
  } 

if(ss==1&&sl==7)
{  if (HaveSellStopOrder== true) 
  ModifySellStopOrder(PRBidS);  // Выбираем            
  } 

if(st==1&&sl==7)
{OpenSellStopOrder(Lot,PRBidS); 
OpenSellLimitOrder(Lot*3,PRBidL); 
  if (HaveSellLimitOrderEnd== true) 
  DeleteOrder();  // Выбираем            
  } 

quindi qualsiasi blocco suona uguale "se la prima variabile è 1 e la seconda variabile è 1,3,7 allora aprite un ordine pendente con il lotto ____ e il prezzo _____" e anche se la bandiera dell'ordine pendente aperto selezionato è uguale alla verità allora modificate (cancellate) questo ordine

 
Salve. La situazione è la seguente: un valore di spostamento dell'indicatore dal buffer viene cercato dall'istruzione for, cioè for(i=0;i<=100;i++), MD1=MD1+i, MD1=iMACD(........, i), la posizione viene aperta solo se l'ultima barra (in questo caso la 100esima) soddisfa i criteri di apertura. Ho bisogno che si apra nella direzione di 0 barre (se i criteri sono corretti) e che non consideri le barre successive. C'è una soluzione a questo problema? Grazie in anticipo.
 
probabilmente for(i=100;i>=0;i--), ?
 
sergeev:
probabilmente for(i=100;i>=0;i--), ?
Quindi, per qualche motivo gli ordini non si aprono affatto (MD1=MD1-i cambiato).
 

Ciao a tutti, mi è stato consigliato di semplificare il Soviet, ho iniziato a semplificarlo, ma ho un problema, l'essenza del problema quando si aprono gli ordini nel giornale scrive errore 4107 ma si apre facilmente tutti gli ordini, chi può guardare a ciò che il problema, dico subito tutto il codice è preso da biblioteca Kim Igor V. aka KimIV,

File:
test_21.mq4  15 kb
 
sergeev:
probabilmente for(i=100;i>=0;i--), ?
Sembra funzionare, solo i>=2, se 0 o 1, restituisce rispettivamente -1 e 0. Grazie.
 
FoxUA:

Ciao a tutti, mi è stato consigliato di semplificare il Soviet, ho iniziato a semplificarlo, ma ho un problema, l'essenza del problema quando si aprono gli ordini nel giornale scrive errore 4107 ma si apre facilmente tutti gli ordini, chi può guardare a ciò che il problema, dico subito tutto il codice è preso dalla libreria Kim Igor V. aka KimIV,

Normalizzare i prezzi di stop.