Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 425 1...418419420421422423424425426427428429430431432...1504 Nuovo commento Sergei Konoplev 2015.08.31 13:28 #4241 Tapochun: Dovete aggiungere la vostra enumerazione al codice.Posso avere un esempio di codice?extern string Variant = "One, Two, Three"; Cosa devo aggiungere per renderlo così? Leanid Aladzyeu 2015.08.31 13:28 #4242 Tapochun: Codice di errore?130 lo stop loss non cambia [Eliminato] 2015.08.31 13:30 #4243 Sergei Konoplev: Posso avere un esempio di codice?Cosa devo aggiungere per renderlo così?// На глобальном уровне enum MY_ENUM { ONE, // One TWO, // Two THREE // Three }; input MY_ENUM Variant = ONE; Renat Akhtyamov 2015.08.31 13:35 #4244 Leanid Aladzyeu: stoplevel non è una buona opzione per calcolare lo stop, specialmente perché int130: "Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера)."è più facile essere specificiprovare:double CALC_SL=25;//величина стоп-лосса в пунктах double severs_min_stop = CALC_SL*MarketInfo(symbol,MODE_POINT); [Eliminato] 2015.08.31 13:37 #4245 Leanid Aladzyeu: Durante l'offerta, staccate la fermata precedente, la fermata ricevuta, ecc. Artyom Trishkin 2015.08.31 20:23 #4246 Leanid Aladzyeu: Dov'è l'errore?//+------------------------------------------------------------------+ double CorrectStopLoss(string sy,int op,double price_set,double stop_loss) { if(stop_loss==0) return(0); double pt=SymbolInfoDouble(sy,SYMBOL_POINT); double price=(op==OP_BUY)?SymbolInfoDouble(sy,SYMBOL_BID):(op==OP_SELL)?SymbolInfoDouble(sy,SYMBOL_ASK):price_set; int lv=StopLevel(sy), dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS); if(op==OP_BUY || op==OP_BUYLIMIT || op==OP_BUYSTOP) return(NormalizeDouble(fmin(price-(lv+1)*pt,stop_loss),dg)); else return(NormalizeDouble(fmax(price+(lv+1)*pt,stop_loss),dg)); } //+------------------------------------------------------------------+ double CorrectStopLoss(string sy,int op,double price_set,int stop_loss) { if(stop_loss==0) return(0); double pt=SymbolInfoDouble(sy,SYMBOL_POINT); double price=(op==OP_BUY)?SymbolInfoDouble(sy,SYMBOL_BID):(op==OP_SELL)?SymbolInfoDouble(sy,SYMBOL_ASK):price_set; int lv=StopLevel(sy), dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS); if(op==OP_BUY || op==OP_BUYLIMIT || op==OP_BUYSTOP) return(NormalizeDouble(fmin(price-(lv+1)*pt,price-stop_loss*pt),dg)); else return(NormalizeDouble(fmax(price+(lv+1)*pt,price+stop_loss*pt),dg)); } //+------------------------------------------------------------------+ double CorrectTakeProfit(string sy,int op,double price_set,double take_profit) { if(take_profit==0) return(0); double pt=SymbolInfoDouble(sy,SYMBOL_POINT); double price=(op==OP_BUY)?SymbolInfoDouble(sy,SYMBOL_BID):(op==OP_SELL)?SymbolInfoDouble(sy,SYMBOL_ASK):price_set; int lv=StopLevel(sy), dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS); if(op==OP_BUY || op==OP_BUYLIMIT || op==OP_BUYSTOP) return(NormalizeDouble(fmax(price+(lv+1)*pt,take_profit),dg)); else return(NormalizeDouble(fmin(price-(lv+1)*pt,take_profit),dg)); } //+------------------------------------------------------------------+ double CorrectTakeProfit(string sy,int op,double price_set,int take_profit) { if(take_profit==0) return(0); double pt=SymbolInfoDouble(sy,SYMBOL_POINT); double price=(op==OP_BUY)?SymbolInfoDouble(sy,SYMBOL_BID):(op==OP_SELL)?SymbolInfoDouble(sy,SYMBOL_ASK):price_set; int lv=StopLevel(sy), dg=(int)SymbolInfoInteger(sy,SYMBOL_DIGITS); if(op==OP_BUY || op==OP_BUYLIMIT || op==OP_BUYSTOP) return(NormalizeDouble(fmax(price+(lv+1)*pt,price+take_profit*pt),dg)); else return(NormalizeDouble(fmin(price-(lv+1)*pt,price-take_profit*pt),dg)); } //+------------------------------------------------------------------+ int StopLevel(string sy) { int sp=(int)SymbolInfoInteger(sy,SYMBOL_SPREAD); int lv=(int)SymbolInfoInteger(sy,SYMBOL_TRADE_STOPS_LEVEL); return((lv==0)?sp*2:lv); } //+------------------------------------------------------------------+ Leanid Aladzyeu 2015.09.01 00:58 #4247 Io equalizzo gli StoPlus in Inite (è più facile, anche se non più affidabile)Come si ottiene il valore dell'indicatore Zigzag? Non l'ho trovato nell'aiuto. Aleksey Vyazmikin 2015.09.01 01:16 #4248 Leanid Aladzyeu: Io equalizzo gli StoPlus in Inite (è più facile, anche se non più affidabile)Come si ottiene il valore dell'indicatore Zigzag? Non l'ho trovato nell'aiuto. Via iCustom. Aleksey Vyazmikin 2015.09.01 06:46 #4249 new-rena: if(prevTime!=iTime(Symbol(),PERIOD_M5,0,0)) Ho avuto molti problemi - hanno scritto uno zero in più nella funzione.Ora lo proverò - grazie. Sergei Maksimenko 2015.09.01 07:00 #4250 Tapochun: Invece di 0, sostituite OrdersHistoryTotal()-1Grazie mille! 1...418419420421422423424425426427428429430431432...1504 Nuovo commento
Dovete aggiungere la vostra enumerazione al codice.
Posso avere un esempio di codice?
Cosa devo aggiungere per renderlo così?
Codice di errore?
Posso avere un esempio di codice?
Cosa devo aggiungere per renderlo così?
stoplevel non è una buona opzione per calcolare lo stop, specialmente perché int
è più facile essere specifici
provare:
Dov'è l'errore?
Io equalizzo gli StoPlus in Inite (è più facile, anche se non più affidabile)
Come si ottiene il valore dell'indicatore Zigzag? Non l'ho trovato nell'aiuto.
Io equalizzo gli StoPlus in Inite (è più facile, anche se non più affidabile)
Come si ottiene il valore dell'indicatore Zigzag? Non l'ho trovato nell'aiuto.
Ho avuto molti problemi - hanno scritto uno zero in più nella funzione.
Ora lo proverò - grazie.
Invece di 0, sostituite OrdersHistoryTotal()-1