Jump to content

k15hor

Members
  • Posts

    11
  • Joined

  • Last visited

Posts posted by k15hor

  1. Hi

    Are there any good lateral thinking coders out there who can make some adjustments for me please.

     

    What i require is as follows.

     

    1. a merger of these two ea's

     

     

    What we have here are two ea's doing two different jobs.

    A... http://www.2shared.com/file/WdeIgfsr/LineTrader.html

    - with this ea you label a horizontal line to place an order when the price breaks the line.

     

    B...

    http://www.2shared.com/file/A2-bgbAr/SL-TP_line.html

    - This ea when placed on the chart will add a horizontal line at the SL and TP , this line become a dymnamic horizontal. meaning that if you move it then the SL or TP will be adjusted automatically too...!

     

    What i require is to have the dynamic horizontal line added to the first ea. But with a twist. i need the SL to be moved for all live orders for that chart to the same SL.

    ie you can have 10 open orders but one SL when the dynamic line moves to 1.3562 then all 10 will have the same sl move to 1.3562

     

    Not to worry there is a reason for this madness. Please read on

     

    now addition to the above i require :-

     

    1 . if in the new ea a line is triggered to place an order then 10 additional lines above the trigger point is opened as well as 5 below. All these lines will be a buy if the buy line is triggered and vice versa. these figures are just an example but a simple calculation based on the account balance can provide the dynamics of how many order lines to create with in tolleration ( safety percentage you are willing to risk)

     

    2. the distance between these new lines is adjustable (external input)

     

    3. Lot sizes are in the form of a reverse martingale set as follows.

    I ) the first initial line will have a set lot size that is as follows

    account balance /10000 (or 1000 depending on which broker you use ) . now round this figure up or down bepending on what broker account you have (micro/ mini etc.. as brokers have a min lot size. This will always be the largest lot size all the rest will be on a reducing sequence down to the brokers minimum.

     

    ii) all subsequent lot sizes are on a reducing scale - 0.4 down to the minimum your broker will allow. once that is reached then all following orders will be at that low figure.

     

    3.when the SL is hit or TP then all orders need to be closed too. and all dynamic lines to be removed.

     

     

    There will be loses if you do not manage your trades but when you hit a trend in any time frame , well can imagine your returns.

     

    So is there anyone who can help recode and program this for me please...?

     

    Thankyou in advance... we can all share in this once it is done...!

  2. Here is the second indicator "Tidane"

    //+------------------------------------------------------------------+
    //|                                                                  |
    //|                                                                  |
    //|                 Modified version of Bollinger Bands              |
    //|    I'm not the original author of it. Code has been modified     |
    //|              from existing indiator by TrendLaboratory.          |
    //+------------------------------------------------------------------+
    
    #property indicator_chart_window
    #property indicator_buffers 6
    #property indicator_color1 RoyalBlue
    #property indicator_color2 Red
    #property indicator_color3 RoyalBlue
    #property indicator_color4 Red
    #property indicator_color5 RoyalBlue
    #property indicator_color6 Red
    
    
    
    
    //---- input parameters
    extern int    Length=20;      // Bollinger Bands Period
    extern int    Deviation=2;    // Deviation was 2
    extern double MoneyRisk=1.00; // Offset Factor
    extern int    Signal=1;       // Display signals mode: 1-Signals & Stops; 0-only Stops; 2-only Signals;
    extern int    Line=1;         // Display line mode: 0-no,1-yes  
    extern int    Nbars=1000;
    
    
    double mykijun;
    double mytenkan;
    int ii;
    
    //---- indicator buffers
    double UpTrendBuffer[];
    double DownTrendBuffer[];
    double UpTrendSignal[];
    double DownTrendSignal[];
    double UpTrendLine[];
    double DownTrendLine[];
    extern bool SoundON=true;
    bool TurnedUp = false;
    bool TurnedDown = false;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
     int init()
     {
     
        ObjectCreate("mywebsite",OBJ_LABEL,4,84,0);
     
      string short_name;
    //---- indicator line
      
      SetIndexBuffer(0,UpTrendBuffer);
      SetIndexBuffer(1,DownTrendBuffer);
      SetIndexBuffer(2,UpTrendSignal);
      SetIndexBuffer(3,DownTrendSignal);
      SetIndexBuffer(4,UpTrendLine);
      SetIndexBuffer(5,DownTrendLine);
      SetIndexStyle(0,DRAW_ARROW,0,1);
      SetIndexStyle(1,DRAW_ARROW,0,1);
      SetIndexStyle(2,DRAW_ARROW,0,1);
      SetIndexStyle(3,DRAW_ARROW,0,1);
      SetIndexStyle(4,DRAW_LINE);
      SetIndexStyle(5,DRAW_LINE);
      SetIndexArrow(0,159);
      SetIndexArrow(1,159);
      SetIndexArrow(2,108);
      SetIndexArrow(3,108);
      IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
    //---- name for DataWindow and indicator subwindow label
      short_name="Alert Stop("+Length+","+Deviation+")";
      IndicatorShortName(short_name);
      SetIndexLabel(0,"UpTrend Stop");
      SetIndexLabel(1,"DownTrend Stop");
      SetIndexLabel(2,"UpTrend Signal");
      SetIndexLabel(3,"DownTrend Signal");
      SetIndexLabel(4,"UpTrend Line");
      SetIndexLabel(5,"DownTrend Line");
    //----
      SetIndexDrawBegin(0,Length);
      SetIndexDrawBegin(1,Length);
      SetIndexDrawBegin(2,Length);
      SetIndexDrawBegin(3,Length);
      SetIndexDrawBegin(4,Length);
      SetIndexDrawBegin(5,Length);
    //----
      return(0);
     }
    
      int deinit()
    {
     ObjectDelete("mywebsite");   
    }
    
    int start()
     {
      int    i,shift,trend;
      double smax[25000],smin[25000],bsmax[25000],bsmin[25000];
      
      for (shift=Nbars;shift>=0;shift--)
      {
      UpTrendBuffer[shift]=0;
      DownTrendBuffer[shift]=0;
      UpTrendSignal[shift]=0;
      DownTrendSignal[shift]=0;
      UpTrendLine[shift]=EMPTY_VALUE;
      DownTrendLine[shift]=EMPTY_VALUE;
      }
      
      for (shift=Nbars-Length-1;shift>=0;shift--)
      {    
        
        smax[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_UPPER,shift);
         smin[shift]=iBands(NULL,0,Length,Deviation,0,PRICE_CLOSE,MODE_LOWER,shift);
       
         if (Close[shift]>smax[shift+1]) trend=1; 
         if (Close[shift]<smin[shift+1]) trend=-1;
                
         if(trend>0 && smin[shift]<smin[shift+1]) smin[shift]=smin[shift+1];
         if(trend<0 && smax[shift]>smax[shift+1]) smax[shift]=smax[shift+1];
               
         bsmax[shift]=smax[shift]+0.5*(MoneyRisk-1)*(smax[shift]-smin[shift]);
         bsmin[shift]=smin[shift]-0.5*(MoneyRisk-1)*(smax[shift]-smin[shift]);
           
         if(trend>0 && bsmin[shift]<bsmin[shift+1]) bsmin[shift]=bsmin[shift+1];
         if(trend<0 && bsmax[shift]>bsmax[shift+1]) bsmax[shift]=bsmax[shift+1];
         
         if (trend>0) 
         {
            if (Signal>0 && UpTrendBuffer[shift+1]==-1.0)
            {
            UpTrendSignal[shift]=bsmin[shift];
            UpTrendBuffer[shift]=bsmin[shift];
            if(Line>0) UpTrendLine[shift]=bsmin[shift];
        if (SoundON==true && shift==0 && !TurnedUp)
            {
        Alert("-signal going up on ",Symbol(),"-",Period());
                          TurnedUp = true;
               TurnedDown = false;
        }
            }
            else
            {
            UpTrendBuffer[shift]=bsmin[shift];
            if(Line>0) UpTrendLine[shift]=bsmin[shift];
            UpTrendSignal[shift]=-1;
            }
         if (Signal==2) UpTrendBuffer[shift]=0;   
         DownTrendSignal[shift]=-1;
         DownTrendBuffer[shift]=-1.0;
         DownTrendLine[shift]=EMPTY_VALUE;
         }
         if (trend<0) 
         {
         if (Signal>0 && DownTrendBuffer[shift+1]==-1.0)
            {
            DownTrendSignal[shift]=bsmax[shift];
            DownTrendBuffer[shift]=bsmax[shift];
            if(Line>0) DownTrendLine[shift]=bsmax[shift];
        if (SoundON==true && shift==0 && !TurnedDown)
            {
        Alert("-Alert going Down on ",Symbol(),"-",Period());
               TurnedDown = true;
               TurnedUp = false;
        }
            }
            else
            {
            DownTrendBuffer[shift]=bsmax[shift];
            if(Line>0)DownTrendLine[shift]=bsmax[shift];
            DownTrendSignal[shift]=-1;
            }
         if (Signal==2) DownTrendBuffer[shift]=0;    
         UpTrendSignal[shift]=-1;
         UpTrendBuffer[shift]=-1.0;
         UpTrendLine[shift]=EMPTY_VALUE;
         }
    
         
      }      
    
    
    ObjectSetText("mywebsite"," Double tidane indicater", 10, "Arial", Red);
    ObjectSet("mywebsite",OBJPROP_XDISTANCE,2);
    ObjectSet("mywebsite",OBJPROP_YDISTANCE,15);
    ObjectSet("mywebsite", OBJPROP_CORNER, 0);
    
    
    
       return(0);    
    } 

     

     

    So my request is what coding is required to...

    1, have 2 tadine indicators

    2. with 1 VoltyChannel_Stop

     

    merged into 1 indicator...

     

    with signal to show where there is a 2 or 3 signal corrolation on a chart...

     

    thanks...

     

    any questions please let me know...!

×
×
  • Create New...