Come codificare? - pagina 57

 
nondisclosure007:
Sto cercando di capire cosa c'è di sbagliato qui. Ho scritto questo piccolo indicatore per cercare di capire perché non riesco a disegnare frecce su ogni singola barra di un grafico. Nessuna buona ragione per farlo.

Ho un altro indicatore su cui sto lavorando che sarà discreto sulla scelta di quale, ho scritto questo per cercare di capire quale sia il maledetto problema.

Disegna una freccia sul fondo della candela solo per le ultime barre. Dovrebbe disegnare una freccia su ogni singola barra del grafico nella parte superiore e inferiore di ogni candela.

E solo i dati di 1 candela appaiono nelle finestre dei dati.

Ho incluso una foto e l'indicatore. qualsiasi aiuto sarebbe apprezzato.

Devi dichiarare i due buffer: #proprietà indicator_buffers 2

 
Michel:
Devi dichiarare i due buffer: #proprietà indicator_buffers 2

Wow, non posso credere che mi sia sfuggito.

Ho anche inserito un semplice confronto con un'ima per vedere se posso dire quale. anche questo funziona. ora tutto quello che devo fare è guardare il mio indicatore originale che mi sta dando il problema e confrontare i 2.

Grazie!

 
ralph.ronnquist:
Sei sicuro? Hai "compresso" la scala dei prezzi per assicurarti che non sia disegnata fuori dalla finestra corrente?

Avevi ragione. Erano lì, solo un po' spostati. Ho cambiato la formula di dove mettere la freccia e ora appaiono tutti.

 

MACD stoploss

Voglio fare uno stoploss sul MACD.

Ho questo codice:

double Mach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar);

double vMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+1);

double vvMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+2);

GlobalVariableSet("mt_Vager1"+Symbol()+Period(),mtr);

GlobalVariableSet("l_Vager1"+Symbol()+Period(),TP_SL_Inc);

se (TotalOrders(Magic_Number)>0){

bool g=falso;

while (!g){

g=true;

per (int kli=OrdersTotal()-1;kli>=0;kli--){

OrderSelect(kli,SELECT_BY_POS);

se

(OrderMagicNumber()==Magic_Number && OrderType()==OP_BUY && Mach<vMach && vMach<vMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Pink);

g=falso;

break;

}

se (OrderMag

icNumber()==Magic_Number && OrderType()==OP_SELL && m1>m2 && m11<=m21)

(OrderMagicNumber()==Magic_Number && OrderType()==OP_SELL && Mach>vMach && vMach>vvMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Pink);

g=falso;

break;

}

}

}

}

L'apertura funziona ma non l'uscita stoploss.

Grazie per l'aiuto.

Jo

 

MACD stoploss

Leggi TradeBar

 

Ho pensato che potrei limitare il numero di avvisi attivati dal trigger usando questo:

if(trigger == 1)

{

int StartWaitingTime = GetTickCount();

if(GetTickCount() - StartWaitingTime > MaxWaiting_sec * 1000)

{

if(ShowAlert == true) {

Alert("Buy...........

Ma non sembra funzionare, per favore aiutatemi a modificarlo in modo che funzioni, grazie!

 
nondisclosure007:
Avevi ragione. Erano lì, solo un po' spostati. Ho cambiato la formula di dove mettere la freccia. ora appaiono tutti.

Dovete anche resettare avgRange a 0 prima del ciclo.

avgRange = 0;

for (counter=i ;counter<=i+9;counter++)

{

avgRange=avgRange+MathAbs(High[counter]-Low[counter]);

}

Robert

 

Hai una linea extra in rosso che potrebbe causare un problema.

Robert

Jovager:
Voglio fare lo stoploss sul MACD.

Ho questo codice:

double Mach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar);

double vMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+1);

double vvMach=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,TradeBar+2);

GlobalVariableSet("mt_Vager1"+Symbol()+Period(),mtr);

GlobalVariableSet("l_Vager1"+Symbol()+Period(),TP_SL_Inc);

se (TotalOrders(Magic_Number)>0){

bool g=falso;

while (!g){

g=true;

per (int kli=OrdersTotal()-1;kli>=0;kli--){

OrderSelect(kli,SELECT_BY_POS);

se

(OrderMagicNumber()==Magic_Number && OrderType()==OP_BUY && Mach<vMach && vMach<vMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),Slippage,Pink);

g=falso;

break;

}

se ( OrderMag

icNumber()==Magic_Number && OrderType()==OP_SELL && m1>m2 && m11<=m21) (OrderMagicNumber()==Magic_Number && OrderType()==OP_SELL && Mach>vMach && vMach>vMach)

{

OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),Slippage,Pink);

g=falso;

break;

}

}

}

}

L'apertura funziona ma non l'uscita stoploss.

Grazie per l'aiuto.

Jo
 
 
Slakerz:
Ciao ragazzi, sto cercando di capire come mettere uno StopLoss... il mio EA è il seguente,

...

Chi è questo CHinGsMAroonCLK?

Se ricordo bene, questo EA non è altro che 10p3 di elCactus, ma forse mi sbaglio...

Controlla il suo thread, probabilmente troverai quello che stai cercando: https://www.mql5.com/en/forum/174975