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

 
Penso che ciò che si intende qui per modulo sia un singolo programma.
I costi dell'esperienza VB, tuttavia.
 

Pomeriggio.

Ho scritto degli script per aprire degli ordini e contemporaneamente mettere una protezione sotto forma di un ordine pendente.

Ecco il codice di SELL.

//+------------------------------------------------------------------+

//| OpenSELL_Lok.mq4 |

//| KarkadilGENA |

//| http://forum.fibo-forex.ru/ |

//+------------------------------------------------------------------+

#proprietà copyright "KarkadilGENA"

#proprietà link "http://forum.fibo-forex.ru/"


#proprietà show_inputs

//--------------------------------------------------------------------


extern double MARTIN = 1; // rapporto di incremento del lotto (conteggio delle ginocchia)

extern int stoploss = 20, //livello di SL, se 0, SL non è esposto

takeprofit = 40, //t livello TP, se 0, TP non è impostato.

Magic = 345; //numero d'ordine unico

extern double Lot = 0.01; //ordinare il volume

//+------------------------------------------------------------------+

int start()

{

//----

doppi lotti, SL, TP;

int ticket.sell=-1;

mentre(ticket.sell<0)

{

RefreshRates();

Lot=NormalizeDouble(Lot,2);

lotti = lotto * MARTIN;

TP = NormalizeDouble(Bid - takeprofit*Point,Digits);

ticket.sell=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,TP,NULL,Magic,0,CLR_NONE);

se(ticket.sell<0)

Avviso ("Errore nell'apertura della posizione");

ritorno;

}

int ticket_BUYSTOP=-1;

mentre(ticket_BUYSTOP<0)

{

RefreshRates();

Lot=NormalizeDouble(Lot,2);

lotti = lotto * MARTIN;

SL = NormalizeDouble(Bid + stoploss*Point,Digits);

ticket_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,lots,SL,3,0,0,NULL,Magic,0,CLR_NONE);

se(ticket_BUYSTOP<0)

Avviso ("Impossibile aprire la posizione");

ritorno;

}

ritorno(0);

}

//+------------------------------------------------------------------+

La prima apertura procede normalmente, ma la seconda (con le posizioni esistenti aperte),

Si aprono due protezioni. Sia Stop che Limit. Nel mio codice è scritto Only One, Stop.

Quando ne apro un terzo, apre diversi ordini di protezione.

Per favore, ditemi come fare in modo che OWL apra una protezione, indipendentemente dal numero di posizioni già aperte.

Grazie.

 

Grazie per la sua risposta di ieri.

Come posso ottenere il prezzo attuale?

 

Pomeriggio.

Ho un EA che prende un valore da un indicatore dove una linea collega due frattali superiori o inferiori.

Come posso ottenere (o costruire) queste linee nell'EA stesso in modo da non dover fare riferimento all'indicatore?

 
AndEv:

Dal tutorial:

È possibile passare parametri per riferimento. In questo caso, la modifica di tali parametri influenzerà le variabili corrispondenti nella funzione chiamata passata per riferimento. Non è possibile passare elementi di array per riferimento. Iparametri possono essere passati per riferimento solo all'interno di un singolo modulo.

Cosa intendete con la parola "modulo"?

Ciò significa che, per esempio, la ex4-library non può
 
Stells:

Pomeriggio.

Ho un EA che prende un valore da un indicatore dove una linea collega due frattali superiori o inferiori.

Come posso ottenere (o costruire) queste linee nell'EA stesso in modo da non dover fare riferimento all'indicatore?


Si possono usare le formule delle linee dell'indicatore + nell'EA si disegnano queste linee con oggetti.
 
Roman.:

Si scrivono le formule per le linee con l'indicatore + si disegnano queste linee come oggetti nella tavola.
Ho fatto un indicatore che prende i valori dei buffer dalle variabili globali. E i valori stessi sono inviati dall'EA insieme al colore e allo stile del disegno.
 

Ciao, c'è una funzione che segnala di comprare o vendere. Se lo si imposta semplicemente

If(sig1) SetOrder(....) ;

Poi si apre molte volte.

Attenzione domanda!) Come fare aprire una volta per(sig1) può essere così sig1-open BAY, prossimo comando, sig0-admit trawl is on (whatever), prossimo comando ancora, sig1-open second BAY.

 
È possibile ricordare il valore precedente di sig1e aprire un ordine solo quando il valore precedente era proibitivo quando il valore attuale era permissivo.
 
MikeM:
È possibile ricordare il valore precedente di sig1e aprire un ordine solo quando il valore attuale è permissivo e il valore precedente era proibitivo.
Non capisco.