Как кодировать? - страница 229

 
 

Простой прибыльной системе нужен программист советника!!!!!

Привет, сообщество,

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

программиста сделать советника для этой системы

Было бы хорошо, если бы кто-нибудь смог сделать советника на основе индикатора со следующими правилами

Я торгую на таймфрейме H4 (подойдет любая волатильная валюта!!!!).

Если линия была зеленой (восходящий тренд), а теперь становится красной (нисходящий тренд)

==> Закрываем ордер на покупку (если он еще открыт)

==> Продаем со стоплоссом от максимума последней свечи +10/20 пунктов

если линия была красной (нисходящий тренд), а теперь стала зеленой (восходящий тренд)

==> Закрыть ордер на продажу (если он все еще открыт)

==> Покупка со стоплоссом от минимума последней свечи -10/20 пунктов

Я беру свой сигнал ТОЛЬКО после завершения текущей свечи!!!

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

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

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

прибыль...

Вы можете установить Takeprofit, скажем, от 50 до 100 пунктов (зависит от валюты) или Trailing, если вы не хотите, чтобы сделка закрылась в безубытке...

Надеюсь, это поможет кому-нибудь в создании советника для этой прибыльной системы...!!!? Было бы здорово, если бы эта стратегия могла работать на автопилоте (советник), когда я на работе.

на работе, тогда она будет забирать больше пунктов из рынка... Спасибо.

Кевин Флинн

Поскольку вложение кажется слишком большим, чтобы разместить его здесь, вот ссылка на скачивание системы komplett, включая шаблоны, индикаторы и изображение правил со стоплоссами и т.д. (просто скопируйте ссылку на скачивание в свой браузер и замените hxxp на http !!!)

hxxp://remixshare.com/dl/p6pdb/LineOfDestiny komplett.zip

 

IndexArrow срабатывает на ObjectArrow

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

Я новичок и прошу помощи с этой проблемой:

Мне нужно чтобы если сработала SetIndexArrow(), то сработала и ObjectArrow().

ObjectCreate(),ObjectSet()!

Возможно ли это?

С уважением.

Рольф

27.03.2010

 

Горизонтальные линии

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

Я ищу индикатор, который рисует линии с введенным пользователем xInterval вокруг текущей цены.

Например, на картинке текущая цена 1.3414, интервал 10 пунктов, поэтому верхняя линия должна быть @ 1.3420 & 1.3430, а нижняя @ 1.3410 & 1.3400.

а если мы введем 20 пунктов, то линия должна быть @ 1.3430 & 1.3450, линия вниз @ 1.3400 & 1.3380.

простой кусок кода, который покажет логику, как это сделать, будет хорошо

Спасибо

Arshed.

Файлы:
 

Мне нужна помощь в преобразовании afl в mql4!!! пожалуйста, помогите мне

Мне нужно перевести формулы mql4 из этого кода afl!!! Пожалуйста, помогите мне

_SECTION_BEGIN("Earth-2");

VAR2=(High+Low+(Close)*(2))/(4);

B = ((EMA((VAR2-LLV(VAR2,15))/(HHV(Low,15)-LLV(VAR2,15)),2))*(38));

Plot(b, "", 4, 1+4);

bot1 = ((((-1))*(EMA((VAR2-LLV(VAR2,15))/(HHV(Low,15)-LLV(VAR2,15)),2))+0.01)*(38));

Plot(bot1, "", 4, 1+4);

VAR22=((Close-LLLV(Low,10))/(HHV(High,10)-LLV(Low,10)))*(100);

VAR33=EMA(VAR22,10);

VAR44=EMA(VAR33,10);

VAR55=(3)*(VAR33)-(2)*(VAR44);

VAR66=EMA(VAR55,5);

BridgeT = (EMA(VAR66,1));

Plot(bridget, "", IIf(bridget > Ref(bridget,-1),colorYellow,colorBlue), 1+4);

Plot(-bridget, "", IIf(bridget > Ref(bridget,-1),colorYellow,colorBlue), 1+4);

trend = (5)*(EMA(((Close-LLLV(Low,27))/(HHV(High,27)-LLV(Low,27)))*(100),5)))-

(3)*(EMA(EMA(((Close-LLV(Low,27))/(HHV(High,27)-LLV(Low,27)))*(100),5),3))-

EMA(EMA(EMA(((Close-LLV(Low,27))/(HHV(High,27)-LLV(Low,27)))*(100),5),3),2);

Buy1 = Cross(trend,5);

PlotShapes( IIf( Buy1, shapeSmallSquare, shapeNone ), colorGreen, layer = 0, yposition = 0, offset = 3 );

PlotShapes( IIf( Buy1, shapeSmallSquare, shapeNone ),colorGreen, layer = 0, yposition = 0, offset = -4 );

VARA1=((Close>=Ref(Close,-1)) AND (Ref(Close,-1)>=Ref(Close,-2)) AND (Ref(Close,-1)<=Ref(Close,-3))

И (Ref(Close,-2)Ref(Close,-2)) ИЛИ (Ref(Close,-4)<=Ref(Close,-2))

И (Ref(Close,-5)>=Ref(Close,-3))) ИЛИ (Close>=Ref(Close,-1)) И (Ref(Close,-1)<=Ref(Close,-2))

И (Close>=Ref(Close,-2)) И ((Ref(Close,-3)>Ref(Close,-1)) ИЛИ (Ref(Close,-3)<=Ref(Close,-1))

И (Ref(Close,-4)>=Ref(Close,-2))));

VARA2=LLV(Low,5);

VARA3=HHV(High,5);

VARA4=EMA(((Close-VARA2)/(VARA3-VARA2))*(100),4);

VARA5=EMA((0.66699999)*(Ref(VARA4,-1))+(0.333)*(VARA4),2);

VARA6=(VARA5<24) AND (Open<MA(Close,20));

Buy2 =IIf(VARA1 AND (VARA6),30,0);

Plot(Buy2, "", 8,2+4);

Plot(-Buy2, "", 8,2+4);

_N(Title = StrFormat("\\\c02.{{NAME}} | {{DATE}} | {{VALUES}}")+EncodeColor(colorBrightGreen)+WriteIf(Buy2==30, "BuySignal-A","" )+EncodeColor(colorBrightGreen)+WriteIf(Buy1==1," | BuySignal-B",""));

_SECTION_BEGIN("Земля-3");

n = Param("Periods", 14, 5, 25, 1 );

var6=(2*Close+High+Low)/4;

var7=LLV(L,n);

var8=HHV(H,n);

var9=EMA((var6-var7)/(var8-var7)*100,5);

varA=EMA(0.333*Ref(var9,-1)+0.667*var9,3);

UP=Var9;

DOWN=Vara;

barcolor2=

IIf( (Ref(up,-1)>Ref(down,-1) AND Ref(up,-1)>up AND up>down )

OR (Ref(up,-1)<Ref(down,-1) AND Ref(up,-1)<up AND up<down )

, colorBlue,

IIf(up>down,5,4));

Plot(0,"",barcolor2,styleLine);

_SECTION_END();

_SECTION_BEGIN("Земля-1");

EB1 = Close > Ref(Close, -1) AND Ref(Close, -1) > Ref(Close, -2) AND Ref(Close, -1) < Ref(Close, -3) AND IIf(Ref(Close, -3) < Ref(Close, -4), 1, IIf(Ref(Close, -4) < Ref(Close, -5),Ref(Close, -1) < Ref(Close, -4) OR( Ref(Close, -2) = Ref(Close, -5) ),IIf(Ref(Close, -5) < Ref(Close, -6), 1,Ref(Close, -6) < Ref(Close, -7))));

ES1 = Close < Ref(Close, -1) AND Ref(Close, -1) Ref(Close, -3) AND IIf(Ref(Close, -3) > Ref(Close, -4), 1, IIf(Ref(Close, -4) > Ref(Close, -5),Ref(Close, -1) > Ref(Close, -4) OR( Ref(Close, -2) > Ref(Close, -4) AND Ref(Close, -3) Ref(Close, -6), 1,Ref(Close, -6) > Ref(Close, -7))));

PlotShapes( IIf( ES1, shapeHollowSmallSquare, shapeNone ), colorOrange, layer = 0, 0, 0 );

PlotShapes( IIf( EB1, shapeUpArrow, shapeNone ), colorBlack, layer = 0, 0, 0 );

_SECTION_END();

_SECTION_BEGIN("Exploration");

LastBar = Cum( 1 ) == LastValue( Cum( 1 ) );

Filter = LastBar;

pfrom = Param("Цена от", 0, 0, 1000, 0.5 );

pto = Param("Цена до", 1000, 0, 1000, 0.5 );

Minv = Param("Минимальный объем (K)", 500, 0, 1000, 50);

dd = Param("Десятичные цифры", 1.2, 1, 1.7, 0.1 );

EB21 = Покупка1;

EB22= Buy2;

//Filter = Buy AND C>pfrom AND C1000*Minv;

Color = IIf(Close>Open, colorGreen, colorRed);

bcolor = IIf(Buy1 OR Buy2, colorGreen, 1);

AddTextColumn(WriteIf(EB1, "Buy",WriteIf(ES1, "Sell","")), "Earth-1",colorDefault,-1);

AddTextColumn(WriteIf(Buy1==1, "Buy-A"," "), "Земля-2а",colorDefault,-1);

AddTextColumn(WriteIf(Buy2==30, "Buy-B"," "), "Земля-2b",colorDefault,-1);

AddTextColumn(WriteIf(bridget > Ref(bridget,-1) AND Ref(bridget,-1)<Ref(bridget,-2), "Buy",WriteIf(bridget Ref(bridget,-2), "Sell","""), "Earth-2c",colorDefault,-1);

AddTextColumn(WriteIf(barcolor2==colorBlue, "Modarate",WriteIf(barcolor2==4, "Buy",WriteIf(barcolor2==5, "Sell","")), "Earth-3",colorDefault,-1);

//AddColumn(Buy, "Buy" , 1.1, bcolor);

//AddColumn(O, "Open", dd, textColor = Color);

//AddColumn(C, "Close", dd, textColor = Color);

//AddColumn(V, "Volume", 1, textColor = Color);

//AddTextColumn(FullName(), "Имя");

 

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

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

Поскольку он использует объем, я бы поостерегся использовать объем брокера MT4, так как они сильно отличаются у разных брокеров.

Удачи вам.

Swagman

 

неправильный подсчет параметров

почему этот код выдает ошибку неправильного количества параметров:

for(int i = 0;i < 3;i++)

{

kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);

dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);

}

 

TimeFrame = Period() = Дополнительный параметр

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

for(int i = 0;i < 3;i++)

{

kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);

dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);

}

Привет Forextrend,

Проблема может быть связана с TimeFrame1 и Period() - они задают ТФ для индикатора.

iStochastic может использовать любой из них, но не оба?

Попробуйте удалить один или другой - возможно, это и есть "лишний" параметр.

Надеюсь, это поможет,

Роберт

 
forextrend:
почему этот код выдает ошибку неправильного количества параметров:

for(int i = 0;i < 3;i++)

{

kline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_MAIN, i);

dline = iStochastic(NULL,TimeFrame1, Period(), 4, 3, 3, MODE_SMA, 1, MODE_SIGNAL, i);

}

Попробуйте это:

iStochastic( Symbol(), 0, StochK, StochD, StochSlowing, MODE_SMA, 0, MODE_MAIN, 0 );

  • Symbol() - для какой валютной пары вы хотите произвести расчет.
  • 0 - для таймфрейма (здесь текущий)
  • затем идут параметры K/D/Slowing
  • MODE_SMA - просто режим МА
  • 0 - параметр поля (hi/lo или close/close)
  • MODE_MAIN - выбор основной линии стоха (вместо сигнальной)
  • 0 - означает текущую свечу

Вы ввели iStochastic( ..., Period(), 4, 3, 3 ), что, вероятно, и является источником проблемы. Все остальные параметры в порядке, просто у вас слишком много параметров.

 

Halp!!!!!!!!!!

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

void ScanForClosure ()

{

int cash = OrderProfit() + OrderSwap() + OrderCommission()

int MacdCurrent, MacdPrevious, SignalCurrent;

int SignalPrevious, MaCurrent, MaPrevious;

int total2 = OrdersTotal();

int numords2 = 0;

bool type = false;

int trd2 = 0;

MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);

MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);

SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);

SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);

MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);

MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);

ArrayResize(lastOrders,5);

ArrayInitialize(lastOrders,0);

//

for(int cnt=0; cnt<total2; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS);

if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) ;

{

if ((OrderType()==OP_BUY)&&

(MacdCurrent>0)&&

(MacdCurrent<SignalCurrent)&&

(cash > 0)&&

(MacdPrevious>SignalPrevious) && MacdCurrent>(MACDCloseLevel*Point));

{

CloseOrder(1);

}

if ((OrderType()==OP_SELL)&&.

(cash > 0)&& (MacdCurrent<0 ) &&

(MacdCurrent>SignalCurrent)&&

(MacdPrevious<SignalPrevious)&&

(MathAbs(MacdCurrent))>(MACDCloseLevel*Point));

{

CloseOrder(2);

}

}

}

}

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