[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 218
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
в старте - вызвать функцию проверки наличия ордера бай по циклу ордеров Селлстоп... и его удаления - если ордера бай нет среди открытых ордеров...
ну смотри...
Цикл перебора установленных ордеров(начало)
берём ордер
- Если он Селлстоп то (запоминаем его магик номер - он же тикет ордера бай {
через
проверяем Есть ли такой ордер... - это твой ордер бай...
если его нету - то тогда текущий ордер Селлстоп удаляем
}
}конец цикла перебора ордеров...
InitsializeRealMasterOrders -- тут косяк ищи.
И вот еще -- чтобы велосипеды не делать -- https://docs.mql4.com/ru/convert/timetostr
Все равно глюк. В подпрограмме код считывает данные из строк текстового документа:
4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0
Время открытия ордера - шестой параметр в строке. Он считывался в переемнную типа datetime командами:
Stroka=FileReadString(FileHandlе);// Время открытия
r_master_OpenTime[i]=StrToTime(Stroka);// Время открытия
В результате в переменной r_master_OpenTime[i] оказывалась Бог весть какая величина. Но как только я изменил её тип из datetime на int, стало всё впорядке. Более пяти лет уже программлю на mql4 и всё не перестаю удивляться... :)
ну смотри...
Цикл перебора установленных ордеров(начало)
берём ордер
- Если он Селлстоп то (запоминаем его магик номер - он же тикет ордера бай {
через
проверяем Есть ли такой ордер... - это твой ордер бай...
если его нету - то тогда текущий ордер Селлстоп удаляем
}
}конец цикла перебора ордеров...
Вот написал такую ерундистику
drknn: Все равно глюк. В подпрограмме код считывает данные из строк текстового документа:
4;NZDUSD;98537467;1;0.5;1340809155;0;0.7881;0;0.7939;0;0
4;NZDUSD;98537450;1;0.5;1340809147;0;0.788;0;0.7939;0.787;0
Время открытия ордера - шестой параметр в строке. Он считывался в переемнную типа datetime командами:
В результате в переменной r_master_OpenTime[i] оказывалась Бог весть какая величина. Но как только я изменил её тип из datetime на int, стало всё впорядке. Более пяти лет уже программлю на mql4 и всё не перестаю удивляться... :)
Подскажите плз что сделать если:
Советник в тестере работает норм,все по плану, а на реалке не открывает сделки
P.S. Очн нужна помощь, вопрос жизни-смерти
Всем доброго времени суток.
Уважаемые знатоки кодописания, попытался написать индикатор, вроде получилось но только на истории рисует так как задуманно, а дальше с поступлением новых котировок рисует обычную машку.
код прилагаю:
int start()
{
int counted_bars=IndicatorCounted();
int i,n;
double Stark=0;
//----
i=Bars-counted_bars-1;//+50;
// n=Bars-counted_bars-1;
while(i>=0)
{
//----
double Ma=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i);
//double Ma1=iMA(NULL,0,PerMa,Shift,MODE_EMA,PRICE_CLOSE,i+1);
if(Stark+Step*Point<Ma)Stark=Ma;
if(Stark-Step*Point>Ma)Stark=Ma;
ABuf[i]=Stark;
//----
i--;
}
return(0);
}
помогите исправить, чтобы он и дальше рисовал ступени.
Заранее благодарен.
Gek.
{
Price1 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,f)) / MarketInfo(Symbol_1, MODE_POINT);
Price2 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,f)) / MarketInfo(Symbol_2, MODE_POINT);
Spread = Price1 - Price2;
Print ("Price1="+Price1, " Price2="+Price2);
if (Spread==0){t=f; break;}
}
Price12 = (iClose(Symbol_1,0,0) - iClose(Symbol_1,0,t)) / MarketInfo(Symbol_1, MODE_POINT);
Price22 = K*(iClose(Symbol_2,0,0) - iClose(Symbol_2,0,t)) / MarketInfo(Symbol_2, MODE_POINT);
Spread2 = Price12 - Price22;
if (MathAbs(Spread2) >= razdvizka && Spread2 < 0) { открывем сделку }
хочу зафиксировать бар, где раздвижка была равно нулю и от него контролировать раздвижку