Помогите начинающему по еще одному варианту мартингейла - страница 2

 
nauandr:
Хотелось бы помощи программеров по нему, для начала как определить как закрылись последние ордера программно (см. пост 1).

Перебираете закрытые ордера в цикле, попутно анализируя их время закрытия, выбираете последний/последние. Проверяете их цену открытия и закрытия, учитывая тип ордера (бай/селл). Можно смотреть профит ордера OrderProfit(...); или сравнивать цену закрытия с ценой СЛ и ТП, но она может немного (на величину проскальзывания) иногда отличаться.
 

1. В Вашей логике нет стартового условия. Просто открываемся и все. Определите некий критерий (фильтр, условие) по которому вы будете открывать сделку. Он гипотетически должен дать какое-то преимущество.

2. определите уровень стопа или противоположной позиции(ий) (в каком то соотношении к открытой) возможно и критерий поменяется (или привяжите к критерию)

3. не привязывайтесь (не настаиваю) жестко к 10пп, возможно это будет некое соотношение от прохода цены. тогда не так лавинообразно придется наращивать лоты

 

Я хотел бы сделать что-то типа этого, но язык (повторюсь) пока знаю слабо Вот мои задумки, заранее извиняюсь за такое написание:

ВремяТОКИО=03:00;
ВремяСИНГАПУР=04:00;
ВремяФРАНКФУРТ=09:00;
ВремяЛОНДОН=10:00;
ВремяНЬЮ-ЙОРК=16:00;
ВремяЧИКАГО=17:00;
ВремяВЕЛЛИНГТОН=00:00;
ВремяСИДНЕЙ=01:00;

МинЛот=0,1;
ТейкПрофит=10;
СтопЛосс=10;

Процедура ОткрытьПозы()

ВыбратьПоследнююПозуБайИзЗакрытых(Бай,Лот,ТП,СЛ,ЦенаЗакрытия); //Выбираем позы с необходимыми
//параметрами

ВыбратьПоследнююПозуСеллИзЗакрытых(Селл,Лот,ТП,СЛ,ЦенаЗакрытия); //Выбираем позы с необходимыми
//параметрами


Если ЦенаПоследнейЗакрытойПозыБай=ТейкПрофитПоследнейЗакрытойПозыБай тогда
ОткрытьПозуБай(МинЛот,тейкПрофит,СтопЛосс);
Иначе Если ЦенаПоследнейЗакрытойПозыБай=СтопЛоссПоследнейЗакрытойПозыБай тогда
МинЛот=Лот*2;
ОткрытьПозуБай(МинЛот,тейкПрофит,СтопЛосс);
КонецЕсли;
КонецЕсли;

Если ЦенаПоследнейЗакрытойПозыСелл=ТейкПрофитПоследнейЗакрытойПозыСелл тогда
ОткрытьПозуСелл(МинЛот,тейкПрофит,СтопЛосс);
Иначе Если ЦенаПоследнейЗакрытойПозыСелл=СтопЛоссПоследнейЗакрытойПозыСелл тогда
МинЛот=Лот*2;
ОткрытьПозуСелл(МинЛот,тейкПрофит,СтопЛосс);
КонецЕсли;
КонецЕсли;

//Дополнительно надо привязать проверку на количество убытков

Если КоличествоУбыточныхПозВСерии=5 тогда

//Провести Сравнение Времени Сервера С Переменными времени, указанными выше
//Пауза торговли до того как время сервера не сравняется с ближайшим временем открытия
//следующей биржи и продолжить торговлю с теми параметрами лотов на которых остановились
//Это нужно для пресечения безоткатной серии, обычно она прерывается при открытии следующей биржи
//Откат в 10 пунктов наверняка будет, там и забрать свою прибыль, после чего продолжить все сначала

КонецЕсли;

КонецПроцедуры;

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

Как бы еще все это на MQL4 написать....

 
nauandr:

Как бы еще все это на MQL4 написать....

Если Вы уверены в профитности ТС, обратитесь к komposter'у, Integer'у или любому другому профессионалу - сделают надёжно и за умеренную плату, а будушая прибыль окупит вложенные затраты.