Announcement

Collapse
No announcement yet.

How can I add the technical indicator Money Flow Index to the esignal chart?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How can I add the technical indicator Money Flow Index to the esignal chart?

    How can I add the technical indicator Money Flow Index to the esignal chart? What is the formula and how can I add it to the esignal chart.

  • #2
    1taffy1
    See this article in the eSignal KnowledgeBase on how to add studies to a chart.
    The Money Flow indicator is available both as a Built-In Study and as an EFS in Formulas->Built-in Studies Formulas->Custom Formulas
    Alex


    Originally posted by 1taffy1 View Post
    How can I add the technical indicator Money Flow Index to the esignal chart? What is the formula and how can I add it to the esignal chart.

    Comment


    • #3
      Thank you for your message about Money Flow Index

      Originally posted by ACM View Post
      1taffy1
      See this article in the eSignal KnowledgeBase on how to add studies to a chart.
      The Money Flow indicator is available both as a Built-In Study and as an EFS in Formulas->Built-in Studies Formulas->Custom Formulas
      Alex
      Originally posted by ACM View Post
      1taffy1
      See this article in the eSignal KnowledgeBase on how to add studies to a chart.
      The Money Flow indicator is available both as a Built-In Study and as an EFS in Formulas->Built-in Studies Formulas->Custom Formulas
      Alex
      Alex,
      Thank you for your message.
      I am looking for the technical indicator "Money Flow Index" not Money Flow.

      The internet address that declares that esignal has the indicator "Money Flow Index" is the internet address: http://www.esignal.com/support/optio...Flow_Index.htm
      I use esignal as the time frame goes down to one second and the trading platform, I use, on Ameritrade, Think or Swim, only goes down to one MINUTE.
      Therefore, as I use 30 technical indicators on four monitors, I wish to duplicate the most important technical indicators, of which Money Flow Index is the most important on esignal.
      Please find below the Ameritrade, Think Or Swim, "Money Flow Index", formula that Think Or Swim uses.
      # TD Ameritrade IP Company, Inc. (c) 2007-2016
      #

      declare lower;

      input over_Sold = 20;
      input over_Bought = 80;

      input length = 14;
      input movingAvgLength = 1;

      plot MoneyFlowIndex = Average(moneyflow(high, close, low, volume, length), movingAvgLength);
      plot OverBought = over_Bought;
      plot OverSold = over_Sold;

      MoneyFlowIndex.DefineColor("OverBought", GetColor(5));
      MoneyFlowIndex.DefineColor("Normal", GetColor(7));
      MoneyFlowIndex.DefineColor("OverSold", GetColor(1));
      MoneyFlowIndex.AssignValueColor(if MoneyFlowIndex > over_Bought then MoneyFlowIndex.color("OverBought") else if MoneyFlowIndex > over_Sold then MoneyFlowIndex.color("Normal") else MoneyFlowIndex.color("OverSold"));
      OverBought.SetDefaultColor(GetColor(8));
      OverSold.SetDefaultColor(GetColor(8));

      I sent this formula to Joe Bangkot ([email protected], tel no. 510-263-1700) at esignal and he cannot get it to work on esignal. As the internet address, I put in above about esignal knowing about "Money Flow Index", I assume that esignal would be able to find the "Money Flow Index" technical indicator and will help me put it on my esignal charts.
      Perhaps after reviewing the internet site and seeing the Think OR Swim formula, you can suggest how to use it in esignal or you would know how to modify the Think Or Swim "Money Flow Index" formula so that I can use it in esignal.
      I would greatly appreciate it.
      I thank you for your time.
      Sincerely yours,
      Peter Marchesin

      Comment


      • #4
        In case it helps:

        Your TOS script just averages out the money flow to an sma length of 1.
        That in effect is the same as just the money flow indicator itself since it divides the money flow by 1.
        you can see that in the script below by changing the "MALength" to 1 from the default of 10.
        The script mirrors the TOS script except for the default of "MALength" which TOS defaults to 1.
        NOTE: I used different colors since I don't know what TOS color #s are.
        PHP Code:
        /*********************************************************
        Alexis C. Montenegro © December 2004                      
        Use and/or modify this code freely. If you redistribute it
        please include this and/or any other comment blocks and a 
        description of any changes you make.                      
        **********************************************************/
        //20160730: modified default MALength and added foreground color conditionals
        var aFPArray = new Array();

        function 
        preMain() {

            
        setStudyTitle("MAofMoneyFlow");
            
        setCursorLabelName("MF"0);
            
        setCursorLabelName("MAofMF"1);
            
        setDefaultBarFgColor(Color.blue0);
            
        setDefaultBarFgColor(Color.red1);
            
        setDefaultBarThickness(1,0);
            
        setDefaultBarThickness(1,1);
            
        askForInput();
                
            var 
        x=0;
            
        aFPArray[x] = new FunctionParameter("Length"FunctionParameter.NUMBER);
            
        with(aFPArray[x++]){
                
        setLowerLimit(1);        
                
        setDefault(14);
            }
            
        aFPArray[x] = new FunctionParameter("Symbol"FunctionParameter.STRING);
            
        with(aFPArray[x++]){
                
        setDefault();
            }
            
        aFPArray[x] = new FunctionParameter("Interval"FunctionParameter.STRING);
            
        with(aFPArray[x++]){
                
        setDefault();
            }
            
        aFPArray[x] = new FunctionParameter("MAType"FunctionParameter.STRING);
            
        with(aFPArray[x++]){
                
        addOption("sma");
                
        addOption("ema");
                
        addOption("wma");
                
        setDefault("sma");
            }    
            
        aFPArray[x] = new FunctionParameter("MALength"FunctionParameter.NUMBER);
            
        with(aFPArray[x++]){
                
        setLowerLimit(1);        
                
        addOption(1);
                
        addOption(10);
                
        setDefault(10);
            }
            
        aFPArray[x] = new FunctionParameter("over_Bought"FunctionParameter.NUMBER);
            
        with(aFPArray[x++]){
                
        setLowerLimit(0);
                
        setDefault(80); 
            }
            
        x++;
            
        aFPArray[x] = new FunctionParameter("over_Sold"FunctionParameter.NUMBER);
            
        with(aFPArray[x++]){
                
        setLowerLimit(0);
                
        setDefault(20); 
            }
            
        aFPArray[x] = new FunctionParameter"xMF_NormalColor"FunctionParameter.COLOR);
            
        withaFPArray[x++] ) {
                
        setDefaultColor.blue );
            }  
            
        aFPArray[x] = new FunctionParameter"xMF_OverSldColor"FunctionParameter.COLOR);
            
        withaFPArray[x++] ) {
                
        setDefaultColor.green );
            }  
            
        aFPArray[x] = new FunctionParameter"xMF_OverBotColor"FunctionParameter.COLOR);
            
        withaFPArray[x++] ) {
                
        setDefaultColor.red );
            }  
            
        aFPArray[x] = new FunctionParameter"xMAofMF_NormalColor"FunctionParameter.COLOR);
            
        withaFPArray[x++] ) {
                
        setDefaultColor.black );
            }  
            
        aFPArray[x] = new FunctionParameter"xMAofMF_OverSldColor"FunctionParameter.COLOR);
            
        withaFPArray[x++] ) {
                
        setDefaultColor.lime );
            }  
            
        aFPArray[x] = new FunctionParameter"xMAofMF_OverBotColor"FunctionParameter.COLOR);
            
        withaFPArray[x++] ) {
                
        setDefaultColor.magenta );
            }  
            
        aFPArray[x] = new FunctionParameter("Params"FunctionParameter.BOOLEAN);
            
        with(aFPArray[x++]){
                
        setName("Show Parameters");
                
        setDefault(false);
            }
        }

        var 
        bInit false;
        var 
        xMF null;
        var 
        xMAofMF null;

        function 
        main(Length,Symbol,Interval,MAType,MALength,over_Bought,over_Sold,xMF_NormalColor,xMF_OverSldColor,xMF_OverBotColor,xMAofMF_NormalColor,xMAofMF_OverSldColor,xMAofMF_OverBotColor,Params) {
            var 
        xMAofMF0=null,xMF0=null,plotThichness=2;
            if(
        bInit == false){
                
        setDefaultBarThickness(plotThichness,0);
                
        setDefaultBarThickness(plotThichness,1);
                if(
        Symbol == nullSymbol getSymbol();
                if(
        Interval == nullInterval getInterval();
                var 
        vSymbol Symbol+","+Interval;
                
        xMF moneyFlow(Length,sym(vSymbol));
                
        xMAofMF = eval(MAType)(MALength,moneyFlow(Length,sym(vSymbol)));
                
        addBand(over_Bought,PS_SOLID,1,Color.black,"over_Bought");
                
        addBand(over_Sold,PS_SOLID,1,Color.black,"over_Sold");
                
        setShowTitleParameters(eval(Params));
                
        bInit true;
            }
            
        xMAofMF0=xMAofMF.getValue(0);
            
        xMF0=xMF.getValue(0);
            if(
        xMF0==null || xMAofMF0==null) return;
            if(
        xMF0 >= over_Bought){
                
        setBarFgColor(xMF_OverBotColor,0);
                
        setBarThickness(plotThichness+1,0);
            }else if(
        xMF0 <= over_Sold){
                
        setBarFgColor(xMF_OverSldColor,0);
                
        setBarThickness(plotThichness+1,0);
            }else 
        setBarFgColor(xMF_NormalColor,0);
            
            if(
        xMAofMF0 >= over_Bought){
                
        setBarFgColor(xMAofMF_OverBotColor,1);
                
        setBarThickness(plotThichness+1,1);
            }else if(
        xMAofMF0 <= over_Sold){
                
        setBarFgColor(xMAofMF_OverSldColor,1);
                
        setBarThickness(plotThichness+1,1);
            }else 
        setBarFgColor(xMAofMF_NormalColor,1);
            
            return new Array (
        getSeries(xMF),getSeries(xMAofMF));

        Wayne

        Comment


        • #5
          for clarification:
          by changing the "MALength" to 1 from the default of 10.
          "MALength" is an item in the indicator "Edit" menu.
          Wayne

          Comment

          Working...
          X