Aiuto per la codifica - pagina 628

 
annbeea:
Grazie

ma sono abbastanza principiante nella codifica

posso cambiare se un indicatore mt4 chiamato xyz ha i seguenti parametri:

extern int A=9;

extern int B=14;

extern int D = 10;

e la parte icustom asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift); ?ma non capisco molto BufferNumber e Shift? cosa significa? grazie

annbee

Controlla questo thread per i dettagli: https: //www.mql5.com/en/forum/173108

 

ciao mladen,

forse penso di aver fatto qualche errore in precedenza,

xyz dovrebbe essere come questo

extern int A=9;

extern int B=14;

extern double D = 10;

domanda1:e parte icustom asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); è ok/ corretto?? grazie

domanda2:e parte icustom asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); come circa se io intenzionalmente o erroneamente mancare la D in frase icustom, è ok lavoro o manca qualcosa in visualizzazione o calcolo o totale errato? grazie per i commenti.

 
annbeea:
ciao mladen,

Forse penso di aver fatto qualche errore in precedenza,

xyz dovrebbe essere così

extern int A=9;

extern int B=14;

extern double D = 10;

domanda1:e la parte icustom asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); è ok/ corretto?? grazie

domanda2:e parte icustom asE=iCustom(Null,timeframe, "xyz",A,B,0,pos); che dire se intenzionalmente o erroneamente mi manca la D nella frase icustom, è ok lavoro o manca qualcosa in visualizzazione o calcolo o totale errato? grazie per i commenti.

Se ometti un parametro dalla coda dell'elenco dei parametri, verrà utilizzato il valore predefinito per il parametro, ma per favore leggi questo thread per i dettagli su come viene utilizzata la funzione iCustom() e quali sono i parametri esatti per la funzione iCustom()

 

ciao mladen

il mio livello di codifica è molto basso perché ho appena molto grezzo di apprendimento informatico prima, voglio solo fare qualcosa di lavoro per me senza codifica troppo sophiscated, la maggior parte delle cose che non sono molto capire anche leggere il thread,

perché non ho nemmeno chiaro la differenza tra il concetto di doppio, stringa, ecc.

ma la mia domanda è proprio questa, sembra che la chiave qui sia D, quindi la mia domanda è: è se : extern int D=10 o extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); è ok/ corretto?? grazie

 
annbeea:

ciao mladen

il mio livello di codifica è molto basso perché ho appena molto grezzo di apprendimento informatico prima, voglio solo fare qualcosa di lavoro per me senza codifica troppo sophiscated, la maggior parte delle cose che non sono molto capire anche leggere il thread,

perché non ho nemmeno chiaro la differenza tra il concetto di doppio, stringa, ecc.

ma la mia domanda è proprio questa, sembra che la chiave qui sia D, quindi la mia domanda è: è se : extern int D=10 o extern double D=10,icustom part asE=iCustom(Null,timeframe, "xyz",A,B,D,0,pos); è ok/ corretto?? grazie

anbbeea,

Sì, è corretto

 

Ciao Mladen,

Posso sapere se il raggio sul grafico può essere regolato per quanto tempo sul lato destro che voglio?

Come cambiare questo >

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

per favore, ho provato a far apparire la freccia dopo la chiusura della candela del segnale per evitare la riverniciatura, ma tutto senza risultato.

per favore aiutatemi MR. TOOLS e MLADEN, di seguito gli allegati.
 

mladen & mrtools

Ho un EA che si fa esplodere con i trade. Ho bisogno di aiuto per costruire un Void o una funzione che può essere aggiunta a un EA esistente. Questa funzione ha bisogno di affrontare:

input bool doBasketExit = true; // Controlla le condizioni di Basket Exit
input double BasketTP = 250.0; // Basket Take Profit(valuta del conto) Il grafico Pair
input double BasketSL = -100.0; // Basket Stop Loss (valuta del conto) La coppia del grafico

Sto eseguendo 9 coppie/carte con un EA aggressivo su H1 e voglio che il trading del cesto sia specifico per la coppia su ognuno dei 9 grafici.
Ecco cosa mi è successo. 9 grafici in esecuzione, 3 grafici sono in commercio con, naturalmente, 3 coppie separate, ciascuno con 15 scambi, sì 45 scambi aperti, 2 sono in profitto e uno sta perdendo male. Ho cercato un modo per sommare ogni gruppo/coppia dei 15 separatamente e strofinare ogni gruppo contro un canestro SL & TP. Ho trovato un cesto impostato, ma ovviamente ha bisogno di essere perfezionato. Il trucco è quello di far sommare la stessa coppia dalla colonna Order Profit Trade. Stando su un grafico con una coppia specifica ho pensato di trovare un vuoto ma è un po' complicato. La funzione deve in qualche modo leggere l'OrderProfit per coppia?

Vedi il mio codice come un povero esempio;

void closeTrades( CURRENCY* &currencies[] ) {
// Controlla l'uscita dal paniere
if ( doBasketExit ) {
double basketProfit = getBasketProfit();
if ( ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) ) ||
( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ) ) {
closeAll();
}
}
doppio getBasketProfit() {
double basketProfit = 0.0;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ( OrderMagicNumber() == MagicNumber ) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
basketProfit += OrderProfit() + OrderSwap() + OrderCommission();
}
}
}
}
return(basketProfit);
}

void closeAll() {
double closePrice;
stringa symbolName;
int risultato;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--) {
if (OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
if ( OrderMagicNumber() == MagicNumber ) {
if ( (OrderType() == OP_BUY) || (OrderType() == OP_SELL) ) {
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ? MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK );
risultato = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50 );
}
}



Apprezzo molto che tu dia un'occhiata a questo

Grazie
Ray

 
stevenpun:

Ciao Mladen,

Posso sapere se il raggio sul grafico può essere regolato per quanto tempo sul lato destro che voglio?

Come cambiare questo >

Prova a fare quanto segue:

Invece di

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

Per favore, ho provato a far apparire la freccia dopo la chiusura della candela del segnale per evitare la riverniciatura, ma tutto senza risultato.

per favore aiutatemi MR. TOOLS e MLADEN, di seguito sono allegati.

kapoo

Attualmente gli upload non funzionano quindi non posso vedere i tuoi file

Non appena questi problemi saranno risolti, riprenderemo. OK?