Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 425 1...418419420421422423424425426427428429430431432...1503 Novo comentário Sergei Konoplev 2015.08.31 13:28 #4241 Tapochun: Tem de acrescentar a sua própria enumeração ao código.Posso ter uma amostra de código?extern string Variant = "One, Two, Three"; O que preciso de acrescentar para que seja assim? Leanid Aladzyeu 2015.08.31 13:28 #4242 Tapochun: Código de erro?130 stop loss não muda [Excluído] 2015.08.31 13:30 #4243 Sergei Konoplev: Posso ter uma amostra de código?O que preciso de acrescentar para que seja assim?// На глобальном уровне 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 não é uma boa opção para calcular a paragem, especialmente como int130: "Слишком близкие стопы или неправильно рассчитанные или ненормализованные цены в стопах (или в цене открытия отложенного ордера)."é mais fácil de ser específicotentar:double CALC_SL=25;//величина стоп-лосса в пунктах double severs_min_stop = CALC_SL*MarketInfo(symbol,MODE_POINT); [Excluído] 2015.08.31 13:37 #4245 Leanid Aladzyeu: Durante a licitação, desfazer a paragem anterior, paragem recebida, etc. Artyom Trishkin 2015.08.31 20:23 #4246 Leanid Aladzyeu: Onde está o erro?//+------------------------------------------------------------------+ 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 Equilibro os StoPlusses em Inite (é mais fácil, embora não mais fiável)Como é que obtenho o valor do indicador Zigzag? Não o encontrei na ajuda. Aleksey Vyazmikin 2015.09.01 01:16 #4248 Leanid Aladzyeu: Equilibro os StoPlusses em Inite (é mais fácil, embora não mais fiável)Como é que obtenho o valor do indicador Zigzag? Não o encontrei na ajuda. Através do iCustom. Aleksey Vyazmikin 2015.09.01 06:46 #4249 new-rena: if(prevTime!=iTime(Símbolo(),PERÍODO_M5,0,0)) Tive muitos problemas - eles escreveram um zero extra na função.Agora vou experimentá-lo - obrigado. Sergei Maksimenko 2015.09.01 07:00 #4250 Tapochun: Em vez de 0, substitua OrderHistoryTotal()-1Muito obrigado! 1...418419420421422423424425426427428429430431432...1503 Novo comentário
Tem de acrescentar a sua própria enumeração ao código.
Posso ter uma amostra de código?
O que preciso de acrescentar para que seja assim?
Código de erro?
Posso ter uma amostra de código?
O que preciso de acrescentar para que seja assim?
stoplevel não é uma boa opção para calcular a paragem, especialmente como int
é mais fácil de ser específico
tentar:
Onde está o erro?
Equilibro os StoPlusses em Inite (é mais fácil, embora não mais fiável)
Como é que obtenho o valor do indicador Zigzag? Não o encontrei na ajuda.
Equilibro os StoPlusses em Inite (é mais fácil, embora não mais fiável)
Como é que obtenho o valor do indicador Zigzag? Não o encontrei na ajuda.
Tive muitos problemas - eles escreveram um zero extra na função.
Agora vou experimentá-lo - obrigado.
Em vez de 0, substitua OrderHistoryTotal()-1