Aquí hay un EA. Abre una posición en un fractal arriba/abajo. ¿Cómo hago para que el stop sea 5 pips más alto (si es de COMPRA) y 5 pips más bajo (si es de VENTA) desde la parte superior del fractal?
P_up0=iCustom(0,0,"Ценовой канал", Chperiod,0,0);
P_down0=iCustom(0,0,"Ценовой канал", Chperiod,1,0);
P_up1=iCustom(0,0,"Ценовой канал", Chperiod,0,1);
P_down1=iCustom(0,0,"Ценовой канал", Chperiod,1,1);
Up=iCustom(0,0,"olyakish_fractals_02(для Skonti)",15,150,"Процент для отсеивания по объему",110,1,3);
Down=iCustom(0,0,"olyakish_fractals_02(для Skonti)",15,150,"Процент для отсеивания по объему",110,3,3);//задали все данные
total=OrdersTotal();if( total<1){// Проверка свободной маржиif(AccountFreeMargin()<(1000* Lots)){Print("We have no money. Free Margin = ",AccountFreeMargin());return(0);}// Условие открытие позиции BUYif( Up> Down){
Lots= GetSizeLot();
ticket=OrderSend(Symbol(),OP_BUY, Lots,Ask,3,0,0,"",16384,0,Green);if( ticket>0){if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES))Print("BUY order opened : ",OrderOpenPrice());}elsePrint("Error opening BUY order : ",GetLastError());return(0);}// Условие открытие позиции SELLif( Up< Down){
Lots= GetSizeLot();
ticket=OrderSend(Symbol(),OP_SELL, Lots,Bid,3,0,0,"",16384,0,Red);if( ticket>0){if(OrderSelect( ticket, SELECT_BY_TICKET, MODE_TRADES))Print("SELL order opened : ",OrderOpenPrice());}elsePrint("Error opening SELL order : ",GetLastError());return(0);}return(0);}for( cnt=0; cnt< total; cnt++){OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES);if(OrderType()<=OP_SELL&&OrderSymbol()==Symbol()){if(OrderType()==OP_BUY)// длинная позиция открыта{// условие закрытие длинной позицииif( P_down1> P_down0|| Up< Down){OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);return(0);}if( TrailingStop>0){if(Bid-OrderOpenPrice()>Point* TrailingStop){if(OrderStopLoss()<Bid-Point* TrailingStop &&OrderStopLoss()!=OrderOpenPrice()+ X*Point){OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green);return(0);}}}}else{// условие закрытия короткой позицииif( P_up1< P_up0|| Up> Down){OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);return(0);}if( TrailingStop>0){if((OrderOpenPrice()-Ask)>(Point* TrailingStop)){if(NormalizeDouble(OrderStopLoss(),Digits)!=NormalizeDouble(OrderOpenPrice()- X*Point,Digits)){OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red);return(0);}}}}}}return(0);}
Todas las cuestiones se resuelven con un experimento: escribe un guión y ejecútalo, - vemos las siguientes diferencias de la función estándar iFractals() 1. el indicador por el índice fractal es exactamente igual a High/Low 2. valor inexistente del fractal ==0
no está claro lo que significa llamar, en las variables globales del programa -Recordar el tiempo de un fractal de barra para abrir una posición. Usando el tiempo de la barra, conocemos el número de barra a través de iBars() -recuerda el precio fractal recuerde el precio fractal - recuerde el alza/baja ¿y luego qué hacer una vez más?
oops :-)
Gracias.
¡Hola conocedores!
Aquí hay un EA. Abre una posición en un fractal arriba/abajo. ¿Cómo hago para que el stop sea 5 pips más alto (si es de COMPRA) y 5 pips más bajo (si es de VENTA) desde la parte superior del fractal?
Aquí he utilizado el Canal de Precios.
иTengo problemas para identificar la L o la H del fractal en el que se abrió la posición.
¿¡Así de duro!?
así que multiplique por el precio de la cifra más baja
Aquí es donde cometí un error. Gracias.
Sobre cómo establecer la parte superior del fractal en el que se abrió la posición????
- vemos las siguientes diferencias de la función estándar iFractals()
1. el indicador por el índice fractal es exactamente igual a High/Low
2. valor inexistente del fractal ==0
P.D. mira hacia atrás desde la posición con este ciclo, en el momento de la apertura de la posición, recuerda
en las variables globales del programa
-Recordar el tiempo de un fractal de barra para abrir una posición. Usando el tiempo de la barra, conocemos el número de barra a través de iBars()
-recuerda el precio fractal
recuerde el precio fractal - recuerde el alza/baja
¿y luego qué hacer una vez más?
por encima de todos los bloques
escribir el fractal más cercano al abrir una orden de compra
introducir otra condición para la orden de compra