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

 
Andrew1001:

Buona sera. Per favore consigliatemi dove e cosa ho sbagliato!

Per prima cosa - inserisci il codice tramite il pulsante appropriato nel tuo post.

In secondo luogo, non c'è una funzione If in MQL4.

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*если сработал стоплосс*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*открываем позицию в противоположном направлении*/
return;
}

Мне выдает такие ошибки:
'If' - function is not defined
'<' - left parenthesis expected
'{' - semicolon expected
ПОДСКАЖИТЕ ПОЖАЛУЙСТА что я сделал не так! 
 
Arles:

Buon pomeriggio a tutti!

Circa una settimana fa ho iniziato a studiare programmazione e ho ottenuto un risultato interessante. Non so se posso fidarmi. Ho pensato a lungo a un indicatore e solo ora sono riuscito a implementarlo nel codice.


Nel complesso sembra buono. C'è una domanda sulla differenza tra il commercio massimo redditizio e il commercio medio redditizio.

Provate a eseguirlo su diversi orizzonti temporali: 2003, 2004, anno.

Ho avuto casi in cui la tendenza è positiva un anno e negativa quello successivo. Non si può fare un anno alla volta.

 
Andrew1001:

Buona sera. Per favore, ditemi dove e cosa ho sbagliato!

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*se lo stop loss è scattato*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*aprire la posizione nella direzione opposta*/
return;
}

Ricevo questi errori:
'If' - la funzione non è definita
'<' - parentesi sinistra prevista
'{' - punto e virgola previsto
PER FAVORE ditemi cosa ho sbagliato!


1. (curiosità) "Se" si scrive con un piccolo "se".

2. (la cosa principale) per utilizzare la funzione OrderProfit(), l'ordine stesso che legge il profitto deve essere selezionato utilizzando la funzione OrderSelect()

Per scoprire quale è stato il risultato della chiusura dell'ultimo ordine, dobbiamo trovare l'ultimo ordine chiuso.

 
abolk:


1. (curiosità) "Se" si scrive con un piccolo "se"

2. (più importante) per utilizzare la funzioneOrderProfit(), l'ordine stesso, il cui profitto deve essere letto, deve essere selezionato utilizzando la funzione OrderSelect()

Per scoprire quale è stato il risultato della chiusura dell'ultimo ordine, dobbiamo trovare l'ultimo ordine chiuso.

Grazie! Puoi dirmi come fare!)))
 
Arles:

Buon pomeriggio a tutti!

Circa una settimana fa ho iniziato a imparare la programmazione e ho ottenuto un risultato interessante. Non so se posso fidarmi. Ho inventato l'indicatore molto tempo fa e solo ora sono stato in grado di implementarlo nel codice.


Qui il tester anche stupidamente sbagliato conta, o meglio con un errore, o che cosa, se, facendo riferimento ai risultati, la transazione in -22 negativo sarà il minimo, allora si, se ho capito tutto correttamente, non può essere un drawdown assoluto 4.00, hai un commercio già dà 20.00, sì, ulteriormente per andare, a proposito, hai un drawdown 29049(63%) ma poi di nuovo, come si potrebbe ottenere così, se avete solo due operazioni per circa -20)) più breve solo qualcosa non contato come il tester stesso.
 

Ho scritto una funzione per spostare tutti gli stop allo stesso livello, ma alla fine ognuno degli ordini aperti si chiude al proprio stop loss, che è stato specificato all'apertura, cioè credo che gli stop non vengano spostati da nessuna parte, quale potrebbe essere il problema?

void OrModSL(string period)//funzione per spostare lo stop al frattale inferiore del grafico a 15 minuti

{
if(period=="M15")//se period H1
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY)//se l'ultimo tipo di ordine buy
{
OrderModify(OrderTicket(),OrderOpenPrice(),dnfrM15,OrderTakeProfit(),0,Blue);
}

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),upfrM15,OrderTakeProfit(),0,Blue);//se l'ultimo ordine vende
}
}

ritorno(0);


 

Ciao!

Ancora una volta, vorrei richiedere un esempio o un link per mostrare come aggiungere informazioni a un file senza cancellare il precedente, il puntatore di file è di particolare interesse (non l'ho mai usato prima).

Grazie.

 

Non so dove si può imparare a scrivere codici, c'è un sito web che dice chiaramente e precisamente cosa e come scrivere in codice affinché il consulente possa piazzare ordini, mettere stop e profitti, ecc. Non ho soldi per ordinare un consulente, ma le idee mi sembrano molto buone.

 
sting-igor:

Non so dove si può imparare a scrivere codici, c'è un sito web che dice chiaramente e precisamente cosa e come scrivere in codice affinché il consulente possa piazzare ordini, mettere stop e profitti, ecc. Non ho soldi per ordinare un consulente, ma le idee mi sembrano molto buone.



Non ho i soldi per ordinare un EA, ma penso che le idee siano molto buone.
Motivazione: