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

 
Processor_ua:
Ho dimenticato la mia password su Metatrader, come posso crearne una nuova?


Se non hai cancellato la tua email, vedi la scheda del terminale "Mailbox" - Registra un nuovo account...

Se l'avete cancellato, contattate la vostra società di intermediazione.

 
Roman.:


Se non hai cancellato la tua posta, vedi Mailbox del terminale - Registra un nuovo account...

Se l'avete cancellato, contattate l'helpdesk della vostra società di intermediazione.


Non so esattamente a chi mandarlo, e cos'è un DC? È un conto demo, e ho fatto trading per 3 mesi ed è andato tutto in malora.
 
CLAIN:


la cosa interessante è che non ci sono problemi sul tester. Funziona dal 2000 ad oggi senza scarichi.

forse il codice aiuterebbe?

Cioè ho una funzione principale qui e le altre due la duplicano soltanto. Fatto per l'assicurazione, ma smette ancora di funzionare

if(OrderClosePrice()-OrderOpenPrice()<0)

Penso che controlliamo l'ultima posizione aperta, se è +, apriamo.

Se è così, dovremmo controllare così.

int start()
  {
//----
  double ClosePrice_biu,OpenPrice_biu,ClosePrice_sell,OpenPrice_sell;
  int i;

   for ( i=0; i<OrdersHistoryTotal(); i++)
       {
        OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
           if (OrderSymbol()==Symbol())
              {
             if(OrderType()==OP_BUY)
                 {
                ClosePrice_biu= OrderClosePrice();
                OpenPrice_biu= OrderOpenPrice();
                 }
             if(OrderType()==OP_SELL)
                 {
                ClosePrice_sell= OrderClosePrice();
                OpenPrice_sell= OrderOpenPrice();
                 }
              }
        } 
                
  Comment("\n","ClosePrice_biu = ",ClosePrice_biu,
          "\n","OpenPrice_biu = ",OpenPrice_biu,
          "\n","ClosePrice_sell = ",ClosePrice_sell,
          "\n","OpenPrice_sell = ",OpenPrice_sell);
//----
   return(0);
  }

come questo.

 
Processor_ua:

Grazie, ho cancellato la posta, ma in soprota a chi esattamente per inviare, non capisco affatto, e che cosa è DC?? è un conto demo, e 3 mesi di trading, tutto giù per lo scarico.

Se si tratta di un conto demo, nessuno se ne occuperà. Iniziare un nuovo account. Non cancellare quella linea con la posta con le password del conto di trading. DC è il centro di negoziazione attraverso il quale si fa trading.
 
Ciao a tutti. Qui sotto c'è uno snippet rudimentale di un programma che sto avendo problemi a completare. Voglio che controlli se c'è un altro ordine nello stesso posto (con lo stesso prezzo) e se c'è, dovrei saltarlo. Altrimenti, imposta gli ordini fino ai limiti stabiliti e poi li piazza dopo il secondo o terzo turno. Se lo imposti su automatico, devi impostare il buy stop e vedrai il risultato. Se qualcuno è in grado di finire questo, per favore non sia pigro. Quando funziona - ricompensa sicura!!!


extern double Lot=0.01;
extern bool Ustan_BuyStop=true;
extern bool Ustan_SellStop=true;
doppio Dist=10000.0;
stringa SMB;
doppio NewPrice,SL,TP;
int i,z;
int start()
{
RefreshRates();
SMB=Simbolo();
if(Ustan_BuyStop || Ustan_SellStop) {UstanOtlozh();}
}
ritorno(0);
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped();
RefreshRates();
SMB=Simbolo();
{
int i=1;
mentre(i<=OrdiniTotali())
{
se (OrderSelect(i-1,SELECT_BY_POS)==true)
{
se (OrderSymbol()!= SMB) continua;
int Tip=OrderType();
se (Tip<2) continua;
double Price=OrderOpenPrice();
{
NewPrice=Prezzo;
while(NewPrice<=Ask+300*Point||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point;
SL=NewPrice-20*Point;
TP=NewPrice+20*Point;
OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,SL,TP,NULL,0,CLR_NONE);
se(NewPrice>Ask+300*Point|||NewPrice<Ask+20*Point)
ritorno;
}}
}
}
}
}
 
Roman.:


"+++++++++++++++++++++++++++++++++++++++++++ e display"

E imparare a inserire il codice correttamente. Iltuo foglio non interessa a nessuno...

Leggete tutto qui.


Già... foglio...

Ho trovato il difetto da solo. La funzione

void TRENDS(string name, int PER, int n, int X, int Y, color Lab_Trend_Bull, color Lab_Trend_Bear, color Lab_Trend_Doj, int rsm)

Quando lo cancello, tutto funziona. Non so perché funziona SOLO su EURUSD????????

 
nlp2311:


Già... foglio...

Ho trovato io stesso il punto di rottura. La funzione

void TRENDS(string name, int PER, int n, int X, int Y, color Lab_Trend_Bull, color Lab_Trend_Bear, color Lab_Trend_Doj, int rsm)

Quando lo cancello, tutto funziona. Non so perché funziona SOLO su EURUSD????????


È una coppia magica, sulla quale anche i codici storti funzionano sempre, in modo da far scendere il cliente più velocemente, almeno su qualcosa... :-)

Un altro trucco del Consorzio Mondiale delle Banche...

 
Melko:
Ciao a tutti. Qui sotto c'è uno snippet rudimentale di un programma che sto avendo problemi ad arrivare alla fine. Devo fare in modo che controlli se c'è un altro ordine nello stesso posto (con lo stesso prezzo) e se c'è, allora lo salta. Altrimenti, imposta gli ordini fino ai limiti stabiliti e poi li piazza dopo il secondo o terzo turno. Se lo imposti su automatico, devi impostare il buy stop e vedrai il risultato. Se qualcuno è in grado di finire questo, per favore non sia pigro. Quando funziona - ricompensa sicura!!!


extern double Lot=0.01;
extern bool Ustan_BuyStop=true;
extern bool Ustan_SellStop=true;
double Dist=10000.0;
string SMB;
double NewPrice,SL,TP;
int i,z;
int start()
{
RefreshRates();
SMB=Symbol();
if(Ustan_BuyStop || Ustan_SellStop) {UstanOtlozh();}
}
return(0);
void UstanOtlozh()
{
double OldPrice=WindowPriceOnDropped();
RefreshRates();
SMB=Symbol();
{
int i=1;
while(i<=OrdersTotal())
{
if (OrderSelect(i-1,SELECT_BY_POS)==true)
{
if (OrderSymbol()!= SMB) continua;
int Tip=OrderType();
if (Tip<2) continua;
double Price=OrderOpenPrice();
{
NewPrice=Price;
while(NewPrice<=Ask+300*Point||NewPrice>=Ask+20*Po int)
{
NewPrice=NewPrice+20*Point;
SL=NewPrice-20*Point;
TP=NewPrice+20*Point;
OrderSend(SMB,OP_BUYSTOP,Lot,NewPrice,3,SL,TP,NULL,0,CLR_NONE);
if(NewPrice>Ask+300*Point||NewPrice<Ask+20*Point)
return;
}}
}
}
}
}

quando si inserisce il codice, utilizzare il pulsante "SRC" nella barra degli strumenti che appare quando si inseriscono i commenti

  for(cnt = 0; cnt < OrdersTotal(); cnt ++)
  {
    OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    if(OrderMagicNumber() != MagicNumber || OrderSymbol() != Symbol()) {continue;}

    if(OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol() && OrderType() <= OP_SELL)
    {
      if(OrderType() == OP_BUY)
      {
        if(LatestBuy < OrderOpenTime())  {LatestBuy = OrderOpenTime();}
        if(NearestBuy == 0.0 || (MathAbs(ND(Bid, dgts) - ND(OrderOpenPrice(), dgts)) / Point < MathAbs(ND(Bid, dgts) - ND(NearestBuy, dgts)) / Point)) {NearestBuy = ND(ND(OrderOpenPrice(), dgts) + sprd * Point, dgts);}
      }
      else
      {
        if(LatestSell < OrderOpenTime())  {LatestSell = OrderOpenTime();}
        if(NearestSell == 0.0 || (MathAbs(ND(Ask, dgts) - ND(OrderOpenPrice(), dgts)) / Point < MathAbs(ND(Ask, dgts) - ND(NearestBuy, dgts)) / Point)) {NearestSell = ND(OrderOpenPrice(), dgts);}
      }
    }
  }
  if(ND(MathAbs(NearestBuy - ND(Bid, dgts)) / Point, 0) < MinDist)  {MMM_BuyCanOpen = false;}
  if(ND(MathAbs(ND(Ask, dgts) - NearestSell) / Point, 0) < MinDist)  {MMM_SellCanOpen = false;}
  if(TimeCurrent() - LatestBuy < MinTime * 60)  {BuyCanOpen = false;}
  if(TimeCurrent() - LatestSell < MinTime * 60)  {SellCanOpen = false;}

.....
  
  if(BuyCanOpen)
  {
отправка приказа на покупку (по рынку или отложки)
  }

  if(SellCanOpen)
  {
отправка приказа на продажу (по рынку или отложки)
  }

provare qualcosa del genere ...

 

Puoi dirmi come costruire un indicatore usando un altro indicatore? Per esempio ho uno stocastico:

double sth=iStochastic(Symbol(),0,25,3,5,0,0,0,1);

Come posso usarlo per costruire una bollinger?

 

Buon pomeriggio!

Domanda sugli array, in questo caso negli script.

L'operatore di assegnazione (=) funziona in modo incomprensibile se si usa una variabile piuttosto che una costante (numero) come indice della matrice.

Per esempio:

//---------------------

doppio s[10] ;

int i = 0;

doppio priceOpen = 10;

mentre( i < 10)

{

s[i] = priceOpen; // NON APPLICARE. Se s[5] = piceOpen; allora una VARIABILE della matrice assume un nuovo valore...

i++;

}