Trailing Stops e Trailing Profit - pagina 4 1234567 Nuovo commento Arav007 2014.03.07 10:54 #31 Sì, ho capito. Non è possibile confrontare come cnt avrà un valore come 3,2,1 mentre Ticket Number è qualcosa di diverso. if(OrdersTotal()>0){ for(cnt=OrdersTotal()-1;cnt>=0;cnt--){ if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue; if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){ sl = OrderStopLoss(); // Stop Loss. tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. Order Ticket=OrderTicket(); if(OrderType()==OP_SLL){ if( Order Ticket== Sell_Order_Ticket_1){ Do the Normal Trailing Stop} if( Order Ticket== Sell_Order_Ticket_2){ Do the Normal Trailing Stop} if( Order Ticket== Sell_Order_Ticket_3){ Don't move the Stop Loss} Posso confrontare il Ticket Number in questo modo? Saluti Tjipke de Vries 2014.03.07 11:28 #32 Arav007:Sì, ho capito. Non è possibile confrontare come cnt avrà un valore come 3,2,1 mentre Ticket Number è qualcosa di diverso. Posso confrontare il Ticket Number in questo modo? Saluti no se il tuo pc deve riavviare allora il valore Sell_Order_Ticket_1 (2 e 3 anche) è perso controlla orderopenprice e ordertakeprofit Arav007 2014.03.07 12:18 #33 deVries: no se il tuo pc si riavvia, il valore Sell_Order_Ticket_1 (2 e 3 anche) è perso controllare orderopenprice e ordertakeprofit Non ho capito perché il valore di Sell_Order_Ticket_1 si perde dopo il riavvio del terminale? È una variabile e non viene sovrascritta a meno che non si apra un nuovo ordine di vendita. Questo è quello che ho capito, ma c'è una logica dietro il tuo commento. Quindi, per favore, spiega un po'. E ho guardato le funzioni OrderOpenPrice e OrderTakeProfit. Cosa fare con loro? Tutte le domande dei [ARCHIVIO] Qualsiasi domanda da Domande dai principianti MQL5 Keith Watford 2014.03.07 12:24 #34 Arav007: Non ho capito perché il valore di Sell_Order_Ticket_1 sarà perso dopo il riavvio del terminale? È una variabile e non viene sovrascritta a meno che non si apra un nuovo ordine di vendita. Questo è quello che ho capito, ma c'è una logica dietro il tuo commento. Quindi, per favore, spiega un po'. E ho guardato le funzioni OrderOpenPrice e OrderTakeProfit. Cosa fare con loro? Tutte le variabili sono perse al riavvio del terminale. Solo le variabili globali del terminale client possono essere recuperate. Tjipke de Vries 2014.03.07 12:30 #35 Arav007: Non ho capito perché il valore di Sell_Order_Ticket_1 viene perso dopo il riavvio del terminale? È una variabile e non viene sovrascritta a meno che non si apra un nuovo ordine Sell. Questo è quello che ho capito, ma c'è una logica dietro il tuo commento. Quindi, per favore, spiega un po'. E ho guardato le funzioni OrderOpenPrice e OrderTakeProfit. Cosa fare con loro? fare qualche altra prova creando i vostri file aprire i 3 trade notate i numeri che ottenete poi chiudi il tuo metatrader4 e riavvialo di nuovo controlla il valore di Sell_Order_Ticket_1, Sell_Order_Ticket_2 e Sell_Order_Ticket_3 sono gli stessi?? se no, che valore ottieni? [Qualsiasi domanda da principiante, Arrotondamento dei numeri in L'apprendimento automatico nel trading: Arav007 2014.03.07 13:25 #36 Ok, ho capito. Questa informazione sulla 'variabile' sarà utile anche per il futuro. if(OrdersTotal()>0){ for(cnt=3;cnt>0;cnt--){ if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue; if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){ sl = OrderStopLoss(); // Stop Loss. tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. if(OrderType()==OP_BUY){ if (cnt==3) { Do the Normal Trailing Stop} if (cnt==2) { Do the Normal Trailing Stop} if (cnt==1) { Don't move the Stop Loss} } } } Che ne dite di questo? Tjipke de Vries 2014.03.07 13:31 #37 Arav007: Ok, ho capito. Questa informazione sulla 'variabile' sarà utile anche per il futuro. Che ne dici di questo? Possiamo guardare di nuovo il tuo codice di apertura delle transazioni? controlla lo stoploss e il takeprofit di queste operazioni, c'è ancora qualcosa di sbagliato, vedi? Arav007 2014.03.07 13:58 #38 deVries: possiamo guardare di nuovo il tuo codice di apertura delle transazioni? controllare lo stoploss e il takeprofit di quei trade c'è ancora qualcosa di sbagliato vedi? ohh, è per il codice sbagliato. Dopo aver corretto i difetti, la parte Take Profit va bene ora, ma il problema è lo Stop Loss. Logica: se (Fast_EMA>Slow_SMA) { se (MA_Difference_1>=Value_Diff && iOpenOrders_Buy ==0) { Compra } } Trailing Stops and Trailing Qualsiasi domanda da principiante, Errori, bug, domande Tjipke de Vries 2014.03.07 14:15 #39 Arav007: ohh, è per il codice sbagliato. Dopo aver corretto i difetti, la parte Take Profit va bene ora, ma il problema è lo Stop Loss. Che stop loss volevi per quei trade? Arav007 2014.03.07 14:36 #40 deVries: Che stoploss hai voluto per questi trade? Come qui per i trade USDJPY: Il 1° Trade (qui l'Ultimo a causa della disposizione inversa del Tempo) ha TP= 103.636 Il TP del 2° Trade= 103.736 3rd Trade's TP= 108.536 [ ho impostato questo TP a tale distanza così funzionerà come se non ci fosse alcun TP] Ora, come da mia richiesta, quando il prezzo sarà diciamo 7 pip [103.603] in profitto, lo Stop Loss di 1° e 2° trade diventeranno 1 pip di profitto [103.543] e lo Stop Loss del 3° trade rimarrà a 103.386. Come nell'immagine sottostante: Il 1° ordine GBPUSD è stato chiuso con un profitto di 10 pip. Il 2° ordine è ancora in esecuzione e il suo SL è stato spostato. Per il 3° trade anche lo SL è stato spostato, cosa che non voglio. Tutte le domande dei Quanti pips guadagna un Fine della tendenza (indicatore) 1234567 Nuovo commento
Sì, ho capito. Non è possibile confrontare come cnt avrà un valore come 3,2,1 mentre Ticket Number è qualcosa di diverso.
if(OrdersTotal()>0){ for(cnt=OrdersTotal()-1;cnt>=0;cnt--){ if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue; if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){ sl = OrderStopLoss(); // Stop Loss. tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. Order Ticket=OrderTicket(); if(OrderType()==OP_SLL){ if( Order Ticket== Sell_Order_Ticket_1){ Do the Normal Trailing Stop} if( Order Ticket== Sell_Order_Ticket_2){ Do the Normal Trailing Stop} if( Order Ticket== Sell_Order_Ticket_3){ Don't move the Stop Loss}Posso confrontare il Ticket Number in questo modo?
Saluti
Sì, ho capito. Non è possibile confrontare come cnt avrà un valore come 3,2,1 mentre Ticket Number è qualcosa di diverso.
Posso confrontare il Ticket Number in questo modo?
Saluti
no
se il tuo pc deve riavviare allora il valore Sell_Order_Ticket_1 (2 e 3 anche) è perso
controlla orderopenprice e ordertakeprofit
no
se il tuo pc si riavvia, il valore Sell_Order_Ticket_1 (2 e 3 anche) è perso
controllare orderopenprice e ordertakeprofit
Non ho capito perché il valore di Sell_Order_Ticket_1 si perde dopo il riavvio del terminale?
È una variabile e non viene sovrascritta a meno che non si apra un nuovo ordine di vendita.
Questo è quello che ho capito, ma c'è una logica dietro il tuo commento. Quindi, per favore, spiega un po'.
E ho guardato le funzioni OrderOpenPrice e OrderTakeProfit. Cosa fare con loro?
Non ho capito perché il valore di Sell_Order_Ticket_1 sarà perso dopo il riavvio del terminale?
È una variabile e non viene sovrascritta a meno che non si apra un nuovo ordine di vendita.
Questo è quello che ho capito, ma c'è una logica dietro il tuo commento. Quindi, per favore, spiega un po'.
E ho guardato le funzioni OrderOpenPrice e OrderTakeProfit. Cosa fare con loro?
Tutte le variabili sono perse al riavvio del terminale.
Solo le variabili globali del terminale client possono essere recuperate.
Non ho capito perché il valore di Sell_Order_Ticket_1 viene perso dopo il riavvio del terminale?
È una variabile e non viene sovrascritta a meno che non si apra un nuovo ordine Sell.
Questo è quello che ho capito, ma c'è una logica dietro il tuo commento. Quindi, per favore, spiega un po'.
E ho guardato le funzioni OrderOpenPrice e OrderTakeProfit. Cosa fare con loro?
fare qualche altra prova creando i vostri file
aprire i 3 trade
notate i numeri che ottenete
poi chiudi il tuo metatrader4 e riavvialo di nuovo controlla il valore di Sell_Order_Ticket_1, Sell_Order_Ticket_2 e Sell_Order_Ticket_3
sono gli stessi?? se no, che valore ottieni?
Ok, ho capito. Questa informazione sulla 'variabile' sarà utile anche per il futuro.
if(OrdersTotal()>0){ for(cnt=3;cnt>0;cnt--){ if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue; if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber){ sl = OrderStopLoss(); // Stop Loss. tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. if(OrderType()==OP_BUY){ if (cnt==3) { Do the Normal Trailing Stop} if (cnt==2) { Do the Normal Trailing Stop} if (cnt==1) { Don't move the Stop Loss} } } }Che ne dite di questo?
Ok, ho capito. Questa informazione sulla 'variabile' sarà utile anche per il futuro.
Che ne dici di questo?
Possiamo guardare di nuovo il tuo codice di apertura delle transazioni?
controlla lo stoploss e il takeprofit di queste operazioni, c'è ancora qualcosa di sbagliato, vedi?
possiamo guardare di nuovo il tuo codice di apertura delle transazioni?
controllare lo stoploss e il takeprofit di quei trade c'è ancora qualcosa di sbagliato vedi?
ohh, è per il codice sbagliato. Dopo aver corretto i difetti, la parte Take Profit va bene ora, ma il problema è lo Stop Loss.
Logica:
se (Fast_EMA>Slow_SMA)
{
se (MA_Difference_1>=Value_Diff && iOpenOrders_Buy ==0)
{
Compra
}
}
ohh, è per il codice sbagliato. Dopo aver corretto i difetti, la parte Take Profit va bene ora, ma il problema è lo Stop Loss.
Che stoploss hai voluto per questi trade?
Come qui per i trade USDJPY:
Il 1° Trade (qui l'Ultimo a causa della disposizione inversa del Tempo) ha TP= 103.636
Il TP del 2° Trade= 103.736
3rd Trade's TP= 108.536 [ ho impostato questo TP a tale distanza così funzionerà come se non ci fosse alcun TP]
Ora, come da mia richiesta, quando il prezzo sarà diciamo 7 pip [103.603] in profitto, lo Stop Loss di
1° e 2° trade diventeranno 1 pip di profitto [103.543] e lo Stop Loss del 3° trade rimarrà a 103.386.
Come nell'immagine sottostante:
Il 1° ordine GBPUSD è stato chiuso con un profitto di 10 pip.
Il 2° ordine è ancora in esecuzione e il suo SL è stato spostato.
Per il 3° trade anche lo SL è stato spostato, cosa che non voglio.