Come codificare? - pagina 165

 

Grazie

a volte la soluzione è così semplice.....

 

Come si aggiunge un commento per mostrare quante posizioni di acquisto e vendita sono aperte in qualsiasi momento su una base di coppia per coppia.

double Buy.cm = MarketInfo(Symbol(),MODE_TRADES); ??? buy

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ??? sell

Saluti

Beno

 

Se avete una funzione che conta gli ordini, adattatela per avere una variabile contatore per gli acquisti e le vendite. Poi scrivi un commento come al solito.

Lux

 
luxinterior:
Se hai una funzione che conta gli ordini basta adattarla per avere una variabile contatore per gli acquisti e le vendite. Poi scrivi un commento come al solito. Lux

ok grazie lux

 
Beno:
Come si fa ad aggiungere un commento per mostrare quante posizioni di acquisto e vendita sono aperte in qualsiasi momento su una base di coppia per coppia.

double Buy.cm = MarketInfo(Symbol(),MODE_TRADES); ??? comprare

double Sell.cm = MarketInfo(Symbol(),MODE_TRADES); ??? vendere

Saluti

Beno

Potresti fare qualcosa del genere:

int Open_Trades = OrdersTotal();

int Pos=0;

int Buy_Total=0;

int Sell_Total=0;

while (Open_Trades > Pos)

{

if (OrderSelect(Pos,SELECT_BY_POS,MODE_TRADES))

{

int Order_Type = OrderType();

if (Order_Type == OP_BUY)

{

Buy_Total++;

}

if (Order_Type == OP_SELL)

{

Sell_Total++;

}

}

Pos++;

}

Comment("\nBuy Orders Total = ",Buy_Total,

"\nSell Orders Total = ",Sell_Total);

O qualche variazione.

File:
 

L'indicatore deve fare riferimento alle Bande di Bollinger

Ho questo indicatore, ma ho bisogno che faccia riferimento alle Bande di Bollinger. Ho bisogno di includere il riferimento a o vicino alla Bollinger e all'interno della candela. Vorrei fare riferimento anche allo stocastico. Qualsiasi idea.

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

//| MS IPP2 v2 3/6/09 |

//| MarketSlayer |

//| BillTainter@gmail.com ||

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

#proprietà copyright " MarketSlayer "

#proprietà link "BillTainter@gmail.com"

#proprietà indicator_chart_window

//---- parametri di input

extern int barsToProcess=1000;

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

//|funzione di inizializzazione dell'indicatore personalizzata

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

int init ()

{

//---- indicatori

//----

return (0);

}

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

//| Funzione di deinizializzazione dell'indicatore personalizzato |

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

int deinit ()

{

//----

int i;

for (i=0; i< Bars; i++)

{

ObjectDelete ("Bearish IPP2" +DoubleToStr (i, 0));

ObjectDelete ("Bullish IPP2" +DoubleToStr (i, 0));

}

//----

ritorno (0);

}

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

//| Funzione di iterazione dell'indicatore personalizzato |

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

int start ()

{

int counted_bars=IndicatorCounted (),

//----

limite,

i=0;

se (counted_bars> 0)

counted_bars--;

limite=barre_conteggiate;

se (limite> barToProcess)

limit=barsToProcess;

mentre (i< limite)

{

// RIBASSISTA IPP#2

// Candela[1] è al o vicino alla Banda di Bollinger superiore

// Candela[2] è dentro la Candela[1]

if ((Close [ i+2] > Open [ i+2]) && (Close [ i+1]> Open ) && (Open > Close [ i+1])

&& (Alto Basso [ i+1]))

{

ObjectCreate ("Bearish IPP2" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , High + 50*Point);

ObjectSet ("Bearish IPP2" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("Bearish IPP2" +DoubleToStr (i, 0), OBJPROP_COLOR, Red );

Alert("Bearish IPP2 -SHORT @", Low);

}

// IPP2 rialzista

if ((Close [ i+2] < Open [ i+2]) && (Close [ i+1]< Open ) && (Open < Close [ i+1])

&& (Alto Basso [ i+1]))

{

ObjectCreate ("Bullish IPP2" +DoubleToStr (i, 0), OBJ_ARROW, 0, Time , Low - 50*Point);

ObjectSet ("Bullish IPP2" +DoubleToStr (i, 0), OBJPROP_ARROWCODE, 130);

ObjectSet ("Bullish IPP2" +DoubleToStr (i, 0), OBJPROP_COLOR, Lime );

Alert("Bullish IPP2 -LONG @", High,Time);

// PlaySound("alert.wav");

}

i++;

}

//----

return (0);

}

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

 

c'è un modo per controllare se l'ultimo ordine è stato chiuso raggiungendo tp, sl o senza colpire uno di essi?

Saluti

 

Qualcuno potrebbe aiutarmi ad aggiungere un allarme acustico a questo indicatore?

Grazie!

File:
hilow3.mq4  2 kb
 
jan100:
c'è un modo per controllare se l'ultimo ordine è stato chiuso raggiungendo tp, sl o senza colpire uno di essi? Saluti

Se OrderClosePrice() è uguale a OrderStopLoss() l'ordine è stato chiuso raggiungendo sl.

 

Conversione dell'indicatore in EA

Ciao a tutti,

Ho un problema con l'EA di RSI e MA...

Ho l'indicatore che funziona correttamente... Tutto quello che voglio è convertirlo in EA...

Ho provato un paio di cose. IndicatorCounted() non funziona nell'EA, quindi ho provato a codificare i valori del ciclo for (bar=0; bar<15; bar++), ho ottenuto un RSI corretto, ma lo SMA non sta dando valori corretti...

Allego il codice della SMA che incrocia la RSI...

Quindi qualcuno potrebbe aiutarmi a convertire questo indicatore in EA.

***************************************************************************************************************************************

#proprietà indicator_separate_window

#proprietà indicator_buffers 2

#proprietà indicator_color1 PratoVerde

#proprietà indicator_color2 DarkBlue

doppio ExtMapBuffer1[];

doppio ExtMapBuffer2[];

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);

SetIndexBuffer(1,ExtMapBuffer2);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int bar, limit;

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit=Bars-IndicatorCounted();

for(bar=0; bar<limite; bar++)

ExtMapBuffer1 = iRSI(NULL,0,14,PRICE_TYPICAL,bar);

for(bar=0; bar<limit; bar++)

ExtMapBuffer2=iMAOnArray(ExtMapBuffer1,Bars,14,0,MODE_SMA,bar);

return(0);

}

***************************************************************************************************************************************

Grazie e saluti,

Ganesh