[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 216
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо за ответ, но алгоритм на русском у меня написан, а вот в mql, я не силен, хотя бы наводку по функциям, которые зафиксировали количество (количество пропишу в настройках) открытых ордеров sell/buy, и далее сигнал на запрет выставления отложек sellstop/buystop.
Почему же в выложенном вами коде никак не отражен этот, уже написанный вами алгоритм?
Думаете враз так вот взять и, глянув на ваш неоформленный никак код, сразу же и указать вам на ошибку?
Его ещё "прочесть" нужно...
Приведу отрывок кода, где всё, набросанное на бумажке, отображено и в коде:
И вот пока простейшее не будет отлажено, дальше двигаться и не стоит...
А что у вас? Всё в кучку сбросили, не комментировали ни строчки. А теперь отдохните недельку и вернитесь к вашему коду. Уверен - часа два вспоминать будете. 100%
Постоянный лот 0.1.
В таком случае, за неделю это, на мой взгляд, хороший результат. Не помню точно, по-моему, около 800 пунктов получается? Только вот со стабильностью, мне кажется, не всё в порядке: не совсем ровный график... В любом случае, спасибо за ответ. По крайней мере, хоть какая-то цифра нарисовалась. Мне до этого достаточно далеко: 3000-4000 пунктов в год - это предел. Но график баланса у меня поровнее...
Подумал тут: постоянный лот 0.1 - а с каким плечом? По графику баланса не совсем понятно сколько заработано пунктов?
Как получить значение выбранного уровня фибы из такого индикатора ?
//+------------------------------------------------------------------+
//| Parabolic_ZZ.mq4 |
//| Copyright © 2009, Vic2008 |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Vic2008"
#property link ""
#include <stdlib.mqh>
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Magenta
//---- input parameters
extern double SAR_step=0.02; //Параметры параболика.
extern double SAR_maximum=0.2;
extern int BarsCount = 500; //Дистанция в барах для отрисовки индикатора.
extern bool Fibo1_off = False; //Отключение уровней Fibo.
extern bool Fibo2_off = False;
extern bool Fibo_Absolut_Value = False; //Включение абслютных значений цены на Fibo уровнях.
extern color Label_Color = Gray;
extern color Fibo_Color = Blue;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(0,DRAW_SECTION);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(1,DRAW_SECTION,0,2,Magenta);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll(0,OBJ_ARROW);
ObjectDelete("FiboZZLast");
ObjectDelete("FiboZZPrev");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//int counted_bars=IndicatorCounted();
string txt;
int w,PosLow,PosHigh;
double LPic=1000000,HPic=0,price;
datetime TimeTmp;
//----
ExtMapBuffer1[0]=Close[0];
ExtMapBuffer2[0]=EMPTY_VALUE;
for( w=0;w<BarsCount;w++){
if( w!=0 ){ ExtMapBuffer1[w]=EMPTY_VALUE; ExtMapBuffer2[w]=EMPTY_VALUE; }
if( iSAR(NULL,0,SAR_step,SAR_maximum,w) > Close[w] && LPic>=Low[w] ){ LPic=Low[w]; PosLow=w; }
if( iSAR(NULL,0,SAR_step,SAR_maximum,w) < Close[w] && HPic<=High[w] ){ HPic=High[w]; PosHigh=w; }
// H -> L
if( iSAR(NULL,0,SAR_step,SAR_maximum,(w+1)) > Close[w+1] && iSAR(NULL,0,SAR_step,SAR_maximum,w) < Close[w] && HPic!=0)
{
ExtMapBuffer1[PosHigh]=HPic;
ExtMapBuffer2[PosHigh]=HPic;
HPic=0;
}
// L -> H
if( iSAR(NULL,0,SAR_step,SAR_maximum,w) < Close[w] && iSAR(NULL,0,SAR_step,SAR_maximum,w+1) > Close[w+1] && LPic!=1000000 )
{
ExtMapBuffer1[PosLow]=LPic;
ExtMapBuffer2[PosLow]=LPic;
LPic=1000000;
}
}
if( Fibo1_off ) ObjectDelete("FiboZZLast");
if( Fibo2_off ) ObjectDelete("FiboZZPrev");
//Рисуем ценовые метки и уровни FIBO
int wave_cnt=0;
for( w=0;w<BarsCount;w++){
if( ExtMapBuffer2[w]!=EMPTY_VALUE ){
if( wave_cnt<=3 ){
ObjectDelete("PZZ_"+DoubleToStr( wave_cnt, 0));
ObjectCreate("PZZ_"+DoubleToStr( wave_cnt, 0), OBJ_ARROW, 0, Time[w], ExtMapBuffer2[w], Time[w], 0);
ObjectSet("PZZ_"+DoubleToStr( wave_cnt, 0), OBJPROP_ARROWCODE, SYMBOL_LEFTPRICE );
ObjectSet("PZZ_"+DoubleToStr( wave_cnt, 0), SYMBOL_LEFTPRICE, ExtMapBuffer2[w]);
ObjectSet("PZZ_"+DoubleToStr( wave_cnt, 0), OBJPROP_COLOR, Label_Color );
if(wave_cnt==1 && Fibo1_off==False ){
ObjectDelete("FiboZZLast");
ObjectCreate("FiboZZLast", OBJ_FIBO, 0, TimeTmp, ExtMapBuffer2[w], TimeTmp, price);
ObjectSet("FiboZZLast", OBJPROP_LEVELCOLOR, Fibo_Color);
ObjectSet("FiboZZLast", OBJPROP_COLOR, Fibo_Color);
ObjectSet("FiboZZLast", OBJPROP_RAY, False );// Для включения лучей False заменить на True
ObjectSet("FiboZZLast", OBJPROP_FIBOLEVELS, 14);
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZLast",0,"23.6");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZLast",1,"38.2");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZLast",2,"50.0");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZLast",3,"61.8");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZLast",4,"100.0");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZLast",5,"161.8");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZLast",6,"261.8");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZLast",7,"423.6");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZLast",8,"8.8");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZLast",9,"14.5");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZLast",10,"76.4");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZLast",11,"85.5");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZLast",12,"92.1");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZLast",13,"0.0");
if( Fibo_Absolut_Value ){
ObjectSet("FiboZZLast", OBJPROP_FIBOLEVELS, 14);
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZLast",0,"23.6 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZLast",1,"38.2 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZLast",2,"50.0 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZLast",3,"61.8 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZLast",4,"100.0 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZLast",5,"161.8 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZLast",6,"261.8 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZLast",7,"423.6 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZLast",8,"8.8 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZLast",9,"14.5 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZLast",10,"76.4 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZLast",11,"85.5 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZLast",12,"92.1 %$");
ObjectSet("FiboZZLast",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZLast",13,"0.0");
}
}
if( wave_cnt==2 && Fibo2_off==False ){
ObjectDelete("FiboZZPrev");
ObjectCreate("FiboZZPrev", OBJ_FIBO, 0, TimeTmp, ExtMapBuffer2[w], TimeTmp, price);
ObjectSet("FiboZZPrev", OBJPROP_LEVELCOLOR, Fibo_Color);
ObjectSet("FiboZZPrev", OBJPROP_COLOR, Fibo_Color);
ObjectSet("FiboZZPrev", OBJPROP_RAY, False );// Для включения лучей False заменить на True
ObjectSet("FiboZZPrev", OBJPROP_FIBOLEVELS, 14);
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZPrev",0,"23.6");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZPrev",1,"38.2");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZPrev",2,"50.0");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZPrev",3,"61.8");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZPrev",4,"100.0");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZPrev",5,"161.8");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZPrev",6,"261.8");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZPrev",7,"423.6");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZPrev",8,"8.8");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZPrev",9,"14.5");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZPrev",10,"76.4");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZPrev",11,"85.5");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZPrev",12,"92.1");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZPrev",13,"0.0");
if( Fibo_Absolut_Value ){
ObjectSet("FiboZZPrev", OBJPROP_FIBOLEVELS, 14);
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+0,0.236); ObjectSetFiboDescription("FiboZZPrev",0,"23.6 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+1,0.382); ObjectSetFiboDescription("FiboZZPrev",1,"38.2 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+2,0.50); ObjectSetFiboDescription("FiboZZPrev",2,"50.0 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+3,0.618); ObjectSetFiboDescription("FiboZZPrev",3,"61.8 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+4,1.0); ObjectSetFiboDescription("FiboZZPrev",4,"100.0 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+5,1.618); ObjectSetFiboDescription("FiboZZPrev",5,"161.8 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+6,2.618); ObjectSetFiboDescription("FiboZZPrev",6,"261.8 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+7,4.236); ObjectSetFiboDescription("FiboZZPrev",7,"423.6 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+8,0.088); ObjectSetFiboDescription("FiboZZPrev",8,"8.8 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+9,0.145); ObjectSetFiboDescription("FiboZZPrev",9,"14.5 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+10,0.764); ObjectSetFiboDescription("FiboZZPrev",10,"76.4 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+11,0.855); ObjectSetFiboDescription("FiboZZPrev",11,"85.5 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+12,0.921); ObjectSetFiboDescription("FiboZZPrev",12,"92.1 %$");
ObjectSet("FiboZZPrev",OBJPROP_FIRSTLEVEL+13,0.0); ObjectSetFiboDescription("FiboZZPrev",13,"0.0");
}
}
}
wave_cnt++;
price=ExtMapBuffer2[w];
TimeTmp=Time[w];
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
Как получить значение выбранного уровня фибы из такого индикатора ?
шо за шайзе?
вы бы сюда еще "войну и мир" запостили
поможите плиз... в советнике есть функция проверки открытых ордеров ..одновременно может быть открыт один ордер...но при вписывание размера стопа на прямую в момент открытия ордера выдает ошибку 130...например было так
if(вниз>0)
{ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,0,Bid-TakeProfit*Point,0,16384,0,Red);
вписываю стоп размером 100
ticket=OrderSend(Symbol(),OP_SELL,dLot,Bid,3,100,Bid-TakeProfit*Point,0,16384,0,Red); ...выдает ошибку 130 в тестере
дц альпари...может нужно модифицировать после открытия ордер и выставить стоп?..подскажите как примерно можно это сделать или укажите на советник где это сделано...пожалуйсто
поможите плиз...
поможите плиз... в советнике есть функция проверки открытых ордеров ..одновременно может быть открыт один ордер...но при вписывание размера стопа на прямую в момент открытия
дц альпари...может нужно модифицировать после открытия ордер и выставить стоп?..подскажите как примерно можно это сделать или укажите на советник где это сделано...пожалуйсто
Стоп должен иметь тип double. Нужно указывать ту цену, на которую должен быть поставлен стоп.
100*Point
Почему же в выложенном вами коде никак не отражен этот, уже написанный вами алгоритм?
Думаете враз так вот взять и, глянув на ваш неоформленный никак код, сразу же и указать вам на ошибку?
Его ещё "прочесть" нужно...
Приведу отрывок кода, где всё, набросанное на бумажке, отображено и в коде:
И вот пока простейшее не будет отлажено, дальше двигаться и не стоит...
А что у вас? Всё в кучку сбросили, не комментировали ни строчки. А теперь отдохните недельку и вернитесь к вашему коду. Уверен - часа два вспоминать будете. 100%
Вы уж извините, код не мой, учусь разбираюсь сам, это был кусок, касающийся отложенных ордеров, остальное бла-бла, как обычно настройки, лоты, фракталы, трал. Советник не работает, т.е. сливает из-за накопленных ордеров, вот и хочу прикрутить ограничение, посмотрю что выйдет. А по поводу алгоритма, понимать понимаю, а на языке mql сказать не могу. Спасибо, буду разбираться.
Странно. За что извиняться-то??? Так... показал как желательно примерно оформлять собственные коды, дабы потом не разбираться долго.
А раз у вас код чужой... Хотя... Тоже можно комментировать те строки, значения которых стало вам ясно в процессе разбора. Далее - понятней будет, а там уж и свой на основе разобранного лучше написать. Так сказать для полного осмысления, понимания и преобразования под собственные нужды.
Вот это как раз и приведёт вас к логическому осмыслению. Вам же и на пользу... :)
Удачи!