Ajude-me a entender o código, por favor!
Results 1 to 5 of 5

Thread: Ajude-me a entender o código, por favor!

  1. #1
    Eu comecei a inclinar o código mql4 e corri para este código:

    Código inserido/*/* my_DailyOpen_indior/*/* Revisão 1.1 2005/11/13 Midnite/* Initial DailyAberto indior/* com base em pm/* #property copyright Midnite #property link [email protected] # property indior_chart_window #property indior_buffers 1 #propriedade indior_color1 DodgerBlue #property indior_style1 2 #propriedadeindior_width1 1 double TodayOpenBuffer # 91; # 93 ;; extern int TimeZoneOfData = 0;/ ----------------------------------------------- ------------------- /| Função de inicialização personalizada do indior |/ ----------------------------------------------- ------------------- int init () {SetIndexStyle (0, DRAW_LINE); SetIndexBuffer (0, TodayOpenBuffer); SetIndexLabel (0, aberto); SetIndexEmptyValue (0,0,0); retorno (0); }/ ---------------------------------------------- -------------------- /| Função de desinicialização de indutor de custódia |/ ----------------------------------------------- ------------------- int deinit () {return (0); }/ ---------------------------------------------- -------------------- /| Função de iteração personalizada do indior |/ ----------------------------------------------- ------------------- int start () {int lastbar; int counted_bars = IndiorCounted (); if (counted_barsgt; 0) counted_bars--; lastbar = Bares-counted_bars; DailyOpen (0, lastbar); retorno (0); }/ ---------------------------------------------- -------------------- /| |/ ----------------------------------------------- ------------------- int DailyOpen (deslocamento int, int lastbar) {int shift; int tzdiffsec = TimeZoneOfData * 3600; double barsper30 = 1,0 * PERIOD_M30Período (); lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; lt; ----- ------ thise line não é claro para mim ------- bool ShowDailyOpenLevel = True;/lastbar = barsperday 2;/certifique-se de que ch o diário lastbar = MathMin (Bars-20 * barsper30-1, lastbar);/lt; lt; lt; lt; lt; lt; lt; ---- --- thise também não está claro ------- para (shift = lastbar; shiftgt; = offset; shift -) {TodayOpenBuffer # 91; shift # 93; = 0; if (ShowDailyOpenLevel) {if (TimeDay (Hora # 91; turno # 93; -tzdiffsec)! = TimeDay (Hora # 91; turno 1 # 93; -tzdiffsec)) {//troca do dia TodayOpenBuffer # 91; turno # 93 ; = Open # 91; shift # 93; TodayOpenBuffer # 91; shift 1 # 93; = 0;/evita escadas na linha} else {TodayOpenBuffer # 91; shift # 93; = TodayOpenBuffer # 91; shift 1 # 93 ;; }}} return (0); }

    O mesmo pode explicar essas duas linhas de código que estão fazendo e como funcionam?

    desde já, obrigado.



  2. #2
    ok eu consegui understod, mas por que nesta linha: lastbar = MathMin (Bars-20 * barsper30-1, lastbar); para o que é o 20 e o -1 ?????????

  3. #3
    the same indior different author but much more clearer :- Inserted Code / ------------------------------------------------------------------ /| Daily-Weekly Open.mq4 | /| [email protected] | /| http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/| / ------------------------------------------------------------------ #property copyright [email protected] #property link http://www.learncurrencytrading.com/fxforum/blogs/djindyfx/ #property indior_chart_window #property indior_buffers 2 #property indior_color1 Aqua #property indior_color2 Red /---- buffers double dailyopen#91;#93;; double weeklyopen#91;#93;; double line; double d,w; / ------------------------------------------------------------------ /| Custom indior initialization function | / ------------------------------------------------------------------ int init() { /---- indiors SetIndexStyle(0,DRAW_LINE,STYLE_DOT,1); SetIndexBuffer(0,dailyopen); SetIndexStyle(1,DRAW_LINE,STYLE_DASHDOT,1); SetIndexBuffer(1,weeklyopen); string dopen, wopen; dopen = Daily Open; wopen = Weekly Open; IndiorShortName(dopen); IndiorShortName(wopen); SetIndexLabel(0,dopen); SetIndexLabel(1,wopen); SetIndexDrawBegin(0,1); /SetIndexDrawBegin(1,1); /---- return(0); } / ------------------------------------------------------------------ /| Custom indior deinitialization function | / ------------------------------------------------------------------ int deinit() { /---- /ObjectDelete(Weekly Open); /ObjectDelete(Daily Open); /---- return(0); } / ------------------------------------------------------------------ /| Custom indior iteration function | / ------------------------------------------------------------------ int start() { int counted_bars=IndiorCounted(); int limit, i; /---- if(counted_bars==0) {//0 /d=Period(); /if (dgt;240)return(-1); ObjectCreate(Weekly Open,OBJ_HLINE,0,0,0); ObjectCreate(Daily Open,OBJ_HLINE,0,0,0); }//0 if(counted_barslt;0) return(-1); limit=(Bars-counted_bars)-1; for(i=limit; igt;=0; i--) {//0 if(1==TimeDayOfWeek(Time#91;i#93 1!=TimeDayOfWeek(Time#91;i 1#93) {//1 w=Open#91;i#93;; ObjectMove(Weekly Open,0,Time#91;i#93;,line); }//2 if (TimeDay(Time#91;i#93 !=TimeDay(Time#91;i 1#93) {//3 d=Open#91;i#93;; ObjectMove(Daily Open,0,Time#91;i#93;,line); }//3 weeklyopen#91;i#93;=w; dailyopen#91;i#93;=d; }//0 /---- return(0); } / ------------------------------------------------------------------ )

  4. #4
    Eu tive algumas perguntas sobre o que o IndiorCounted () estava fazendo e escrevi um indior que tem o único propósito de mostrar o que o IndiorCounted () retorna. Está aqui:
    http://forum.mql4.com/47935. Estou pensando em mudar de usar IndiorCounted () para usar o array Time [] e manter o último processado em uma variável de data e hora estática para determinar o quanto de volta para calcular.

  5. #5
    Eu tive algumas perguntas sobre o que o IndiorCounted () estava fazendo e escrevi um indior que tem o único propósito de mostrar o que o IndiorCounted () retorna. Está aqui:
    http://forum.mql4.com/47935. Estou pensando em mudar de usar IndiorCounted () para usar o array Time [] e manter o último processado em uma variável de data e hora estática para determinar o quanto de volta para calcular.
    oi lukeb obrigado pela informação, vou dar uma olhada.

Permissões de Publicação

  • Não pode publicar novos tópicos
  • Não pode publicar respostas
  • Não pode publicar anexos
  • Não pode editar as suas publicações
  •  
  • Código BB está Ativo
  • Smilies estão Ativos
  • Código [IMG] está Ativo
  • Código [VIDEO] está Ativo
  • Código HTML está Desligado
O site da tradingintuitivo utiliza cookies
O site da tradingintuitivo utiliza cookies, alguns já foram definidos. Pode ler sobre a nossa utilização de cookies aqui. Por favor, clique no botão à direita para aceitar os nossos cookies. Se continuar a usar o site da tradingintuitivo, vamos supor que aceita os nossos cookies.