[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 33

 
Andrew1001:

Добрый вечер. Подскажите мне пожалуйста где и что я сделал не так!

Первое - будьте добры вставляйте в свой пост код через соответствующую кнопочку.

Второе: функции If в MQL4 нет.

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*если сработал стоплосс*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*открываем позицию в противоположном направлении*/
return;
}

Мне выдает такие ошибки:
'If' - function is not defined
'<' - left parenthesis expected
'{' - semicolon expected
ПОДСКАЖИТЕ ПОЖАЛУЙСТА что я сделал не так! 
 
Arles:

Добрый день всем!

Примерно неделю как стал изучать программирование и получил интересный результат. Вот не знаю, можно ли этому доверять. Просто уже давно придумал индикатор и вот только сейчас смог его реализовать в коде.


В целом не плохо выглядит. Есть вопрос по разности между максимальной прибыльной сделкой и средней прибыльной сделкой.

Попробуйте погонять на другом периоде времени: 2003 год, 2004, год.

У меня были случаи когда один год динамика положительная, а весь следующий отрицательная. Год на год не приходится.

 
Andrew1001:

Добрый вечер. Подскажите мне пожалуйста где и что я сделал не так!

int start()


{
int cnt, ticket, total, profit;
total = OrdersTotal();
if(total < 1)
{
ticket=OrderSend(Symbol(),OP_BUY,LotTrend,Ask,0,Ask-SL*Point,Ask+TP*Point,0,511,0,Green);
}
profit = OrderProfit();
If (OrderProfit < 0) /*если сработал стоплосс*/
{
ticket=OrderSend(Symbol(),OP_SELL,LotTrend,Bid,0,Bid+SL*Point,Bid-TP*Point,0,511,0,Red);
} /*открываем позицию в противоположном направлении*/
return;
}

Мне выдает такие ошибки:
'If' - function is not defined
'<' - left parenthesis expected
'{' - semicolon expected
ПОДСКАЖИТЕ ПОЖАЛУЙСТА что я сделал не так!


1. (мелочи) "If" пишется с маленькой "if"

2. (главное) чтобы использовать функцию OrderProfit() - сам ордер, профит которого считывается должен выбран функцией OrderSelect()

3. Чтобы узнать с каким результатом закрылся последний ордер - надо последний закрытый ордер найти.

 
abolk:


1. (мелочи) "If" пишется с маленькой "if"

2. (главное) чтобы использовать функцию OrderProfit() - сам ордер, профит которого считывается должен выбран функцией OrderSelect()

3. Чтобы узнать с каким результатом закрылся последний ордер - надо последний закрытый ордер найти.

Спасибо! А не подскажете как это делается!)))
 
Arles:

Добрый день всем!

Примерно неделю как стал изучать программирование и получил интересный результат. Вот не знаю, можно ли этому доверять. Просто уже давно придумал индикатор и вот только сейчас смог его реализовать в коде.


тут тестер даже тупо не то считает, точнее толи с ошибкой, толи что, если у тебя, обращаясь к результатам, сделка в -22 отрицательная будет минимальная, то у тебя, если я все правильно понял, не может быть абсолютной просадки 4.00, у тебя одна сделка уже 20.00 дает, да, далее если идти, то, к слову, у тебя просадка 29049(63%) но опять же, как у тебя так могло выйти, если у тебя всего две сделки по примерно -20)) короче просто что то не так посчитано самиим тестером.
 

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

void OrModSL(string period)//ф-ция для переноса стопа на нижний фрактал 15тиминутного графика

{
if(period=="M15")//если период H1
{
for(int i=OrdersTotal()-1;i>=0;i--)
{
RefreshRates();
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_BUY)//если тип последнего ордера buy
{
OrderModify(OrderTicket(),OrderOpenPrice(),dnfrM15,OrderTakeProfit(),0,Blue);
}
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderType()==OP_SELL)
{
OrderModify(OrderTicket(),OrderOpenPrice(),upfrM15,OrderTakeProfit(),0,Blue);//если типо последнего ордера sell
}
}
}

return(0);


 

Здравствуйте!

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

Спасибо.

 

блин где можно научится, писать коды, есть ли какой нибудь сайт, где подробно и понятливо написано что и как надо написать в коде чтобы советник ставил ордера, ставил стопы и профиты. и т/д и т/п. заказывать советник у меня нет денег. а идеи на мой взгляд очень хорошие.

 
sting-igor:

блин где можно научится, писать коды, есть ли какой нибудь сайт, где подробно и понятливо написано что и как надо написать в коде чтобы советник ставил ордера, ставил стопы и профиты. и т/д и т/п. заказывать советник у меня нет денег. а идеи на мой взгляд очень хорошие.



На сайте хороший учебник для начинающих, кто с программированием совсем не был знаком.
Причина обращения: