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

 

Помогите улучшить индикатор ATR!!!

Я пытаюсь написать улучшенную версию индикатора ATR. Я хочу иметь индикатор ATR, но основанный только на свечах с 2:00 до 11:00 утра за период P.

Например: на часовом графике я хочу найти ATR за 120 периодов (+/- 120 часов = 5 дней), но только на барах с 2:00 до 11:00 утра в течение этих 120 часов.

Если у кого-нибудь есть идея, как модифицировать стандартный код ATR, чтобы сделать то, что я пытаюсь сделать... пожалуйста, ответьте на это сообщение с вашим кодом...

Спасибо...

 

Ea

Pls, какое выражение можно использовать для получения цены открытия или максимума свечи, которая находится на расстоянии X баров от последней фрактальной свечи? (пожалуйста, напишите полное выражение... Я просто прошу одну или две строки).

Спасибо

 
ak_marshal:
Подскажите, какое выражение можно использовать для получения цены открытия или максимума свечи, которая находится на расстоянии X баров от последней фрактальной свечи? (пожалуйста, напишите полное выражение... Я просто прошу одну или две строки) Спасибо.

Прежде всего, необходимо проверить, каков индекс фрактального бара. Для этого нужно использовать цикл, можно использовать "while" или "for". Я буду использовать for.

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

{

double isfractal = код для чтения фракталов;

if(isfractal != 0)

{

double myOpen = Open;//это будет ваш X, где XBarsAfterFractal - целое число - x баров от фрактального бара.

break;//выход из цикла

}

}

 

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

Привет, ребята,

Может ли кто-нибудь, пожалуйста, помочь с CoderGurus скрипт ниже.

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

Как я уже сказал, он прекрасно работает как есть, я думал, что мне просто придется изменить OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green); на

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*StopLoss,OrderOpenPrice()+Point*TakeProfit,0,Green);

но когда я пытаюсь его запустить, ничего не происходит.

Кто-нибудь может направить меня в правильном направлении.

Спасибо

Стив

//+------------------------------------------------------------------+

//| My_First_Script.mq4 |

//| Copyright Coders Guru |

//| https://www.mql5.com/en/forum |

//+------------------------------------------------------------------+

#property copyright "Copyright Coders Guru"

#property link "https://www.forex-tsd.com"

#property show_inputs

#include

extern double TakeProfit=250;

extern double StopLoss=35;

//+------------------------------------------------------------------+

//| функция запуска скриптовой программы |

//+------------------------------------------------------------------+

int start()

{

int total,cnt,err;

double stop_loss_value;

double take_profit_value;

total = OrdersTotal();

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY) // открыта длинная позиция

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*StopLoss,Bid+Point*TakeProfit,0,Green);

err=GetLastError();

Print("High - ");

Print("error(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

if(OrderType()==OP_SELL) // короткая позиция открыта

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*StopLoss,Ask-Point*TakeProfit,0,Red);

err=GetLastError();

Print("error(",err,"): ",ErrorDescription(err));

Sleep(1000);

}

}

return(0);

}

 

Как сделать функцию в виде цикла

Я хочу использовать функцию EA, которая работает как цикл, как это:

(пока что я использую переменную

INT тренд)

A >> B >> C >> D >> E

я использую A = новый максимум + SMA30 > 80

я "покупаю" тренд = 1

тогда B = sma30 < 80

i "продать" тренд = 2

тогда C = sma30>80

i "buy" trend = 3

точка C - это точка, которую я хочу проверить.

если в любой точке он достигнет нового максимума, я хочу вернуть тренд в 1 и зациклить его.

если он не достигнет нового максимума, он перейдет к sma30 < 80

и перейдет к тренду = 4

////////////

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

надеюсь на мудрый совет, спасибо

 

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

MA30=iMA(NULL,0,30,0,0,0,0);

MA80=iMA(NULL,0,80,0,0,0,0);

if(High[0]>High[1] && MA30>MA80) A=1;

if(MA30<MA80) B=2;

if(MA30>MA80) C=3;

Возможно, вы сможете поработать с этим, чтобы расширить его до желаемого результата цикла.

 

установить текущую дату как внешнюю переменную?

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

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

extern datetime NewsTime = D'05.08.2010 10:15'; вот код

Любая помощь приветствуется

 

Можно ли написать скрипт, который устанавливает глобальную переменную с новой датой (GlobalVariableSet), и добавляет в EA чтение этой переменной (GlobalVariableGet)?

 

Кто-нибудь может изменить параметр торгового комментария

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

У меня есть советник-копировщик сигналов, который копирует точный торговый комментарий из Master. Мне нужно добавить внешний параметр к этому советнику, который можно установить на любой торговый комментарий, который я хочу. Буду очень признателен, если кто-нибудь поможет.

Спасибо

Файлы:
s-mtfx_s.mq4  27 kb
 
Ale:
Может быть написать скрипт, который устанавливает глобальную переменную с новой датой (GlobalVariableSet), и добавить в EA чтение этой переменной (GlobalVariableGet)?

спасибо, но я думал, что проблема в том, что внешние переменные, такие как "NewsTime", не могут принимать ничего, кроме статической переменной.

Вы можете установить ее с помощью скрипта, но затем вы не можете изменить ее?

Так ли это?