xMeterMTF
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «currencystrengthindicator.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, отображающий в окне графика панель с оценкой относительной силы валют. Он не рисует линии или буферы в основном окне, а создаёт набор графических объектов-меток, которые визуально показывают текущее состояние валютных пар и отдельных валют.
В основе работы лежит анализ котировок заданного набора валютных пар: индикатор получает текущие цены, дневные максимум и минимум, вычисляет положение цены внутри дневного диапазона и на основе этого формирует условную оценку силы каждой валюты. Результаты выводятся в виде цветных индикаторов и числовых значений в правой части графика.
Индикатор не совершает торговых операций и не выдаёт сигналов на вход. Он предназначен для информационной оценки относительной силы валют и может использоваться как вспомогательный инструмент при принятии торговых решений.
Поиск по коду файла
/*
xMeterMTF.mq4
Copyright ? 2007, MetaQuotes Software Corp.
Price Meter System™ ?GPL
Hartono Setiono
5/17/2007 Redsigned based on xMeter_mini.mq4 indicator
*/
#property indicator_chart_window
#property indicator_buffers 0
#include <stdlib.mqh>
#include <stderror.mqh>
#define TABSIZE 19 // scale of currency's power !!!DON'T CHANGE THIS NUMBER!!!
#define ORDER 2 // available type of order !!!DON'T CHANGE THIS NUMBER!!!
string Id = "xmeter2";
extern bool AccountIsIBFXmini = false;
/*extern*/ bool LoopOnInit=false;
/* You can change any of the following arrays */
string aTradePair[]= {"GBPJPY"};
string aPair[] = {"EURUSD","GBPUSD","AUDUSD","NZDUSD","USDJPY","USDZAR","USDCHF","USDCAD","EURCAD","USDSEK","GBPCAD","USDMXN",
"EURJPY","EURGBP","EURCHF","EURAUD","EURNZD","GBPJPY","GBPCHF","USDNOK","EURNOK","USDTRY","EURTRY","EURSEK"};
/* The following can also be changed but both must have the same dimension */
string aMajor[] = {"USD","EUR","GBP","CHF","CAD","AUD","NZD","JPY","NOK","SEK","TRY","MXN","ZAR"};
int aMajorPos[] = {250,230,210,190,170,150,130, 110, 90, 70, 50, 30, 10};
string aOrder[ORDER] = {"BUY ","SELL "};
int aTable[TABSIZE] = {0,3,10,25,40,50,60,75,90,97,100}; // grade table for currency's power
int PairCount;
int CurrencyCount;
double aMeter[];
double aHigh[];
double aLow[];
double aBid[];
double aAsk[];
double aRatio[];
double aRange[];
double aLookup[];
double aStrength[];
int aIndex[2][10];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DeleteExistingLabels();
Print("shutdown error - ",ErrorDescription(GetLastError())); // system is detached from platform
return(0); // end of deinit function
}
int start()
{
// код доступен только после оплаты
}
void main() // this a control center
{
double point;
int index, pindex, cnt;
string mySymbol;
double cmeter;
for (index = 0; index < PairCount; index++) // initialize all pairs required value
{
RefreshRates(); // refresh all currency's instrument
if (AccountIsIBFXmini)
mySymbol = aPair[index]+'m'; // Add "m for IBFX mini
else
mySymbol = aPair[index];
point = GetPoint(mySymbol); // get a point basis
aHigh[index] = MarketInfo(mySymbol,MODE_HIGH); //iHigh(mySymbol,mTimeFrame,iHighest(mySymbol,mTimeFrame,MODE_HIGH,mPeriod,0)); // find highest
aLow[index] = MarketInfo(mySymbol,MODE_LOW); //iLow(mySymbol,mTimeFrame,iLowest(mySymbol,mTimeFrame,MODE_LOW,mPeriod,0)); // find lowest
aBid[index] = MarketInfo(mySymbol,MODE_BID); // set a last bid
aAsk[index] = MarketInfo(mySymbol,MODE_ASK); // set a last ask
aRange[index] = MathMax((aHigh[index]-aLow[index])/point,1); // calculate range today
aRatio[index] = (aBid[index]-aLow[index])/aRange[index]/point; // calculate pair ratio
aLookup[index] = iLookup(aRatio[index]*100); // set a pair grade
aStrength[index] = 9.9-aLookup[index]; // set a pair strengh
}
for (pindex=0; pindex<CurrencyCount; pindex++)
{
cnt=0;
cmeter=0;
for (index = 0; index < PairCount; index++) // initialize all pairs required value
{Показано первые 50% кода (символов: 7145)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.