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

 
ikatsko:
Perché il comando Print(TimeToStr(Time[0],TIME_MINUTES)); dà un risultato come 12:00[sl]? Il problema qui è il prefisso tra parentesi. E come posso ottenere un risultato senza parentesi? (Grazie in anticipo).

Sei sicuro? Questo di solito viene aggiunto al commento dell'ordine quando si chiude allo stop. [tp] viene aggiunto quando si chiude al take.

Ho messo la tua linea in un modello EA vuoto e l'ho eseguito nel tester a M15 aprendo i prezzi:


No il tuo [sl].
 
Sepulca:


Giusto, non dividere per zero))))
Dovresti fornire una condizione che proibisca la divisione per zero, tutto qui. Anche se non sono un programmatore di alto livello, non mi dimentico di queste cose, nonostante il fatto che exel abbia solo 7 possibili salti condizionali.
 
ikatsko:
Perché il comando Print(TimeToStr(Time[0],TIME_MINUTES)); dà un risultato come 12:00[sl]? Il problema qui è il prefisso tra parentesi. E come posso ottenere un risultato senza parentesi? (Grazie in anticipo).

Saluti, mi ricordo che da qualche parte abbiamo collaborato e ci siamo toccati e tu hai soddisfatto la mia richiesta. Grazie.
 
artmedia70:

Sei sicuro? Questo è di solito aggiunto al commento dell'ordine quando si chiude allo stop. [tp] viene aggiunto quando si chiude al take.

Ho incollato la tua linea in un modello EA vuoto e l'ho eseguito nel tester a M15 su prezzi aperti:


No il tuo [sl]


Sì, hai ragione. Infatti il comando è stato messo dopo SL. Capisco, grazie.

 

Ciao a tutti!!! Ho un EA che apre ordini contro il movimento, come posso cambiare o consigliare dove cambiare?

void modify_orders( int type )
{
int i;
datetime time_last = 0, time_first = TimeCurrent();
double SPREAD = MarketInfo(Symbol(),MODE_SPREAD)*MarketInfo(Symbol(),MODE_POINT), op_pr_last, op_pr_first, level;

for( i = OrdersTotal() - 1; i >= 0; i-- )
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if( OrderMagicNumber() == ID && OrderType() == type )
{
if ( OrderOpenTime() > time_last )
{
op_pr_last = OrderOpenPrice();
time_last = OrderOpenTime();
}
se ( OrderOpenTime() < time_first )
{
op_pr_first = OrderOpenPrice();
time_first = OrderOpenTime();
}
}
}


if ( type == 0 )level = op_pr_last + MathAbs(op_pr_last-op_pr_first) * (SL/100);
if ( type == 1 )level = op_pr_last - MathAbs(op_pr_last-op_pr_first) * (SL/100);

for( i = OrdersTotal() - 1; i >= 0; i -- )
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if( OrderMagicNumber() == ID && OrderType() == type && NormalizeDouble(OrderTakeProfit(),Digits) != NormalizeDouble(level,Digits) )OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),level,0);
}
}

double last_trade( int t )
{

 
KeinRich:

Ciao a tutti!!! Il mio EA sta aprendo ordini contro il movimento, come posso cambiare o consigliare dove cambiare?


Cosa ha a che fare questo con la funzione di modifica, che non è scritta molto bene?
 
C'è una combinazione di tasti di scelta rapida per far apparire la finestra Alert quando è chiusa?
 
Per favore, ditemi come disegnare una freccia con un oggetto LABEL usando un font Wingdings.
 
Neo333:
C'è una combinazione di tasti di scelta rapida per far apparire la finestra Alert quando è chiusa?
Puoi guardare nel diario di bordo.
 
zfs:
Dimmi come disegnare una freccia con l'oggetto LABEL, usando il carattere Wingdings.
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl, string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSet(nm, OBJPROP_ARROWCODE, cd);
   ObjectSet(nm, OBJPROP_COLOR    , cl);
   ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
//+----------------------------------------------------------------------------+

Chiamato per disegnare un teschio rosso sulla candela corrente al prezzo Bid, dimensione 1 usando Arrow:

SetArrow(78, Red, "Scull", Time[0], Bid, 1);

Questa è la funzione per visualizzare il testo. Sono simili. Provate a farne uno voi stessi per far uscire il marcatore.

//+----------------------------------------------------------------------------+
void SetArrowText(string text, color cl, string font="Arial", string nm="", datetime t1=0, double p1=0, int sz=0) {
   if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TEXT, 0, 0, 0);
   ObjectSet(nm, OBJPROP_TIME1    , t1);
   ObjectSet(nm, OBJPROP_PRICE1   , p1);
   ObjectSetText(nm, text,sz, font, cl);
}
//+----------------------------------------------------------------------------+