Знатоки! вам вопрос от чайников

 
Подскажите, как превратить вот этот алгоритм в код

все лоты, стопы и тейки проставляются в ручную и они все разные. Стопы и тейки есть во всех лотах.

Покупаем лот 0.1

если лот закрылся по стопу, то
покупаем лот 0.4
если опять закрылась по стопу, то
покупаем лот 0.2
если снова закрылся по стопу, то
покупаем лот 0.3
если же и теперь по стопу, то
покупаем лот 0.5
.....

и так позиций 25, пока лот не закроется по тейку

если лот закрываеться по тейку,то

начинаем все с начало с 0.1





 
А в чем собственно проблема? в смысле, на чем Вы споткнулись?
 
ну решил работать с историей, тут у KimIV я нашел вот такую штуку isLossLastPos() с ее помощью я могу обработать последнюю сделку и предпоследнюю, а вот до 3-й, 4-й, 5-й, и д.т. добраться не знаю как. Я так думаю что мне надо выстроить цепочку из постоянных 25 последний сделок и сравнивать их, вот как... и совсем этим я запутался
 

могу написать не дорого, постучите в асю, поговорим: 459027664

possol@meta.ua

 
За деньги все могут, только вот бюджета у меня нет для этого. Я думал мне кто подскажет, как это возможно организовать. Вот как например в других ветках, там люди пишут как че и им не жалко
 

если я правильно понял что ты хочешь то я думаю можно попробовать так:

перед открытием ордера сохраняешь в переменную баланс

ждём

если orderstotal == 0 тогда сравниваем состояние баланса до покупки и после стопа\лоса

если баланс уменьшился то делаешь следущую закупку как там тебе надо

поскольку сравнение повторяеться то можно зациклить его....и еще caseом сверху залепить

ну если я че недапонял то пиши в асю 412 408 887 - Бесплатно ))))))

 

Не в деньгах дело, задача тупая, неинтересная и неопределенная. Что, так до бесконечности и ставить ордера в одном направлении? Потом начнется, а вот чтобы еще думал, когда бай, когда селл, или где-то на 12-й попытке изменить стопы и тейки и т.п. Найди советник по мартингейлу и замени геометрическую прогрессию на арифметическую.

 
Спасибо добрые человеки. Мартингейл я пробовал но он не подходит. Например мне надо пятую ставку поставить такую же, как и на четвертую, а мартингейла такое не прокатывает, там идет постоянное увеличение. А вариан Zverun4eg интересный.....
 

По-моему, все проще делается: во-первых надо каждому ордеру давать мэджик, соответствующий его месту в Вашей последовательности. Потом после закрытия ордера проверять его мэджик, закрылся он с прибылью или убытком и производить соответствующие действия (увеличивать/уменьшать объем, выбирать мэджик)

 

Kharin ты гений. Я всегда говорил что все гениальное это самое простое и оно всегда лежит под носом. Попробую твою мысль на деле...

 
Drakon.4golovi >>:
Подскажите, как превратить вот этот алгоритм в код

все лоты, стопы и тейки проставляются в ручную и они все разные. Стопы и тейки есть во всех лотах.

Покупаем лот 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);
}

Причина обращения: