[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 845

 
Top2n:
Forse qualcuno ha un codice loca scritto, per favore mandatemelo, ve ne sarei grato!
Ti ho già risposto di persona, che è la stessa posa di apertura, ma nella direzione opposta. E il volume della posa si vede da solo, in base alla tua logica.
 
L'ho fatto con il pending, ma c'è un bug, più spesso si apre in questo posto, più lontano dall'ordine diventa. deve essere senza copertura e proprio sul posto, ma non posso scrivere le condizioni in quali circostanze si aprirà!
 
Top2n:
L'ho fatto con uno in sospeso, ma c'è un problema: più spesso si apre in questo posto, più si allontana dall'ordine. Ho bisogno che sia senza copertura e proprio sul posto, ma non posso scrivere le condizioni in cui si deve aprire!

Se voi stessi non riuscite a decidere le condizioni di apertura, come posso aiutarvi?

Bisogna cercare in qualche modo di formalizzare ciò che si vuole fare.

 
L'ordine opposto dovrebbe aprirsi ad un certo punto, e se viene chiuso, dovrebbe aprirsi di nuovo allo stesso punto, se il prezzo scende fino ad esso, naturalmente.
 
Top2n:
L'ordine opposto dovrebbe aprirsi a un certo punto e poi, se ha chiuso, si aprirà di nuovo a questo punto, se il prezzo si è spostato verso il basso. credo di sì

Onestamente... È più una specie di TOR di un cliente famigerato, di cui ce ne sono molti, piuttosto che una logica da programmatore :)

1. Avete bisogno di un ordine pendente o di aprire una posizione opposta se la posizione corrente raggiunge una certa quantità di punti di perdita?

2. Se è un ordine opposto, e il prezzo lo ha toccato, allora sarà trasformato in un ordine a mercato, quindi

2.1. se una posizione di mercato è stata chiusa (con una perdita? con un profitto?), lo stesso ordine sarà piazzato di nuovo allo stesso prezzo? (il suo tipo dipenderà dal prezzo corrente)

2.2 Se un ordine pendente scatta, devo impostarlo di nuovo?

2.3

2.4.

.... Ci sono un milione di altre domande da fare. Non ci permettiamo di chiedere a pinza informazioni su ciò che cercate, eh?

Scrivi la logica di ciò che vuoi fare. Questa è la prima cosa. Puoi scriverlo su un pezzo di carta e una matita...

E poi si può decidere come mettere tutto in codice.

 

Sono interessato a lavorare con i volumi. ci sono file in formato .csv. ho guardato, nella cartella trading-server ci sono file in formato .hst

quale dovrebbe essere il formato per i file csv e come dovrei convertirli in . hst?

 

In realtà è più semplice di così, mi sembra.

1. aperto ordine di baia, se il prezzo scende di 10 pip allora apriamo vendere,

2.se la vendita è chiusa da SL, il prezzo inizia a lavorare con la baia, se il prezzo scende di nuovo a meno 10 pip, aprire di nuovo la vendita

Se sll è chiuso da TP, allora il mio EA farà tutto bene.

Ho una domanda su come pubblicare una condizione:

1. aprire ordine di baia, se il prezzo scende di 10 pip, poi aprire vendere

2.se la vendita è chiusa da SL, il prezzo inizia a lavorare con la baia, se il prezzo scende di nuovo a meno 10 pips, allora aprite di nuovo la vendita

 

Vi prego di scusarmi se vi sto distraendo con una domanda probabilmente stupida.

Ho appena iniziato a imparare questo e non ho nessuno a cui chiedere consigli.

Ho letto il manuale alcune volte. Ho iniziato un Expert Advisor con le funzioni più semplici, ordini pendenti.

Non ho ancora capito cosa devo fare per aprire gli ordini una volta sola e non ad ogni tick.

//+------------------------------------------------------------------+
//| mio.mq4 |
//| serjik |
//| |
//+------------------------------------------------------------------+
#proprietà copyright "serjik"


//---- variabili esterne
extern double Lots=0.1; // dimensione del lotto
extern int StopLoss=0; // stop loss
extern int TakeProfit=10; // profitto
extern int int DistanceSet=10; // distanza dal mercato degli ordini
extern inttern Slippage=3; //spostamento dei prezzi
//----variabili globali

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int init()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{

doppio ldStop=0, ldTake=0;
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;

if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

if (StopLoss!=0) ldStop=pBid+StopLoss*Point; //
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| Impostazione dell'ordine
//| Parametri: |
//| op - operazione |
//| pp - prezzo |
//| ldStop - livello di stop |
//| ldTake - prendere livello |
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake)
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake);


ritorno(0);
}
//+------------------------------------------------------------------+



Forse l'ho già visto in questo forum, ma non ho abbastanza energia per rileggerlo.

Se qualcuno mi aiuta, GRAZIE ENORME!

 
Top2n:

In realtà è più semplice di così, mi sembra.

1. aperto ordine di baia, se il prezzo scende di 10 pip allora apriamo vendere,

2.se la vendita è chiusa da SL, il prezzo inizia a lavorare con la baia, se il prezzo scende di nuovo a meno 10 pip, aprire di nuovo la vendita

Se sll è chiuso da TP, allora il mio EA farà tutto bene.

Ho una domanda su come pubblicare una condizione:

1. aprire ordine di baia, se il prezzo scende di 10 pip, poi aprire vendere

2.se la vendita è chiusa da SL, il prezzo inizia a lavorare con la baia, se il prezzo scende di nuovo a meno 10 pips, allora aprite di nuovo la vendita

Ad ogni tick, controlla il profitto delle posizioni aperte e se è inferiore o uguale a 10 pip, allora fai quello che devi fare dopo
 
serjik77:

Vi prego di scusarmi se vi sto distraendo con una domanda probabilmente stupida.

Ho appena iniziato a imparare questo e non ho nessuno a cui chiedere consigli.

Ho letto il manuale alcune volte. Ho iniziato un Expert Advisor con le funzioni più semplici, ordini pendenti.

Non ho ancora capito cosa devo fare per aprire gli ordini una volta sola e non ad ogni tick.

//+------------------------------------------------------------------+
//| mio.mq4 |
//| serjik |
//| |
//+------------------------------------------------------------------+
#proprietà copyright "serjik"


//---- variabili esterne
extern double Lots=0.1; // dimensione del lotto
extern int StopLoss=0; // stop loss
extern int TakeProfit=10; // profitto
extern int int DistanceSet=10; // distanza dal mercato degli ordini
extern inttern Slippage=3; //spostamento dei prezzi
//----variabili globali

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'esperto |
//+------------------------------------------------------------------+
int init()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione esperto |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{

doppio ldStop=0, ldTake=0;
double pAsk=Ask+DistanceSet*Point;
double pBid=Bid-DistanceSet*Point;

if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake); //

if (StopLoss!=0) ldStop=pBid+StopLoss*Point; //
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake); //



}
//+------------------------------------------------------------------+
//| Impostazione dell'ordine
//| Parametri: |
//| op - operazione |
//| pp - prezzo |
//| ldStop - livello di stop |
//| ldTake - prendere livello |
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake)
{

OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake);


ritorno(0);
}
//+------------------------------------------------------------------+



Forse l'ho già visto in questo forum, ma non ho abbastanza energia per rileggerlo.

Se qualcuno mi aiuta, GRAZIE ENORME!

Prima di effettuare un ordine devi prima controllare se l'ordine è già presente... Se non c'è ancora, allora va messo, e se c'è, allora non...
Motivazione: