[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 329

 
Zhunko:

Sfortunatamente, tutte le varianti senza DDE sono condannate a perdere zecche dai pacchi. Possono essere recuperati per approssimazione, ma questo non è molto buono.

C'è un'opzione per recuperare via DDE direttamente da Exel.


Vadim, grazie. Darò un'occhiata.
 
granit77:
1. https://www.mql5.com/ru/articles/1368
2. https://www.mql5.com/ru/forum/100028/page58#94290

E come prima approssimazione, questo è sufficiente.

Victor, grazie dal profondo del mio cuore. Guarderò sicuramente questo articolo e le raccomandazioni di Rosh.
 

Ciao a tutti! Tentativo #3 :))

Cari professionisti!!!

Senta, per favore, non capisco quale sia il problema. Quando si cerca di piazzare un ordine in sospeso, vengono piazzati due ordini.

mentre (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1 ordine è in sospeso Buy

Avviso ("Errore nel ciclo",GetLastError()); Avviso ("TIK2= ",Ticket2;)

Dormire(500);

}

Grazie in anticipo a tutti quelli che rispondono.

 
demlin:

Ciao a tutti! Tentativo #3 :))

Cari professionisti!!!

Senta, per favore, non capisco quale sia il problema. Quando si cerca di piazzare un ordine in sospeso, vengono piazzati due ordini.

mentre (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1 ordine è in sospeso Buy

Avviso ("Errore nel ciclo ",GetLastError()); Avviso ("TIK2= ",Ticket2;)

Dormire(500);

}

Grazie in anticipo a tutti quelli che rispondono.


Aggiungere le bandiere ( presenza dell'ordine in sospeso) nella condizione al numero del biglietto, cioè prima la bandiera - falsa, poi nella condizione - mentre il biglietto < 0 e la bandiera==false - impostare il pendente e mettere la bandiera in vero. Dopo che l'ordine pendente si innesca sul mercato o cancella l'ordine pendente - resetta il flag a false. Prova in questo modo...
 

C'è questa domanda: come visualizzare il prezzo ai bordi della Trendline. O per avere l'indicatore di prezzo destro (sinistro) magnetizzato alla Trendline o alla barra Low (High), come fa la Trendline stessa. Vorrei utilizzare gli strumenti grafici standard di MT4. Ma se questo non è possibile, forse ho bisogno di un indicatore che attacchi i prezzi di destra (sinistra) a tutte le linee di tendenza nella finestra (uso 4 linee di tendenza e tutte hanno bisogno di prezzi ai bordi)? La Trendline è senza fascio e i bordi sono attaccati alle barre High o Low - naturalmente manualmente. Una catena di quattro linee di tendenza è simile all'indicatore ZigZag. Non ho esperienza nello scrivere indicatori. In realtà sto scrivendo a causa di questo. Non ho esperienza nello scrivere indicatori.

 
demlin:

Ciao a tutti! Tentativo #3 :))

Cari professionisti!!!

Senta, per favore, non capisco quale sia il problema. Quando si cerca di piazzare un ordine in sospeso, vengono piazzati due ordini.

mentre (Ticket2<0)

{

RefreshRates();

Ticket2=OrderSend(Symbol(),2,Lots_New*2,price,2,0,TP,"",MN); //1 ordine è in sospeso Buy

Avviso ("Errore nel ciclo ",GetLastError()); Avviso ("TIK2= ",Ticket2;)

Dormire(500);

}

Vi ringrazio in anticipo se mi permettete di rispondere.

La logica è molto semplice:

Se non c'è un ordine pendente con il tipo giusto, allora impostalo. QUESTO È TUTTO...

 

Ho una domanda, c'è un certo indicatore che dà un segnale quando si raggiunge una certa condizione,

La mia domanda è come fargli aprire un ordine invece di un segnale,

Ecco il codice per il segnale e il messaggio

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

Ho provato a mettere solo un posto per l'allarme da aprire, ma non funziona,

Se ho un EA con la descrizione di cosa allegare dall'indicatore sarò molto grato.

 
FoxUA:

Ho una domanda, c'è un certo indicatore che dà un segnale quando si raggiunge una certa condizione,

La mia domanda è come fargli aprire un ordine invece di un segnale,

Ecco il codice per il segnale e il messaggio

if (SoundON==true && i==1 && CrossUp[i] > CrossDown[i] && alertTag!=Time[0]){
         Alert("Открываем Селл ",Symbol()," ",Period());
        alertTag = Time[0];

Ho provato a mettere solo un posto per l'allarme da aprire, ma non funziona,

Sarei molto grato se avessi un codice con la descrizione di cosa allegare dall'indicatore.

L'indicatore non può aprire ordini. Questo è il lavoro dell'EA. Se questo codice appartiene all'indicatore, dobbiamo scrivere i dati nel suo buffer creato appositamente per questi dati. Quando non c'è nessun segnale, viene scritto uno zero o un valore vuoto nel buffer e quando c'è un segnale (come nel tuo esempio), invece di Alert(); scrivi il valore nel buffer.
Per esempio:
+1 per comprare e
-1 per vendere.
Poi leggete i dati dal buffer nell'Expert Advisor usando iCustom();.

Oppure scrivere tutte queste condizioni direttamente nell'Expert Advisor.

 

Buongiorno!

Potete per favore consigliarmi, io apro l'ordine ogni giorno

Magic_b++; OrderSend (Symbol(), OP_BUY, Loot,Ask, 50, SL, TP,NULL,Magic_b,0,L) (o Magic_s++; OrderSend (Symbol(), OP_BUY, Loot,Bid, 50, SL, TP,NULL,Magic_s,0,L; a seconda delle condizioni);

Voglio chiudere un ordine aperto ogni giorno a una certa ora. Uso il seguente schema per questo (tranne il venerdì)

se ((DayOfWeek () == 1) || (DayOfWeek () == 2) || (DayOfWeek () == 3) || (DayOfWeek () == 4 ))

{if (((timecur > "23:59:00") && (timecur < "23:59:04")) && (iOpen(Symbol (), PERIOD_H4, 0)

!= iOpen(Symbol (), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) > iOpen(Symbol (), PERIOD_D1, 0))

{ Alert ("il prezzo è più alto");

for(i=OrdiniTotali()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS

se(OrderMagicNumber()==Magic_b)

{Alert ("orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Bid,80,R);

Allarme ("GetLastError");

Controllo = 0;

Magic_b++;

} } }

se (((timecur > "22:59:00") && (timecur < "22:59:04")) && (iOpen(Symbol (), PERIOD_H4, 0)

!= iOpen(Symbol (), PERIOD_D1, 0))

{if (iOpen(Symbol (), PERIOD_H4, 0) < iOpen(Symbol (), PERIOD_D1, 0))

{ Alert (" il prezzo è più alto");

for(i=OrdiniTotali()-1;i>=0;i--)

{ OrderSelect(i, SELECT_BY_POS

se(OrderMagicNumber()==Magic_s)

{Alert ("orderticket",OrderTicket();

OrderClose(OrderTicket(),Loot,Ask,80,R);

Alert(GetLastError);

Controllo = 0;

Magic_s++;

} } } } }

Ma nel tester per qualche motivo non è chiuso ogni giorno (per esempio nel test da 23.08-23.10 2010) chiuso solo 27.09. E 24.08, nonostante il fatto che non implementato nytp, nessun commercio SL- non è chiuso. già terzo giorno mal di testa, non posso pensare che cosa è sbagliato. per favore aiuto

P.S. la condizione di entrata coincide sempre con una condizione di chiusura (tranne che per il tempo naturalmente, è possibile ammettere che qui il tempo di ottobre 22:01:00)

 
Forse perché la portata è troppo piccola, solo 4 secondi? Ci sono pochi tick nella barra in questo momento e il tester potrebbe non raggiungere l'intervallo impostato.