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

 

Знаете ли вы, как удалить свойства индикаторов на экране?

Здравствуйте, я хотел бы удалить текст на вложенных окнах в Mt4.

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

//---- name for DataWindow and indicator subwindow label

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

string short_name="MTF AbsoluteStrength("+TimeFrameStr+","+Mode+","+Length+","+Smooth+","+Signal+",,"+ModeMA+")";

IndicatorShortName(short_name);

SetIndexLabel(0,"Bulls");

SetIndexLabel(1,"Bears");

SetIndexLabel(2,"SignalBulls");

SetIndexLabel(3,"SignalBears");

//----

SetIndexDrawBegin(0,Length+Smooth+Signal);

SetIndexDrawBegin(1,Length+Smooth+Signal);

SetIndexDrawBegin(2,Length+Smooth+Signal);

SetIndexDrawBegin(3,Length+Smooth+Signal);

return(0);

}

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

 

mt4 Кодирование HELP

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

Я пытаюсь научиться кодированию в mt4. Прочитал уроки CodersGuru и читаю руководство по MLQ4. Последний раз я кодировал во времена Fortran 4, около 40 лет назад, так что я очень сильно отстал от жизни.

Я нарисовал блок-схему того, чего я хочу достичь, но я в растерянности, как действовать дальше.

Я открыл MetaEditor и создал новый программный файл, но тут я застрял.

Я пытаюсь построить базовую горизонтальную линию, а затем программа построит 4 дополнительные линии через равные промежутки времени. Значение базовой линии и дополнительные значения выбираются пользователем.

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

Если кто-нибудь будет достаточно любезен, чтобы провести меня через все этапы и объяснить, как и почему это делается, я буду очень признателен.

буду очень благодарен.

С уважением, Аллон

 

Как кодировать: только одна сделка

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

Я напишу советника с двумя сделками, если некоторые правила верны, но советник должен открывать только одну сделку:

Trade("AUDCAD",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

и одну сделку с этого:

Trade("AUDCHF",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

Цель состоит в том, чтобы советник открылся:

- 1 сделку "OP_BUY" с AUDCAD

- и 1 сделку "OP_BUY" с AUDCHF.

Как мне это закодировать?

Заранее спасибо.

halobungie

 

Советник меняет цвет линии MA

Привет всем,

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

Я не могу понять, как это сделать. Может ли кто-нибудь указать мне правильное направление.

Я знаю, что используются функции ima() и icustom(), но как мне собрать их вместе?

Заранее большое спасибо.

Новичок

 

Прибыль, рассчитанная для нескольких ордеров

Привет всем,

Я хочу, чтобы советник закрывал все открытые позиции, если прибыль всех ордеров равна нулю + x пунктов. Как это запрограммировать?

например

- sellorder 0.5 lot openprice = 1.3789

- buyorder 0.4 lot openprice = 1.3745

- sellorder 0.2 lot openprice = 1.3721

- sellorder 0.1 lot openprice = 1.3676

Извините за мой плохой английский

С уважением,

derumuro

 

Привет всем,

Где я могу найти лучший индикатор стохастического моментума (SMI)?

Похоже, что издание 3-28-2008 от MLaden - это то, что нужно!

Меня бы особенно заинтересовала версия SMI с алертом (по кроссу и по уровням), но я не могу его найти.

Второй мой запрос касается инструмента оповещения о дивергенции. Их много (с разными результатами), но какой из них кажется наиболее полезным (на больших таймфреймах H4, D1, W1)?

Спасибо за помощь,

CiloX

 

Как закрыть все? Нужна помощь

Я просто хочу закрыть все открытые ордера в моем советнике, когда эквити достигнет -250$. Я нашел в интернете советник, который закрывает все ордера. У него есть одна функция CloseAll(), которая закрывает все ордера. Я скопировал ее в свой советник и вызвал ее в функции start() следующим образом:

if(AccountBalance()-AccountEquity()< -250)

CloseAll();

Но советник работает как обычно, не перезапускается. Если кто-нибудь из программистов укажет мне правильное направление, было бы здорово.

Спасибо.

 
ndtexpert:
Я просто хочу закрыть все открытые ордера в моем советнике, когда эквити достигнет -250$. Я нашел в Интернете советник, который закрывает все ордера. У него есть одна функция CloseAll(), которая закрывает все ордера. Я скопировал ее в свой советник и вызвал ее в функции start() вот так:

if(AccountBalance()-AccountEquity()< -250)

CloseAll();

Но советник работает как обычно, не перезапускается. Если кто-нибудь из программистов укажет мне правильное направление, было бы здорово.

Спасибо.

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

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

 
derumuro:
Привет всем,

Я хочу, чтобы советник закрывал все открытые позиции, если прибыль всех ордеров равна нулю + x пунктов. Как это запрограммировать?

например

- sellorder 0.5 lot openprice = 1.3789

- buyorder 0.4 lot openprice = 1.3745

- sellorder 0.2 lot openprice = 1.3721

- sellorder 0.1 lot openprice = 1.3676

Извините за мой плохой английский

С уважением,

дерумуро

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

double profitCount()

{

double oc = 0;

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderMagicNumber() == Magic)

{

oc+= OrderProfit()+OrderSwap()+OrderCommission();

}

}

return(oc);

}

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

Я напишу советник с двумя сделками, если некоторые правила верны, но советник должен открывать только 1 сделку:

Trade("AUDCAD",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

и одну сделку с этого:

Trade("AUDCHF",OP_BUY, dLots, 0,0, 0, iMagic, sComment);

Цель состоит в том, чтобы советник открылся:

- 1 сделку "OP_BUY" с AUDCAD

- и 1 сделку "OP_BUY" с AUDCHF.

Как мне это закодировать?

Заранее спасибо.

халобунги

Привет!

Для этого нужно использовать функцию MarketInfo (для получения Ask/Bid указанного кросса) и передать имя символа в функцию OrderSend.

С уважением,

Kale