EA na podstawie wskaznika

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
potrzebujący ;)
Bywalec
Bywalec
Posty: 17
Rejestracja: 29 kwie 2012, 23:02

Nieprzeczytany post autor: potrzebujący ;) »

Witam,

mam pytanie i prośbę o pomoc...
czy wystarczy, że do kodu wskaźnika pod "Alert()" dopiszę sobie OrderSend() żeby otwierać pozycje? czy muszę coś jeszcze z tym zrobić?

kod wskaźnika:

Kod: Zaznacz cały

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

double g_ibuf_76[];
double g_ibuf_80[];
extern int Fastsignal = 4;
extern int Slowsignal = 8;
extern bool SoundON = TRUE;
double gd_96;
double gd_unused_104 = EMPTY_VALUE;

int init() {
   SetIndexStyle(0, DRAW_ARROW, EMPTY, 3);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, g_ibuf_76);
   SetIndexStyle(1, DRAW_ARROW, EMPTY, 3);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, g_ibuf_80);
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   int li_8;
   double l_ima_12;
   double l_ima_20;
   double l_ima_28;
   double l_ima_36;
   double l_ima_44;
   double l_ima_52;
   double ld_60;
   double ld_68;
   int li_76 = IndicatorCounted();
   if (li_76 < 0) return (-1);
   if (li_76 > 0) li_76--;
   int li_0 = Bars - li_76;
   for (int li_4 = 0; li_4 <= li_0; li_4++) {
      li_8 = li_4;
      ld_60 = 0;
      ld_68 = 0;
      for (li_8 = li_4; li_8 <= li_4 + 9; li_8++) ld_68 += MathAbs(High[li_8] - Low[li_8]);
      ld_60 = ld_68 / 10.0;
      l_ima_12 = iMA(NULL, 0, Fastsignal, 0, MODE_EMA, PRICE_CLOSE, li_4);
      l_ima_28 = iMA(NULL, 0, Fastsignal, 0, MODE_EMA, PRICE_CLOSE, li_4 + 1);
      l_ima_44 = iMA(NULL, 0, Fastsignal, 0, MODE_EMA, PRICE_CLOSE, li_4 - 1);
      l_ima_20 = iMA(NULL, 0, Slowsignal, 0, MODE_EMA, PRICE_CLOSE, li_4);
      l_ima_36 = iMA(NULL, 0, Slowsignal, 0, MODE_EMA, PRICE_CLOSE, li_4 + 1);
      l_ima_52 = iMA(NULL, 0, Slowsignal, 0, MODE_EMA, PRICE_CLOSE, li_4 - 1);
      if (l_ima_12 > l_ima_20 && l_ima_28 < l_ima_36 && l_ima_44 > l_ima_52) g_ibuf_76[li_4] = Low[li_4] - ld_60 / 2.0;
      else
         if (l_ima_12 < l_ima_20 && l_ima_28 > l_ima_36 && l_ima_44 < l_ima_52) g_ibuf_80[li_4] = High[li_4] + ld_60 / 2.0;
      if (SoundON == TRUE && li_4 == 1 && g_ibuf_76[li_4] > g_ibuf_80[li_4] && gd_96 != Time[0]) {
         Alert("Sell Signal ", Symbol(), " ", Period());
         gd_96 = Time[0];
      }
      if (SoundON == TRUE && li_4 == 1 && g_ibuf_76[li_4] < g_ibuf_80[li_4] && gd_96 != Time[0]) {
         Alert("Buy Signal ", Symbol(), " ", Period());
         gd_96 = Time[0];
      }
   }
   return (0);
}
5% z czegoś jest lepsze niż 100% z niczego :P

ODPOWIEDZ