Announcement

Collapse
No announcement yet.

Help to fix this formula

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

  • Help to fix this formula

    Most of the time the last 3 or 4 bars appear in white.
    Please, can someone help me to fix it?

    //{{EFSWizard_Description
    //
    // This formula was generated by the Alert Wizard
    //
    //}}EFSWizard_Description


    //{{EFSWizard_Declarations
    var vSMA5_of_High = new MAStudy(5, 0, "High", MAStudy.SIMPLE);
    var vSMA5_of_Low = new MAStudy(5, 0, "Low", MAStudy.SIMPLE);
    var vLastAlert = -1;
    //}}EFSWizard_Declarations


    function preMain() {
    //{{EFSWizard_Code_PreMain_setPriceBarColor
    setColorPriceBars(true);
    setComputeOnClose(true);
    //}}EFSWizard_Code_PreMain_setPriceBarColor
    /**
    * This function is called only once, before any of the bars are loaded.
    * Place any study or EFS configuration commands here.
    */
    //{{EFSWizard_PreMain
    setPriceStudy(true);
    setStudyTitle("M5M5");
    //}}EFSWizard_PreMain

    }

    function main() {
    /**
    * The main() function is called once per bar on all previous bars, once per
    * each incoming completed bar, and if you don't have 'setComputeOnClose(true)'
    * in your preMain(), it is also called on every tick.
    */

    //{{EFSWizard_Expressions
    //{{EFSWizard_Expression_1
    if (
    close() > vSMA5_of_Low.getValue(MAStudy.MA) &&
    close() > vSMA5_of_High.getValue(MAStudy.MA)
    ) onAction1()
    //}}EFSWizard_Expression_1

    //{{EFSWizard_Expression_2
    else if (
    close() < vSMA5_of_High.getValue(MAStudy.MA) &&
    close() < vSMA5_of_Low.getValue(MAStudy.MA)
    ) onAction2();
    //}}EFSWizard_Expression_2

    //}}EFSWizard_Expressions


    //{{EFSWizard_Return
    return null;
    //}}EFSWizard_Return

    }

    function postMain() {
    /**
    * The postMain() function is called only once, when the EFS is no longer used for
    * the current symbol (ie, symbol change, chart closing, or application shutdown).
    */
    }

    //{{EFSWizard_Actions
    //{{EFSWizard_Action_1
    function onAction1() {
    setPriceBarColor(Color.RGB(0,0,255));
    if (vLastAlert != 1) Strategy.doLong("", Strategy.CLOSE, Strategy.THISBAR, Strategy.DEFAULT, 0);
    vLastAlert = 1;
    }
    //}}EFSWizard_Action_1

    //{{EFSWizard_Action_2
    function onAction2() {
    setPriceBarColor(Color.RGB(255,0,0));
    if (vLastAlert != 2) Strategy.doShort("", Strategy.CLOSE, Strategy.THISBAR, Strategy.DEFAULT, 0);
    vLastAlert = 2;
    }
    //}}EFSWizard_Action_2

    //}}EFSWizard_Actions

  • #2
    Barros
    That is happening because you have not defined a default color for the price bars. You have two ways in which you can correct this.
    For the first one open the efs with the Editor and add setDefaultPriceBarColor(Color.black) in preMain (or use any color of your choice).
    If instead you would like to be able to define a default price bar color from within the Formula Wizard then you need to add a Set (this should always be the last one) in which you write a condition that is always true by definition such as for example 1==1. Then in "the following will happen every time" set the color of the price bar to your desired default color
    Alex

    Comment


    • #3
      Hi Alex,
      Once more, thank you very much.

      Comment

      Working...
      X