Come codificare? - pagina 129

 

Paging MR PIP

Sono nuovo in queste cose di codifica. Mi stavo chiedendo come sostituire questa linea di codice con l'LSMA. Potreste aiutarmi con questo compito?

Trend = iMA(Symbol(), TrendTimeFrame, TrendPeriods, 0, MODE_LWMA, PRICE_CLOSE, 0);

// PrevTrend = iMACD(Symbol(), PERIOD_M1, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1);

Con questa linea di codice dal vostro LSMA_ MCAD_EMA mq4.

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

//| LSMA - Calcolo della funzione Least Squares Moving Average

//| LSMA_In_Color L'indicatore traccia la fine della linea di regressione lineare |

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

double LSMA(int Rperiod, int shift)

{

int i;

doppia somma;

int lunghezza;

doppio lengthvar;

doppio tmp;

doppio wt;

lunghezza = Rperiodo;

sum = 0;

for(i = lunghezza; i >= 1 ; i--)

{

lengthvar = lunghezza + 1;

lengthvar /= 3;

tmp = 0;

tmp = ( i - lengthvar)*Close[length-i+shift];

sum+=tmp;

}

wt = MathFloor(sum*6/(lunghezza*(lunghezza+1))/Point)*Point;

return(wt);

}

O devo fare qualcos'altro per farlo funzionare?

 
i2trader:
Sono nuovo in queste cose di codifica. Mi stavo chiedendo come sostituire questa linea di codice con la LSMA. Potreste aiutarmi con questo compito.

Trend = iMA(Symbol(), TrendTimeFrame, TrendPeriods, 0, MODE_LWMA, PRICE_CLOSE, 0);

// PrevTrend = iMACD(Symbol(), PERIOD_M1, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1);

Con questa linea di codice dal vostro LSMA_ MCAD_EMA mq4.

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

//| LSMA - Calcolo della funzione Least Squares Moving Average

//| L'indicatore LSMA_In_Color traccia la fine della linea di regressione lineare |

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

double LSMA(int Rperiod, int shift)

{

int i;

doppia somma;

int lunghezza;

doppio lengthvar;

doppio tmp;

doppio wt;

lunghezza = Rperiodo;

sum = 0;

for(i = lunghezza; i >= 1 ; i--)

{

lengthvar = lunghezza + 1;

lengthvar /= 3;

tmp = 0;

tmp = ( i - lengthvar)*Close[length-i+shift];

sum+=tmp;

}

wt = MathFloor(sum*6/(lunghezza*(lunghezza+1))/Point)*Point;

return(wt);

}

O devo fare qualcos'altro per farlo funzionare?

Forse questo:

Trend = LSMA(int Rperiod, int shift);

?

 

Modificare il target TakeProfit in un ordine (in runtime)

Ciao,

Ho una domanda.

Quando abbiamo un ordine aperto usiamo la funzione OrderModify per fermare l'ordine. In questo caso modifichiamo lo stoploss dell'ordine.

E' possibile modificare il target di takeprofit di un ordine aperto con la funzione OrderModify?

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue);

Nel mio caso ho un ordine aperto che ha una posizione di vendita aperta e ho un take profit per esempio quando la valuta EURUSD.

Se diciamo che il mio obiettivo di take profit è 1.4010 ma la mia valuta si avvicina all'obiettivo di take profit ma l'ordine non si chiude e quindi la tendenza si inverte e io perdo il mio ordine per stop loss.

Voi direte, se si fa il trailstop dell'ordine si prende il profitto minore.

Ma è possibile cambiare la variabile OrderTakeProfit in modo che sia più piccola, per esempio 1 pip, quindi se la mia valuta raggiunge 1.4009 e non va mai a 1.4010, come posso cambiare il target di take profit in runtime e renderlo 1.4008 per prendere il profitto. Non trailing stop.

Grazie mille.

 

Chiamando MR PIP

Non sono sicuro di cosa intendi con questo. Devo includere il codice della LSMA

in { } direttamente dietro questa dichiarazione?

 

aiutatemi per favore!

potete aiutarmi a creare un semplice EA:

le regole:

coppia :GBPUSD

timeframe:15menit

prendere profitto:15 pips

stoploss :15 pips

lotti :0.1

ordine aperto: sellstop(-15) e buystop(+15) da price_open nella candela corrente

EA aprirà l'ordine ogni 15 minuti, quando price_open=price_high=price_low

qualcuno mi aiuta?

 

È un EA piuttosto semplice, perché non provare a scriverlo da solo?

Lux

 
luxinterior:
Questo è un EA abbastanza semplice, perché non provi a scriverlo tu stesso? Lux

Grazie,

lo proverò.

 

Determinare gli ordini più vecchi

Ciao ragazzi,

Vi sarei grato se qualcuno potesse dirmi come identificare gli ordini più vecchi all'interno di un EA per poterli chiudere.

Molte grazie,

G-Man

 

Confrontare OrderOpenTime() di ogni ordine e chiudere il più vecchio.

Lux

 
luxinterior:
Confronta OrderOpenTime() di ogni ordine e chiudi il più vecchio. Lux

Grazie.

Farò un tentativo.

G-Man