Forex EA Generator. Давайте программировать вместе.

ser!go

Прохожий
Forex EA для простых вещей вполне подходит, но шаг в сторону и уже дремучий лес для моего головного чайника начинается.

Может кто подскажет как вставить в Forex EA результаты из индикатора ExtremeTMAInfo _http://rghost.net/private/46910930/29f462ab23685e93bd728705949e2da8

интересуют значения tmaSlope, tmaSlopeH1, tmaSlopeH4, tmaSlopeChange

в спойлере верхняя часть индикатора
PHP:
#property copyright "Extreme TMA System"
#property link      "_http://www.forexfactory.com/showthread.php?t=343533m"
#property indicator_chart_window
  
extern color NeutralColor = LightGray; extern color BullColor = SeaGreen; extern color ExtremeBullColor = Lime; extern color BearColor = Orange; extern color ExtremeBearColor = Red; 
extern int TmaPeriod = 56; extern int TmaAtrPeriod = 100; extern double TmaBandSize = 2; extern double TmaSlopeThreshold = 0.5; extern double TmaBandSizeH1 = 3; extern double TmaBandSizeH4 = 3; extern int PivotHoursShift = 0; extern double PivotThreshold = 10; 
extern int MaPeriod = 10;  
//This is the same as 4 in the original TMA MACross
extern int MaShift = 1;
extern int Size = 13; extern string Font = "Arial";  

extern bool ShowPrice = false; extern bool ShowDailyAtr = false; extern bool ShowSpread = false;

extern bool ShowTmaSize = false;  extern bool ShowTmaSizeH1 = false; extern bool ShowTmaSizeH4 = false; 

//  ???
extern bool ShowSlope = true; 
extern bool ShowSlopeH1 = true; 
extern bool ShowSlopeH4 = true; 
extern bool ShowExtremeTMA = true; 
extern bool ShowSlopeChange = true; 
extern bool ShowPivotDistance = true;

extern bool ShowHeikenAshi = false; extern bool ShowMACrossover = false;
extern bool AlertOn = false; extern bool AlertMessage = false; extern bool AlertEmail = false; extern bool AlertSound = false; extern string AlertSoundFile = "alert2.wav"; 



int LinearRegressionPeriod = 7; 

bool ShowLinearPriceChange = false; 


int Bottom = 25;
double Tick = 0;
bool AdditionalDigit;
double Pivots[];
 
int LastPivotDay= 0;
bool AlertHappened = false;
//+------------------------------------------------------------------+
//     expert initialization function                                |       
//+------------------------------------------------------------------+
int init()
  { 
  
   ArrayResize(Pivots,11);
	Tick = MarketInfo(Symbol(), MODE_TICKSIZE);	
   AdditionalDigit = MarketInfo(Symbol(), MODE_MARGINCALCMODE) == 0 && MarketInfo(Symbol(), MODE_PROFITCALCMODE) == 0 && Digits % 2 == 1;
   if (AdditionalDigit) {
        Tick *= 10;
    }    
       
   initGraph();
   return(0);                                                              
  }
  
int deinit()
  {
   deinitGraph();
   Print("shutdown error - ",GetLastError());                               
   return(0);                                                             
  }
int start()
  {
   main();
   return(0);                                                               
  }
  
void main()                                                             
  {   
   RefreshRates();  
   //General Info   
    
   double spread=NormalizeDouble(((Ask-Bid)/Point)/10,1);
   int dayShift = iBarShift(Symbol(),PERIOD_D1,Time[0]);
   
   double atr = iATR(Symbol(),PERIOD_D1, 14,dayShift);
   double price = NormalizeDouble(Close[0],4);     
   atr =  NormalizeDouble((atr/Point)/10,1);

   if (ShowSpread)  paintGeneral("SpreadValue", spread, NeutralColor, 1);
   if (ShowDailyAtr)  paintGeneral("AtrValue", atr, NeutralColor);
   // if (ShowPrice)  paintPrice(price); 


   
   double tmaH1,tmaH1Prev,tmaH4,tmaH4Prev;
   
   //Tma Info
   GetPivots(Symbol());
      int shiftH1 = iBarShift(NULL,60,Time[0]);
      int shiftH4 = iBarShift(Symbol(),240,Time[0]);  
	  
   if (ShowSlopeH1)
   {      
      tmaH1 = CalcTma(60, shiftH1); 
      tmaH1Prev  = CalcTma(60, shiftH1+1);
   }
   if (ShowSlopeH4)
   {    
      tmaH4 = CalcTma(240, shiftH4); 
      tmaH4Prev  = CalcTma(240, shiftH4+1);
   }
   
   //if (Symbol() == "EURUSDm") Print (" tmaH1 ",tmaH1," tmaH1Prev ",tmaH1Prev, " shiftH1 ", shiftH1, " Time[0] ", TimeToStr(Time[0])
   //, "iClose(Symbol(),60,shiftH1);", iClose(Symbol(),60,shiftH1), "iTime(Symbol(),60,shiftH1);", TimeToStr(iTime(Symbol(),60,shiftH1)));
   double tma = getTma(Symbol(),0, 0); 
   double tmaPrev  = getTma(Symbol(),0, 1);
   double tmaPrev2  = getTma(Symbol(),0, 2);
   double tmaPrev3  = getTma(Symbol(),0, 3);
   double priceSlope  = getPriceSlope(Symbol(),0,LinearRegressionPeriod);
   double pivotDist = GetNearestPivotDistance()/Tick;
   
   double tmaAtr = iATR( Symbol(), 0, TmaAtrPeriod, 10);   
   double tmaAtrH1 = iATR( Symbol(), 60, TmaAtrPeriod,shiftH1 + 10);
   double tmaAtrH4 = iATR( Symbol(), 240, TmaAtrPeriod, shiftH4 + 10);   
   double diff = Close[0] - tma;
   double extremeTma = (diff/tmaAtr) / TmaBandSize; 
   
   double n = tmaAtr * 0.1;    
   
   double tmaSlope = ((tma- tmaPrev) / n) ; 
   double tmaSlopeH1 = ((tmaH1- tmaH1Prev) / (tmaAtrH1 * 0.1)) ; 
   double tmaSlopeH4 = ((tmaH4- tmaH4Prev) / (tmaAtrH4 * 0.1)) ; 
   double tmaSlope1 = ((tmaPrev- tmaPrev2) / n) ; 
   double tmaSlope2 = ((tmaPrev2- tmaPrev3) / n) ;
   double tmaSlopeChange = ((tmaSlope - tmaSlope1) + (tmaSlope1 - tmaSlope2)) / 2.0;
   
   if (ShowTmaSize) paintGeneral("TmaSizeValue", (tmaAtr/Tick) * 2 * TmaBandSize   , NeutralColor);
   if (ShowTmaSizeH1) paintGeneral("TmaSizeH1Value", (tmaAtrH1/Tick) * 2 * TmaBandSizeH1   , NeutralColor);
   if (ShowTmaSizeH4) paintGeneral("TmaSizeH4Value", (tmaAtrH4/Tick) * 2 * TmaBandSizeH4   , NeutralColor);
      
      
   color c = NeutralColor;
   
   if (ShowExtremeTMA)
   {
      if(extremeTma<=-1){c = ExtremeBullColor; } 
      else if(extremeTma>=1){c = ExtremeBearColor; }
      else if(extremeTma>0){c = BearColor; }
      else if(extremeTma<0){c = BullColor; } 
      else {c = NeutralColor; }   
      paintGeneral("ExtremeTMA", extremeTma, c);  
   }

   if (ShowSlope)
   {
      if(tmaSlope<-1 * TmaSlopeThreshold){c = ExtremeBearColor; } 
      else if(tmaSlope>TmaSlopeThreshold){c = ExtremeBullColor; } 
      //else {c = NeutralColor; } 
      paintGeneral("TmaSlope", tmaSlope, c,2);  
   
   }
    
   if (ShowSlopeH1)
   {
      if(tmaSlopeH1 <-1 * TmaSlopeThreshold){c = ExtremeBearColor; } 
      else if(tmaSlopeH1 >TmaSlopeThreshold){c = ExtremeBullColor; } 
      else if(tmaSlopeH1 > 0){c = BullColor; } 
      else if(tmaSlopeH1 < 0 ){c = BearColor; } 
      else {c = NeutralColor; } 
      paintGeneral("TmaSlopeH1", tmaSlopeH1, c,2);
   }
   
   if (ShowSlopeH4)
   {
      if(tmaSlopeH4 <-1 * TmaSlopeThreshold){c = ExtremeBearColor; } 
      else if(tmaSlopeH4 >TmaSlopeThreshold){c = ExtremeBullColor; } 
      else if(tmaSlopeH4 > 0){c = BullColor; } 
      else if(tmaSlopeH4 < 0 ){c = BearColor; } 
      else {c = NeutralColor; } 
      paintGeneral("TmaSlopeH4", tmaSlopeH4, c,2);
   }
   
   if (ShowSlopeChange)
   {
      if(tmaSlopeChange<0 && extremeTma>= 1){c = ExtremeBearColor; } 
      else if(tmaSlopeChange<0){c = BearColor; } 
      else if(tmaSlopeChange>0 && extremeTma<= -1){c = ExtremeBullColor; }
      else if(tmaSlopeChange>0){c = BullColor; } 
      else {c = NeutralColor; } 
      paintGeneral("TmaSlopeChange", tmaSlopeChange* 100, c);
   }
 
Последнее редактирование модератором:

deniking_ya

Новичок форума
Forex EA для простых вещей вполне подходит, но шаг в сторону и уже дремучий лес для моего головного чайника начинается.

Может кто подскажет как вставить в Forex EA результаты из индикатора ExtremeTMAInfo _http://rghost.net/private/46910930/29f462ab23685e93bd728705949e2da8

интересуют значения tmaSlope, tmaSlopeH1, tmaSlopeH4, tmaSlopeChange

в спойлере верхняя часть индикатора
PHP:
#property copyright "Extreme TMA System"
#property link      "_http://www.forexfactory.com/showthread.php?t=343533m"
#property indicator_chart_window
  
extern color NeutralColor = LightGray; extern color BullColor = SeaGreen; extern color ExtremeBullColor = Lime; extern color BearColor = Orange; extern color ExtremeBearColor = Red; 
extern int TmaPeriod = 56; extern int TmaAtrPeriod = 100; extern double TmaBandSize = 2; extern double TmaSlopeThreshold = 0.5; extern double TmaBandSizeH1 = 3; extern double TmaBandSizeH4 = 3; extern int PivotHoursShift = 0; extern double PivotThreshold = 10; 
extern int MaPeriod = 10;  
//This is the same as 4 in the original TMA MACross
extern int MaShift = 1;
extern int Size = 13; extern string Font = "Arial";  

extern bool ShowPrice = false; extern bool ShowDailyAtr = false; extern bool ShowSpread = false;

extern bool ShowTmaSize = false;  extern bool ShowTmaSizeH1 = false; extern bool ShowTmaSizeH4 = false; 

//  ???
extern bool ShowSlope = true; 
extern bool ShowSlopeH1 = true; 
extern bool ShowSlopeH4 = true; 
extern bool ShowExtremeTMA = true; 
extern bool ShowSlopeChange = true; 
extern bool ShowPivotDistance = true;

extern bool ShowHeikenAshi = false; extern bool ShowMACrossover = false;
extern bool AlertOn = false; extern bool AlertMessage = false; extern bool AlertEmail = false; extern bool AlertSound = false; extern string AlertSoundFile = "alert2.wav"; 



int LinearRegressionPeriod = 7; 

bool ShowLinearPriceChange = false; 


int Bottom = 25;
double Tick = 0;
bool AdditionalDigit;
double Pivots[];
 
int LastPivotDay= 0;
bool AlertHappened = false;
//+------------------------------------------------------------------+
//     expert initialization function                                |       
//+------------------------------------------------------------------+
int init()
  { 
  
   ArrayResize(Pivots,11);
	Tick = MarketInfo(Symbol(), MODE_TICKSIZE);	
   AdditionalDigit = MarketInfo(Symbol(), MODE_MARGINCALCMODE) == 0 && MarketInfo(Symbol(), MODE_PROFITCALCMODE) == 0 && Digits % 2 == 1;
   if (AdditionalDigit) {
        Tick *= 10;
    }    
       
   initGraph();
   return(0);                                                              
  }
  
int deinit()
  {
   deinitGraph();
   Print("shutdown error - ",GetLastError());                               
   return(0);                                                             
  }
int start()
  {
   main();
   return(0);                                                               
  }
  
void main()                                                             
  {   
   RefreshRates();  
   //General Info   
    
   double spread=NormalizeDouble(((Ask-Bid)/Point)/10,1);
   int dayShift = iBarShift(Symbol(),PERIOD_D1,Time[0]);
   
   double atr = iATR(Symbol(),PERIOD_D1, 14,dayShift);
   double price = NormalizeDouble(Close[0],4);     
   atr =  NormalizeDouble((atr/Point)/10,1);

   if (ShowSpread)  paintGeneral("SpreadValue", spread, NeutralColor, 1);
   if (ShowDailyAtr)  paintGeneral("AtrValue", atr, NeutralColor);
   // if (ShowPrice)  paintPrice(price); 


   
   double tmaH1,tmaH1Prev,tmaH4,tmaH4Prev;
   
   //Tma Info
   GetPivots(Symbol());
      int shiftH1 = iBarShift(NULL,60,Time[0]);
      int shiftH4 = iBarShift(Symbol(),240,Time[0]);  
	  
   if (ShowSlopeH1)
   {      
      tmaH1 = CalcTma(60, shiftH1); 
      tmaH1Prev  = CalcTma(60, shiftH1+1);
   }
   if (ShowSlopeH4)
   {    
      tmaH4 = CalcTma(240, shiftH4); 
      tmaH4Prev  = CalcTma(240, shiftH4+1);
   }
   
   //if (Symbol() == "EURUSDm") Print (" tmaH1 ",tmaH1," tmaH1Prev ",tmaH1Prev, " shiftH1 ", shiftH1, " Time[0] ", TimeToStr(Time[0])
   //, "iClose(Symbol(),60,shiftH1);", iClose(Symbol(),60,shiftH1), "iTime(Symbol(),60,shiftH1);", TimeToStr(iTime(Symbol(),60,shiftH1)));
   double tma = getTma(Symbol(),0, 0); 
   double tmaPrev  = getTma(Symbol(),0, 1);
   double tmaPrev2  = getTma(Symbol(),0, 2);
   double tmaPrev3  = getTma(Symbol(),0, 3);
   double priceSlope  = getPriceSlope(Symbol(),0,LinearRegressionPeriod);
   double pivotDist = GetNearestPivotDistance()/Tick;
   
   double tmaAtr = iATR( Symbol(), 0, TmaAtrPeriod, 10);   
   double tmaAtrH1 = iATR( Symbol(), 60, TmaAtrPeriod,shiftH1 + 10);
   double tmaAtrH4 = iATR( Symbol(), 240, TmaAtrPeriod, shiftH4 + 10);   
   double diff = Close[0] - tma;
   double extremeTma = (diff/tmaAtr) / TmaBandSize; 
   
   double n = tmaAtr * 0.1;    
   
   double tmaSlope = ((tma- tmaPrev) / n) ; 
   double tmaSlopeH1 = ((tmaH1- tmaH1Prev) / (tmaAtrH1 * 0.1)) ; 
   double tmaSlopeH4 = ((tmaH4- tmaH4Prev) / (tmaAtrH4 * 0.1)) ; 
   double tmaSlope1 = ((tmaPrev- tmaPrev2) / n) ; 
   double tmaSlope2 = ((tmaPrev2- tmaPrev3) / n) ;
   double tmaSlopeChange = ((tmaSlope - tmaSlope1) + (tmaSlope1 - tmaSlope2)) / 2.0;
   
   if (ShowTmaSize) paintGeneral("TmaSizeValue", (tmaAtr/Tick) * 2 * TmaBandSize   , NeutralColor);
   if (ShowTmaSizeH1) paintGeneral("TmaSizeH1Value", (tmaAtrH1/Tick) * 2 * TmaBandSizeH1   , NeutralColor);
   if (ShowTmaSizeH4) paintGeneral("TmaSizeH4Value", (tmaAtrH4/Tick) * 2 * TmaBandSizeH4   , NeutralColor);
      
      
   color c = NeutralColor;
   
   if (ShowExtremeTMA)
   {
      if(extremeTma<=-1){c = ExtremeBullColor; } 
      else if(extremeTma>=1){c = ExtremeBearColor; }
      else if(extremeTma>0){c = BearColor; }
      else if(extremeTma<0){c = BullColor; } 
      else {c = NeutralColor; }   
      paintGeneral("ExtremeTMA", extremeTma, c);  
   }

   if (ShowSlope)
   {
      if(tmaSlope<-1 * TmaSlopeThreshold){c = ExtremeBearColor; } 
      else if(tmaSlope>TmaSlopeThreshold){c = ExtremeBullColor; } 
      //else {c = NeutralColor; } 
      paintGeneral("TmaSlope", tmaSlope, c,2);  
   
   }
    
   if (ShowSlopeH1)
   {
      if(tmaSlopeH1 <-1 * TmaSlopeThreshold){c = ExtremeBearColor; } 
      else if(tmaSlopeH1 >TmaSlopeThreshold){c = ExtremeBullColor; } 
      else if(tmaSlopeH1 > 0){c = BullColor; } 
      else if(tmaSlopeH1 < 0 ){c = BearColor; } 
      else {c = NeutralColor; } 
      paintGeneral("TmaSlopeH1", tmaSlopeH1, c,2);
   }
   
   if (ShowSlopeH4)
   {
      if(tmaSlopeH4 <-1 * TmaSlopeThreshold){c = ExtremeBearColor; } 
      else if(tmaSlopeH4 >TmaSlopeThreshold){c = ExtremeBullColor; } 
      else if(tmaSlopeH4 > 0){c = BullColor; } 
      else if(tmaSlopeH4 < 0 ){c = BearColor; } 
      else {c = NeutralColor; } 
      paintGeneral("TmaSlopeH4", tmaSlopeH4, c,2);
   }
   
   if (ShowSlopeChange)
   {
      if(tmaSlopeChange<0 && extremeTma>= 1){c = ExtremeBearColor; } 
      else if(tmaSlopeChange<0){c = BearColor; } 
      else if(tmaSlopeChange>0 && extremeTma<= -1){c = ExtremeBullColor; }
      else if(tmaSlopeChange>0){c = BullColor; } 
      else {c = NeutralColor; } 
      paintGeneral("TmaSlopeChange", tmaSlopeChange* 100, c);
   }

Огарчу тебя друг, но данный индикатор не использует буфер обмена, поэтому инфу из него взять негде, а то что он пишет внизу экрана, так это переменные, которые определенны в самом индикаторе. Тем более, это скорее не индюк, а информационное окно.
 

mdima82

Новичок форума
Всем привет!

Есть следующее:

1799b81041f7.jpg
[/URL][/IMG]

Как можно реализовать в FEAG чтобы "отложенный ордер №2" выставлялся только после непосредственного открытия (срабатывания) "отложенного ордера №1"...

Много чего перепробывал (условия), но получается либо выставлются одновременно №1 и №2... либо же происходит выставление №1 и все, и не важно будет ли он открыт в дальнейшем или нет... до "отложенного ордера №2" так дело и не доходит... что куда прикрутить к №1 или №2 или еще куда нить... не совсем понятно...

Заранее спасибо за помощь!
 

digimatrix

Местный знаток
ea ea

Всем привет!

Есть следующее:

1799b81041f7.jpg
[/URL][/IMG]

Как можно реализовать в FEAG чтобы "отложенный ордер №2" выставлялся только после непосредственного открытия (срабатывания) "отложенного ордера №1"...
ifOrdeeExist i raznie magiki
Много чего перепробывал (условия), но получается либо выставлются одновременно №1 и №2... либо же происходит выставление №1 и все, и не важно будет ли он открыт в дальнейшем или нет... до "отложенного ордера №2" так дело и не доходит... что куда прикрутить к №1 или №2 или еще куда нить... не совсем понятно...

Заранее спасибо за помощь!

**********
 

mdima82

Новичок форума
Спасибо!

Пока сидел на работе, пришел к выводу - начать цикл открытия отложника с начала цикла "On Every Tick" через уже открывшиеся ордера... через блок "If Order Exists"... и все работает нормально...
 
Последнее редактирование:

Errap

Прохожий
Здравствуйте!
У меня следующая проблема все отлично работает, но вот трейлинг стоп трейлит только сделки бай а вот когда советник заходит на селл то никакого трейлинг стопа не происходит Можете чтото подсказать?

Tochechniy_1091515_8402297.jpg
 

Вложения

  • Tochechniy_1091515_8402297.jpg
    Tochechniy_1091515_8402297.jpg
    107,5 КБ · Просмотры: 99
Последнее редактирование модератором:

digimatrix

Местный знаток
Здравствуйте!
У меня следующая проблема все отлично работает, но вот трейлинг стоп трейлит только сделки бай а вот когда советник заходит на селл то никакого трейлинг стопа не происходит Можете чтото подсказать?

Tochechniy_1091515_8402297.jpg

*******************************************
без исходника трудно что либо сказать
 

hex44

Новичок форума
Здравствуйте!
У меня следующая проблема все отлично работает, но вот трейлинг стоп трейлит только сделки бай а вот когда советник заходит на селл то никакого трейлинг стопа не происходит Можете чтото подсказать?

Tochechniy_1091515_8402297.jpg

Может, попробовать еще один трейлинг-стоп поставить
 

hex44

Новичок форума
У кого-нить есть интсрукция к этой проге с нормальным переводом? А то начал переводить, но все никак руки не дойдут доделать.
 

digimatrix

Местный знаток
Здравствуйте!
У меня следующая проблема все отлично работает, но вот трейлинг стоп трейлит только сделки бай а вот когда советник заходит на селл то никакого трейлинг стопа не происходит Можете чтото подсказать?

Tochechniy_1091515_8402297.jpg

встроиные блоки трала не совсем коректно работают , я свои блоки для етого написал , пользуйтесь

PS: блоки добовлаются через :project - import blocks
 

Вложения

  • TrailingStop.rar
    2,1 КБ · Просмотры: 118
Последнее редактирование:

vetallic

Местный знаток
hex44
с трейлингом глюк,
если проверять на тестере готового робота, то нужно проверить чтоб СтопЛос небыл = 0 (там 500 иль 5000), если = 0 - трал не будет работать...
 

Владик

Прохожий
Приветствую всех!
Подскажите кто знает, с помощью каких блоков задать условие отображения расчетного индикатора:
если RSI > 70 и Stoh > 70 то значение индикатора 1
если RSI < 30 и Stoh < 30 то значение индикатора -1
в остальных случаях значение 0
 

Владик

Прохожий
Еще один вопрос: как задать спот лосс не в пунктах а привязать к минимуму/максимуму предыдущей свечи?
 

predator84

Интересующийся
подскажите, как в EA generator работать со свечами?
1) сравнивать цену открытия и текущую
2) использовать свечи(бары) разных периодов
 

predator84

Интересующийся
еще есть вопросы:
Как закрыть ордер "бай"(без стопа) по сигналу? Сигнал - аск меньше цены закрытия предыдущего бара Н4. Тоесть закрытие ордера по Н4 медвежей свече.
Я делаю, но у меня не получается, цепляю блоки так:
buy order > close order if > technical analysis (iMA,null,period_h4,mode_sma,price_close,0 > ask) По логике вроде правильно, закрыть если аск меньше цены закрытия Н4. Но не работает, ордер не закрывает.
 

Altiveus

Новичок форума
Меньше цены машки на закрытом баре? Тогда так if (Ask < iMA(NULL, PERIOD_H4,период,0,MODE_SMA,PRICE_CLOSE,1)
 

Вложения

  • 123.jpg
    123.jpg
    136,1 КБ · Просмотры: 60
Последнее редактирование:

predator84

Интересующийся
Закрыть ордер по сигналу что спрашивал выше так и не получилось. Не получается применить "сигнал" медвежьей свечи Н4. И еще вопросы с той же серии, но теперь по открытию ордера. Может это прояснит и мой первый вопрос.

1) Как роботу запретить покупать, когда текущая свеча Н4 медвежья? На сколько я понял вся сложность в том как робот поймет, в какой момент свеча стала медвежья, ведь по ее открытию она может болтаться туда сюда. Может так и нельзя сделать.
А может здесь добавить временной фильтр(once per minutes) который будет указывать через сколько минут проверить текущую Н4 на факт медвежьей или бычей, но тоже не пойму как это прикрутить.

2) тогда второй вопрос, как запретить покупки, если предыдущая свеча Н4 медвежья?
пробовал через машки(прайс_клоуз Н4, сдвиг1) но что то не то, по тесту видно что стрелочки ставит где их не должно быть.

3) и еще вопрос, как правильно работать с фракталом? Если ставлю ask > lower - открывает бай на каждом баре, а когда ask > upper то вообще бай не открывает.
я так понимаю, lower это нижний фрактал, а upper верхний.
 

Altiveus

Новичок форума
Закрыть ордер по сигналу что спрашивал выше так и не получилось. Не получается применить "сигнал" медвежьей свечи Н4. И еще вопросы с той же серии, но теперь по открытию ордера. Может это прояснит и мой первый вопрос.

1) Как роботу запретить покупать, когда текущая свеча Н4 медвежья? На сколько я понял вся сложность в том как робот поймет, в какой момент свеча стала медвежья, ведь по ее открытию она может болтаться туда сюда. Может так и нельзя сделать.
А может здесь добавить временной фильтр(once per minutes) который будет указывать через сколько минут проверить текущую Н4 на факт медвежьей или бычей, но тоже не пойму как это прикрутить.

2) тогда второй вопрос, как запретить покупки, если предыдущая свеча Н4 медвежья?
пробовал через машки(прайс_клоуз Н4, сдвиг1) но что то не то, по тесту видно что стрелочки ставит где их не должно быть.

3) и еще вопрос, как правильно работать с фракталом? Если ставлю ask > lower - открывает бай на каждом баре, а когда ask > upper то вообще бай не открывает.
я так понимаю, lower это нижний фрактал, а upper верхний.

Всё что вы описываете, вполне реализуемо в рамках FEAG , мне не понятно как вы не можете воспользоваться представленными примерами. Не обижайтесь на резкость, Вам огромный плюс за упорное стремление к построению алгоритма, но вы не хотите никого услышать. Есть вариант - рассказать, что вы хотите построить, либо никак уже кроме заказа программистам. Мне хватило месяца чтоб уйти от FEAG к прямому написанию программ по моим алгоритмам, FEAG при компиляции даёт более чем достаточно информации. Может попробуете взглянуть в учебник и в скомпилированный код?. Думайте уже сами наверное как вам поступить.
 
Последнее редактирование:
Верх