могу написать не дорого, постучите в асю, поговорим: 459027664
possol@meta.ua
если я правильно понял что ты хочешь то я думаю можно попробовать так:
перед открытием ордера сохраняешь в переменную баланс
ждём
если orderstotal == 0 тогда сравниваем состояние баланса до покупки и после стопа\лоса
если баланс уменьшился то делаешь следущую закупку как там тебе надо
поскольку сравнение повторяеться то можно зациклить его....и еще caseом сверху залепить
ну если я че недапонял то пиши в асю 412 408 887 - Бесплатно ))))))
Не в деньгах дело, задача тупая, неинтересная и неопределенная. Что, так до бесконечности и ставить ордера в одном направлении? Потом начнется, а вот чтобы еще думал, когда бай, когда селл, или где-то на 12-й попытке изменить стопы и тейки и т.п. Найди советник по мартингейлу и замени геометрическую прогрессию на арифметическую.
По-моему, все проще делается: во-первых надо каждому ордеру давать мэджик, соответствующий его месту в Вашей последовательности. Потом после закрытия ордера проверять его мэджик, закрылся он с прибылью или убытком и производить соответствующие действия (увеличивать/уменьшать объем, выбирать мэджик)
Kharin ты гений. Я всегда говорил что все гениальное это самое простое и оно всегда лежит под носом. Попробую твою мысль на деле...
Подскажите, как превратить вот этот алгоритм в код
все лоты, стопы и тейки проставляются в ручную и они все разные. Стопы и тейки есть во всех лотах.
Покупаем лот 0.1
если лот закрылся по стопу, топокупаем лот 0.4
если опять закрылась по стопу, то
покупаем лот 0.2
если снова закрылся по стопу, то
покупаем лот 0.3
если же и теперь по стопу, то
покупаем лот 0.5
.....
и так позиций 25, пока лот не закроется по тейку
если лот закрываеться по тейку,тоначинаем все с начало с 0.1
Вот то что Вам нужно! Это функция! Просто вставте в OrderSend вместо lot lot()
double lot()
{
double lot;
if(OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
double P1 =OrderProfit();
if(OrderSelect(OrdersHistoryTotal()-2,SELECT_BY_POS,MODE_HISTORY))
double P2=OrderProfit();
if(OrderSelect(OrdersHistoryTotal()-3,SELECT_BY_POS,MODE_HISTORY))
double P3=OrderProfit();
if(OrderSelect(OrdersHistoryTotal()-4,SELECT_BY_POS,MODE_HISTORY))
double P4=OrderProfit();
if(P1>=0)lot=0.1;
if(P1<0)lot=0.4;
if((P1<0)&&(P2<0))lot=0.2;
if((P1<0)&&(P2<0)&&(P3<0))lot=0.3;
if((P1<0)&&(P2<0)&&(P3<0)&&(P4<0))lot=0.5;
return(lot);
}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
все лоты, стопы и тейки проставляются в ручную и они все разные. Стопы и тейки есть во всех лотах.
Покупаем лот 0.1
если лот закрылся по стопу, топокупаем лот 0.4
если опять закрылась по стопу, то
покупаем лот 0.2
если снова закрылся по стопу, то
покупаем лот 0.3
если же и теперь по стопу, то
покупаем лот 0.5
.....
и так позиций 25, пока лот не закроется по тейку
если лот закрываеться по тейку,тоначинаем все с начало с 0.1