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

 
niktron:

if(kolpos==0&&Volume[0]<10&&iOpen("EURAUD",PERIOD_M1,1)<iClose("EURAUD",PERIOD_M1,1)&&iOpen("EURUSD",PERIOD_M1,1)>iClose("EURUSD",PERIOD_M1,1)
&&iOpen("USDJPY",PERIOD_M1,1)<iClose("USDJPY",PERIOD_M1,1)&&iOpen("AUDJPY",PERIOD_M1,1)>iClose("AUDJPY",PERIOD_M1,1)&&Open[1]<Close[1])
OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green);
if(kolpos==0 && 
   Volume[0]<10 && 
   iOpen("EURAUD",PERIOD_M1,1)<iClose("EURAUD",PERIOD_M1,1) && 
   iOpen("EURUSD",PERIOD_M1,1)>iClose("EURUSD",PERIOD_M1,1) &&
   iOpen("USDJPY",PERIOD_M1,1)<iClose("USDJPY",PERIOD_M1,1) &&
   iOpen("AUDJPY",PERIOD_M1,1)>iClose("AUDJPY",PERIOD_M1,1) &&
   Open[1]<Close[1])
   OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,NormalizeDouble(Bid-SL*Point,Digits),0,NULL,magic,0,Green);

Lo stai testando su AUDUSD?

I valori calcolati dei prezzi in un ordine di compravendita devono essere normalizzati alle cifre. Non solo, dovrebbe soddisfare i requisiti di StopLevel (non l'ha fatto qui)

OrderMagicNumber() è il numero magico dell'ordine preselezionato. È necessario impostarlo con un valore specifico, o calcolarlo nell'EA in modo che sia unico per esso.

Prima di questo controllo, disattiva tutti i valori di tutte le condizioni che sono controllate qui. Allora vi sarà chiaro dove cercare.

 
artmedia70:

Stai testando su AUDUSD?

I valori di prezzo calcolati nel tuo ordine di compravendita dovrebbero essere normalizzati a cifre. Non solo, ma dovrebbe soddisfare i requisiti di StopLevel (non l'ha fatto qui)

OrderMagicNumber() è il numero magico di un ordine preselezionato. Dovresti impostarlo come un valore specifico, o calcolarlo nell'EA, in modo che sia unico per esso.

Prima di questo controllo, disattiva tutti i valori di tutte le condizioni che sono controllate qui. Allora vi sarà chiaro dove cercare.



Sì, test su AUDUSD

OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green);-questa linea ha funzionato nel tester senza problemi, fino a quando abbiamo aggiunto le condizioni

come

iOpen("AUDJPY",PERIOD_M1,1)>iClose("AUDJPY",PERIOD_M1,1)...

Ripeto che tutto funziona sull'account... non nel tester...

 
Tutto... ordinato... mancava la cronologia delle quotazioni... AUDJPY-riferito come minore))) Grazie mille a tutti!
 
niktron:

OrderSend("AUDUSD",OP_BUY,Lot,Ask,slippage,Ask-SL*Point,0,NULL,OrderMagicNumber(),0,Green); -questa linea ha funzionato nel tester senza problemi, finché non sono state aggiunte le condizioni

Su questa stringa vi ho già scritto. Poi, quando si ottengono errori 130 non chiedere qual è il problema.
 
artmedia70:
Vi ho già scritto su questa linea. Poi, quando arriva l'errore 130, non chiedetemi qual è il problema.


Quindi l'errore 130 potrebbe non verificarsi per molto tempo e poi accadere?
 
Se qualcuno ha incontrato un codice per calcolare l'equity drawdown (assoluto e relativo), per favore mi dia un link.
 
Leo59:
Se qualcuno ha incontrato un codice per calcolare l'equity drawdown (assoluto e relativo), per favore mi dia un link.
Quando mi serviva, ho cercato, ma non l'ho trovato, perché mi serviva non nel passato, come nel tester, ma nel futuro, mettendo SL su una posizione aperta per anticipare il possibile drawdown, se la posizione chiuderà su SL, visualizzando i dati nel commento sul grafico, cosa che ho fatto, ed è diventato molto comodo per vedere tutti i possibili guai in anticipo, come vi auguro! Allo stesso tempo, avendolo fatto io stesso, ho imparato molto, il che è più prezioso. Buona fortuna a voi!
 
TarasBY:
Già scritto.

Ottimo, grazie mille per questo materiale, ora sarà molto più efficace nel limitare le perdite e aumentare i profitti.
 
niktron:

cioè l'errore 130 potrebbe non verificarsi per molto tempo, ma poi lo farà?
Non sono un telepate, né sono Nostradamus. Non posso dirvi esattamente quando l'errore 130 apparirà. Ma posso dirvi che apparirà. Finché non normalizzi tutti i prezzi calcolati negli ordini di compravendita e controlli i prezzi sl e tp nell'ordine di compravendita per vedere se sono corretti rispetto ai requisiti di StopLevel della tua società di brokeraggio, otterrai l'errore 130.
 

Esiste un tale codice di funzione. In MT4 beta, quando lo compilo, ottengo l'avviso "espressione non booleana" nelle linee contrassegnate da una freccia. Potete suggerirmi come risolvere il problema?

void WindowCaptions()
{
  int hwnd = GetAncestor(WindowHandle(Symbol(),Period()),1); 

  int ret = GetWindowLongA( hwnd, GWL_STYLE );
  if (ret & WS_MAXIMIZE) return;                                               //<---
  if (ret & WS_DLGFRAME) ret -= WS_DLGFRAME; else ret += WS_DLGFRAME;          //<---

  //это если совсем без рамочек 
  // if (ret & WS_THICKFRAME) ret -= WS_THICKFRAME; else ret += WS_THICKFRAME;
  
  SetWindowLongA( hwnd, GWL_STYLE, ret );
  SetWindowPos ( hwnd, 0,0,0,0,0, 39); 
}
Motivazione: