![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Vantarsi? )
O mostri il codice o chiudi il thread.
Il codice è sparso. In parte è nell'Expert Advisor, in parte nell'indicatore. Non posterò l'intero Expert Advisor e l'indicatore. Se vi interessa una certa parte, posso stenderla. Si prega di avvisare di cosa avete bisogno esattamente.
Non capisco perché avete bisogno di mantenere un thread se il vostro problema è già stato risolto e il resto di noi non ottiene nulla dalla discussione.
Suggerito per aggiungere costruttivo )
Non capisco perché avete bisogno di mantenere un thread se il vostro problema è già stato risolto e il resto di noi non ottiene nulla dalla discussione.
Suggerito per aggiungere un po' di costruttività)
Ok, hai capito :) Sto pubblicando tutto ciò che riguarda il trascinamento di SL. Per TP, non ho fatto finora, non particolarmente bisogno ancora. Ma non è un problema farlo per analogia. Sto incollando l'indicatore nella sua interezza. Ho rimosso tutto ciò che riguarda il trascinamento di SL dall'EA. Non ho studiato le innovazioni della lingua, faccio molte cose alla vecchia maniera, quindi non giudicate.
Codice dell'indicatore:
Pezzi da EA:
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 28.11.2006 | //| Описание : Модификация одного предварительно выбранного ордера. | //+----------------------------------------------------------------------------+ //| Параметры: | //| pp - цена установки ордера | //| sl - ценовой уровень стопа | //| tp - ценовой уровень тейка | //| ex - дата истечения | //+----------------------------------------------------------------------------+ void ModifyOrder1(double pp=-1, double sl=0, double tp=0, datetime ex=0) { bool fm; color cl=IIFc(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP, clModifyBuy, clModifySell); double op, pa, pb, os, ot; int dg=MarketInfo(OrderSymbol(), MODE_DIGITS), er, it; if (pp<=0) pp=OrderOpenPrice(); if (sl<0 ) sl=OrderStopLoss(); if (tp<0 ) tp=OrderTakeProfit(); pp=NormalizeDouble(pp, dg); sl=NormalizeDouble(sl, dg); tp=NormalizeDouble(tp, dg); op=NormalizeDouble(OrderOpenPrice() , dg); os=NormalizeDouble(OrderStopLoss() , dg); ot=NormalizeDouble(OrderTakeProfit(), dg); if (pp!=op || sl!=os || tp!=ot) { for (it=1; it<=NumberOfTry; it++) { if (!IsTesting() && (!IsExpertEnabled() || IsStopped())) break; while (!IsTradeAllowed()) Sleep(5000); RefreshRates(); fm=OrderModify(OrderTicket(), pp, sl, tp, ex, cl); if (fm) { PlaySound("wait.wav"); break; } else { er=GetLastError(); PlaySound("timeout.wav"); pa=MarketInfo(OrderSymbol(), MODE_ASK); pb=MarketInfo(OrderSymbol(), MODE_BID); Print("Error(",er,") modifying order: ",ErrorDescription(er),", try ",it); Print("Ask=",pa," Bid=",pb," sy=",OrderSymbol(), " op="+GetNameOP(OrderType())," pp=",pp," sl=",sl," tp=",tp); Sleep(1000*10); } } } }
Non ho ancora fatto un TP, non ne ho ancora particolarmente bisogno.
Ecco perché è possibile tirare il prezzo di apertura verso l'alto e mettere uno SL in profitto ;)
Grazie per il feedback costruttivo.
Da qui l'opportunità di tirare il prezzo di apertura verso l'alto e mettere lo SL in profitto ;)
Grazie per il feedback costruttivo.
Cosa ha a che fare questo con il takeprofit?
Dovreste anche aggiungere una condizione alla funzione ModifYSL(double priceModifySL=0) per sicurezza. Come si dice, non si può rovinare un sacco di porridge con il burro).
Dobbiamo introdurre un'altra variabile globale per modificare il TR. Ho chiamato la variabile globale"ModifySL" per un motivo.E poi c'è il GV "ModifyTP".
Sì, lo vedo. Quello che voglio dire è questo: se l'ordine non ha stop, possiamo trascinare la linea dell'ordine stesso, e lo stop sarà posizionato dove "trasciniamo" la linea. Questo è il caso se non abbiamo l'elaborazione TP. E se abbiamo l'elaborazione di entrambi gli stop e le punte, ma l'ordine non ha nessuno dei due, allora se disegniamo la linea dell'ordine, cosa dovremmo impostare? Una presa o uno stop?
Capito. Allora o fate dei pulsanti aggiuntivi per impostare il tipo di modifica, o fatelo nel modo in cui è fatto sul grafico reale. La direzione iniziale del movimento dal prezzo dell'ordine per determinare quale TP o SL dovrebbe tirare.