ccfp 3.2.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ccfp 3.2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для MetaTrader 4, отображаемый в отдельном окне с 8-ю буферами. Он рассчитывает относительную силу восьми основных валют (USD, EUR, GBP, CHF, JPY, AUD, CAD, NZD) на основе сравнения быстрых и медленных скользящих средних их перекрёстных пар.
Индикатор поддерживает работу на различных таймфреймах с настраиваемыми параметрами скользящих для каждого таймфрейма. Включает интерполяцию значений между барами, а также панель отображения текущих значений для каждой валюты.
Предусмотрена система уведомлений с поддержкой всплывающих сообщений, звуковых сигналов и email-оповещений при пересечении уровней, изменении тренда и смене направления наклона линий.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм для расчёта индикатора (например, M1, H1, D1 или Current time frame). |
| SymbolsPrefix | Префикс символов — Префикс символов валютных пар. |
| SymbolsSuffix | Суффикс символов — Суффикс символов валютных пар. |
| MaMethod | Метод скользящей — Метод расчёта скользящей средней (числовой код метода). |
| MaFast | Быстрая скользящая — Период быстрой скользящей средней. |
| MaSlow | Медленная скользящая — Период медленной скользящей средней. |
| Price | Тип цены — Тип цены для расчёта скользящих средних (числовой код). |
| USD | USD — Включение/отключение отображения и расчёта для валютной пары USD. |
| EUR | EUR — Включение/отключение отображения и расчёта для валютной пары EUR. |
| GBP | GBP — Включение/отключение отображения и расчёта для валютной пары GBP. |
| CHF | CHF — Включение/отключение отображения и расчёта для валютной пары CHF. |
| JPY | JPY — Включение/отключение отображения и расчёта для валютной пары JPY. |
| AUD | AUD — Включение/отключение отображения и расчёта для валютной пары AUD. |
| CAD | CAD — Включение/отключение отображения и расчёта для валютной пары CAD. |
| NZD | NZD — Включение/отключение отображения и расчёта для валютной пары NZD. |
| showOnlySymbolOnChart | Только символ на графике — Отображение только тех валют, которые присутствуют на текущем графике. |
| Color_USD | Цвет USD — Цвет линии для валютной пары USD. |
| Color_EUR | Цвет EUR — Цвет линии для валютной пары EUR. |
| Color_GBP | Цвет GBP — Цвет линии для валютной пары GBP. |
| Color_CHF | Цвет CHF — Цвет линии для валютной пары CHF. |
| Color_JPY | Цвет JPY — Цвет линии для валютной пары JPY. |
| Color_AUD | Цвет AUD — Цвет линии для валютной пары AUD. |
| Color_CAD | Цвет CAD — Цвет линии для валютной пары CAD. |
| Color_NZD | Цвет NZD — Цвет линии для валютной пары NZD. |
| LevelUp2 | Уровень роста 2 — Верхний уровень 2 для определения направления тренда. |
| LevelUp1 | Уровень роста 1 — Верхний уровень 1 для определения направления тренда. |
| LevelDn1 | Уровень снижения 1 — Нижний уровень 1 для определения направления тренда. |
| LevelDn2 | Уровень снижения 2 — Нижний уровень 2 для определения направления тренда. |
| Line_Thickness | Толщина линии — Толщина линий индикатора. |
| alertsOn | Уведомления включены — Общее включение/отключение системы уведомлений. |
| alertsOnCurrent | На текущем баре — Определяет, на каком баре отслеживать события: текущий или предыдущий. |
| alertsOnLevelCross | Уведомления при пересечении уровня — Включение уведомлений при пересечении уровня. |
| alertsOnLevelRevert | Уведомления при возврате от уровня — Включение уведомлений при возврате от уровня. |
| alertsOnSlopeChange | Уведомления при смене наклона — Включение уведомлений при изменении направления наклона. |
| alertsMessage | Всплывающие сообщения — Включение/отключение всплывающих сообщений. |
| alertsSound | Звуковые уведомления — Включение/отключение звуковых уведомлений. |
| alertsEmail | Email-уведомления — Включение/отключение email-уведомлений. |
| Indicator_Name | Название индикатора — Название индикатора, используемое для короткого имени и идентификации объектов на графике. |
| StartPos | Начальная позиция — Начальная позиция отрисовки индикатора на графике. |
| yy | Смещение YY — Смещение по барам для сравнения значений при отображении. |
| xx | Смещение XX — Смещение по барам для сравнения значений при отображении. |
| Panel | Панель — Параметр, определяющий позицию панели отображения. |
| showpanel | Панель отображения — Включение/отключение панели отображения текущих значений. |
| xd | Смещение X — Горизонтальное смещение панели отображения. |
| yd | Смещение Y — Вертикальное смещение панели отображения. |
| mn_per | Медленная MN — Период медленной скользящей для месячного таймфрейма. |
| mn_fast | Быстрая MN — Период быстрой скользящей для месячного таймфрейма. |
| w_per | Медленная W1 — Период медленной скользящей для недельного таймфрейма. |
| w_fast | Быстрая W1 — Период быстрой скользящей для недельного таймфрейма. |
| d_per | Медленная D1 — Период медленной скользящей для дневного таймфрейма. |
| d_fast | Быстрая D1 — Период быстрой скользящей для дневного таймфрейма. |
| h4_per | Медленная H4 — Период медленной скользящей для таймфрейма H4. |
| h4_fast | Быстрая H4 — Период быстрой скользящей для таймфрейма H4. |
| H1parameters | Параметры H1 — Параметры скользящих средних для таймфрейма H1 (быстрая, средняя, медленная, очень медленная). |
| h1_per | Медленная H1 — Период медленной скользящей для таймфрейма H1. |
| h1_fast | Быстрая H1 — Период быстрой скользящей для таймфрейма H1. |
| m30_per | Медленная M30 — Период медленной скользящей для таймфрейма M30. |
| m30_fast | Быстрая M30 — Период быстрой скользящей для таймфрейма M30. |
| m15_per | Медленная M15 — Период медленной скользящей для таймфрейма M15. |
| m15_fast | Быстрая M15 — Период быстрой скользящей для таймфрейма M15. |
| m5_per | Медленная M5 — Период медленной скользящей для таймфрейма M5. |
| m5_fast | Быстрая M5 — Период быстрой скользящей для таймфрейма M5. |
| m1_per | Медленная M1 — Период медленной скользящей для таймфрейма M1. |
| m1_fast | Быстрая M1 — Период быстрой скользящей для таймфрейма M1. |
| Interpolate | Интерполяция — Включение/отключение интерполяции значений между барами. |
Поиск по коду файла
???//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 8
extern string TimeFrame = "Current time frame";
extern string SymbolsPrefix = "";
extern string SymbolsSuffix = "";
extern int MaMethod = 3;
extern int MaFast = 3;
extern int MaSlow = 5;
extern int Price = 6;
extern bool USD = true;
extern bool EUR = true;
extern bool GBP = true;
extern bool CHF = true;
extern bool JPY = true;
extern bool AUD = true;
extern bool CAD = true;
extern bool NZD = true;
extern bool showOnlySymbolOnChart = false;
extern color Color_USD = White;
extern color Color_EUR = Red;
extern color Color_GBP = Gold;
extern color Color_CHF = GreenYellow;
extern color Color_JPY = DarkOrange;
extern color Color_AUD = PaleVioletRed ;
extern color Color_CAD = DeepSkyBlue;
extern color Color_NZD = Olive;
extern double LevelUp2 = 0.015;
extern double LevelUp1 = 0.007;
extern double LevelDn1 = -0.007;
extern double LevelDn2 = -0.015;
extern int Line_Thickness = 2;
extern bool alertsOn = false;
extern bool alertsOnCurrent = false;
extern bool alertsOnLevelCross = false;
extern bool alertsOnLevelRevert = false;
extern bool alertsOnSlopeChange = false;
extern bool alertsMessage = false;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern string Indicator_Name = "CCFp: ";
extern int StartPos = 12;
extern int yy = 1;
extern int xx = 0;
extern string Panel = "position";
extern bool showpanel=true;
extern int xd=0;
extern int yd=0;
extern int mn_per = 12;
extern int mn_fast = 3;
extern int w_per = 9;
extern int w_fast = 3;
extern int d_per = 5;
extern int d_fast = 3;
extern int h4_per = 18;
extern int h4_fast = 6;
extern string H1parameters = "fast:24,8 middle:48,16 slow:72,24 veryslow:120,40";
extern int h1_per = 24;
extern int h1_fast = 8;
extern int m30_per = 16;
extern int m30_fast = 2;
extern int m15_per = 16;
extern int m15_fast = 4;
extern int m5_per = 12;
extern int m5_fast = 3;
extern int m1_per = 30;
extern int m1_fast = 10;
extern bool Interpolate=true;
double arrUSD[];
double arrEUR[];
double arrGBP[];
double arrCHF[];
double arrJPY[];
double arrAUD[];
double arrCAD[];
double arrNZD[];
string symbol[] = {"","","","","","","","","GBPJPY"};
string indicatorFileName;
bool returnBars;
bool calculateValue;
int timeFrame = 0;
string names[8];
int colors[8];
int init()
{
// код доступен только после оплаты
}
string symbols[];
void addSymbol(string tsymbol)
{
ArrayResize(symbols,ArraySize(symbols)+1); symbols[ArraySize(symbols)-1] = SymbolsPrefix+tsymbol+SymbolsSuffix;
}
int getLimit(int limit, string tsymbol)
{
if (tsymbol!=Symbol())
limit = MathMax(MathMin(Bars-1,iCustom(tsymbol,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()),limit);
return(limit);
}
int deinit()
{
for(int i = 0; i < 8; i++) ObjectDelete(Indicator_Name+i);
for( i = 0; i < 8; i++) ObjectDelete(Indicator_Name+":"+i);
for( i = 0; i < 8; i++) ObjectDelete(Indicator_Name+":n"+i);
ObjectDelete("Spread");
ObjectDelete ("usd");
ObjectDelete ("usd2");
ObjectDelete ("eur");
ObjectDelete ("eur2");
ObjectDelete ("gbp");
ObjectDelete ("gbp2");
ObjectDelete ("chf");
ObjectDelete ("chf2");
ObjectDelete ("cad");
ObjectDelete ("cad2");
ObjectDelete ("jpy");
ObjectDelete ("jpy2");
ObjectDelete ("nzd");
ObjectDelete ("nzd2");
ObjectDelete ("aud");
ObjectDelete ("aud2");
return(0);
}
double values[8];
double valuea[8];
double trends[][64];
double trendl[][8][5];
int start()
{
// код доступен только после оплаты
}
int i,r,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { arrUSD[0] = limit; return(0); }
static bool initialized = false;
if (!initialized)
{
initialized = true;
int cur = StartPos;
int st = 23;
if (USD) { sl(0,"~",cur,Color_USD,"USD"); cur+=st; }
if (EUR) { sl(1,"~",cur,Color_EUR,"EUR"); cur+=st; addSymbol("EURUSD"); }
if (GBP) { sl(2,"~",cur,Color_GBP,"GBP"); cur+=st; addSymbol("GBPUSD"); }
if (CHF) { sl(3,"~",cur,Color_CHF,"CHF"); cur+=st; addSymbol("USDCHF"); }
if (JPY) { sl(4,"~",cur,Color_JPY,"JPY"); cur+=st; addSymbol("USDJPY"); }
if (AUD) { sl(5,"~",cur,Color_AUD,"AUD"); cur+=st; addSymbol("AUDUSD"); }
if (CAD) { sl(6,"~",cur,Color_CAD,"CAD"); cur+=st; addSymbol("USDCAD"); }
if (NZD) { sl(7,"~",cur,Color_NZD,"NZD"); cur+=st; addSymbol("NZDUSD"); }
}
for (int t=0; t<ArraySize(symbols); t++) limit = getLimit(limit,symbols[t]);
if (ArrayRange(trends,0) != Bars) ArrayResize(trends,Bars);
if (ArrayRange(trendl,0) != Bars) ArrayResize(trendl,Bars);
ArrayInitialize(values,-1);
if (calculateValue || timeFrame==Period())
{
for(i = 0, r=Bars-1; i < limit; i++,r--)
{
if (EUR) {
double EURUSD_Fast = ma("EURUSD", MaFast, MaMethod, Price, i);
double EURUSD_Slow = ma("EURUSD", MaSlow, MaMethod, Price, i);
if (!EURUSD_Fast || !EURUSD_Slow) break; }
if(GBP) {
double GBPUSD_Fast = ma("GBPUSD", MaFast, MaMethod, Price, i);
double GBPUSD_Slow = ma("GBPUSD", MaSlow, MaMethod, Price, i);
if(!GBPUSD_Fast || !GBPUSD_Slow) break; }
if(AUD) {
double AUDUSD_Fast = ma("AUDUSD", MaFast, MaMethod, Price, i);
double AUDUSD_Slow = ma("AUDUSD", MaSlow, MaMethod, Price, i);
if(!AUDUSD_Fast || !AUDUSD_Slow) break; }
if(NZD) {
double NZDUSD_Fast = ma("NZDUSD", MaFast, MaMethod, Price, i);
double NZDUSD_Slow = ma("NZDUSD", MaSlow, MaMethod, Price, i);
if(!NZDUSD_Fast || !NZDUSD_Slow) break; }
if(CAD) {
double USDCAD_Fast = ma("USDCAD", MaFast, MaMethod, Price, i);
double USDCAD_Slow = ma("USDCAD", MaSlow, MaMethod, Price, i);
if(!USDCAD_Fast || !USDCAD_Slow) break; }
if(CHF) {
double USDCHF_Fast = ma("USDCHF", MaFast, MaMethod, Price, i);
double USDCHF_Slow = ma("USDCHF", MaSlow, MaMethod, Price, i);
if(!USDCHF_Fast || !USDCHF_Slow) break; }
if(JPY) {
double USDJPY_Fast = ma("USDJPY", MaFast, MaMethod, Price, i) / 100.0;
double USDJPY_Slow = ma("USDJPY", MaSlow, MaMethod, Price, i) / 100.0;
if(!USDJPY_Fast || !USDJPY_Slow) break; }
if(USD)
{
arrUSD[i] = 0;
if(EUR) arrUSD[i] += EURUSD_Slow - EURUSD_Fast;
if(GBP) arrUSD[i] += GBPUSD_Slow - GBPUSD_Fast;
if(AUD) arrUSD[i] += AUDUSD_Slow - AUDUSD_Fast;
if(NZD) arrUSD[i] += NZDUSD_Slow - NZDUSD_Fast;
if(CHF) arrUSD[i] += USDCHF_Fast - USDCHF_Slow;
if(CAD) arrUSD[i] += USDCAD_Fast - USDCAD_Slow;
if(JPY) arrUSD[i] += USDJPY_Fast - USDJPY_Slow;
values[0] = arrUSD[i];
}
if(EUR)
{
arrEUR[i] = 0;
if(USD) arrEUR[i] += EURUSD_Fast - EURUSD_Slow;
if(GBP) arrEUR[i] += EURUSD_Fast / GBPUSD_Fast - EURUSD_Slow / GBPUSD_Slow;
if(AUD) arrEUR[i] += EURUSD_Fast / AUDUSD_Fast - EURUSD_Slow / AUDUSD_Slow;
if(NZD) arrEUR[i] += EURUSD_Fast / NZDUSD_Fast - EURUSD_Slow / NZDUSD_Slow;
if(CHF) arrEUR[i] += EURUSD_Fast * USDCHF_Fast - EURUSD_Slow * USDCHF_Slow;
if(CAD) arrEUR[i] += EURUSD_Fast * USDCAD_Fast - EURUSD_Slow * USDCAD_Slow;
if(JPY) arrEUR[i] += EURUSD_Fast * USDJPY_Fast - EURUSD_Slow * USDJPY_Slow;
values[1] = arrEUR[i];
}
if(GBP)
{
arrGBP[i] = 0;
if(USD) arrGBP[i] += GBPUSD_Fast - GBPUSD_Slow;
if(EUR) arrGBP[i] += EURUSD_Slow / GBPUSD_Slow - EURUSD_Fast / GBPUSD_Fast;
if(AUD) arrGBP[i] += GBPUSD_Fast / AUDUSD_Fast - GBPUSD_Slow / AUDUSD_Slow;
if(NZD) arrGBP[i] += GBPUSD_Fast / NZDUSD_Fast - GBPUSD_Slow / NZDUSD_Slow;
if(CHF) arrGBP[i] += GBPUSD_Fast * USDCHF_Fast - GBPUSD_Slow * USDCHF_Slow;
if(CAD) arrGBP[i] += GBPUSD_Fast * USDCAD_Fast - GBPUSD_Slow * USDCAD_Slow;
if(JPY) arrGBP[i] += GBPUSD_Fast * USDJPY_Fast - GBPUSD_Slow * USDJPY_Slow;
values[2] = arrGBP[i];
}
if(AUD)
{
arrAUD[i] = 0;
if(USD) arrAUD[i] += AUDUSD_Fast - AUDUSD_Slow;
if(EUR) arrAUD[i] += EURUSD_Slow / AUDUSD_Slow - EURUSD_Fast / AUDUSD_Fast;
if(GBP) arrAUD[i] += GBPUSD_Slow / AUDUSD_Slow - GBPUSD_Fast / AUDUSD_Fast;
if(NZD) arrAUD[i] += AUDUSD_Fast / NZDUSD_Fast - AUDUSD_Slow / NZDUSD_Slow;
if(CHF) arrAUD[i] += AUDUSD_Fast * USDCHF_Fast - AUDUSD_Slow * USDCHF_Slow;
if(CAD) arrAUD[i] += AUDUSD_Fast * USDCAD_Fast - AUDUSD_Slow * USDCAD_Slow;
if(JPY) arrAUD[i] += AUDUSD_Fast * USDJPY_Fast - AUDUSD_Slow * USDJPY_Slow;
values[5] = arrAUD[i];
}
if(NZD)
{
arrNZD[i] = 0;
if(USD) arrNZD[i] += NZDUSD_Fast - NZDUSD_Slow;
if(EUR) arrNZD[i] += EURUSD_Slow / NZDUSD_Slow - EURUSD_Fast / NZDUSD_Fast;
if(GBP) arrNZD[i] += GBPUSD_Slow / NZDUSD_Slow - GBPUSD_Fast / NZDUSD_Fast;
if(AUD) arrNZD[i] += AUDUSD_Slow / NZDUSD_Slow - AUDUSD_Fast / NZDUSD_Fast;
if(CHF) arrNZD[i] += NZDUSD_Fast * USDCHF_Fast - NZDUSD_Slow * USDCHF_Slow;
if(CAD) arrNZD[i] += NZDUSD_Fast * USDCAD_Fast - NZDUSD_Slow * USDCAD_Slow;
if(JPY) arrNZD[i] += NZDUSD_Fast * USDJPY_Fast - NZDUSD_Slow * USDJPY_Slow;
values[7] = arrNZD[i];
}
if(CAD)
{
arrCAD[i] = 0;
if(USD) arrCAD[i] += USDCAD_Slow - USDCAD_Fast;
if(EUR) arrCAD[i] += EURUSD_Slow * USDCAD_Slow - EURUSD_Fast * USDCAD_Fast;
if(GBP) arrCAD[i] += GBPUSD_Slow * USDCAD_Slow - GBPUSD_Fast * USDCAD_Fast;
if(AUD) arrCAD[i] += AUDUSD_Slow * USDCAD_Slow - AUDUSD_Fast * USDCAD_Fast;
if(NZD) arrCAD[i] += NZDUSD_Slow * USDCAD_Slow - NZDUSD_Fast * USDCAD_Fast;
if(CHF) arrCAD[i] += USDCHF_Fast / USDCAD_Fast - USDCHF_Slow / USDCAD_Slow;
if(JPY) arrCAD[i] += USDJPY_Fast / USDCAD_Fast - USDJPY_Slow / USDCAD_Slow;
values[6] = arrCAD[i];
}
if(CHF)
{
arrCHF[i] = 0;
if(USD) arrCHF[i] += USDCHF_Slow - USDCHF_Fast;
if(EUR) arrCHF[i] += EURUSD_Slow * USDCHF_Slow - EURUSD_Fast * USDCHF_Fast;
if(GBP) arrCHF[i] += GBPUSD_Slow * USDCHF_Slow - GBPUSD_Fast * USDCHF_Fast;
if(AUD) arrCHF[i] += AUDUSD_Slow * USDCHF_Slow - AUDUSD_Fast * USDCHF_Fast;
if(NZD) arrCHF[i] += NZDUSD_Slow * USDCHF_Slow - NZDUSD_Fast * USDCHF_Fast;
if(CAD) arrCHF[i] += USDCHF_Slow / USDCAD_Slow - USDCHF_Fast / USDCAD_Fast;
if(JPY) arrCHF[i] += USDJPY_Fast / USDCHF_Fast - USDJPY_Slow / USDCHF_Slow;
values[3] = arrCHF[i];
}
if(JPY)
{
arrJPY[i] = 0;
if(USD) arrJPY[i] += USDJPY_Slow - USDJPY_Fast;
if(EUR) arrJPY[i] += EURUSD_Slow * USDJPY_Slow - EURUSD_Fast * USDJPY_Fast;
if(GBP) arrJPY[i] += GBPUSD_Slow * USDJPY_Slow - GBPUSD_Fast * USDJPY_Fast;
if(AUD) arrJPY[i] += AUDUSD_Slow * USDJPY_Slow - AUDUSD_Fast * USDJPY_Fast;
if(NZD) arrJPY[i] += NZDUSD_Slow * USDJPY_Slow - NZDUSD_Fast * USDJPY_Fast;
if(CAD) arrJPY[i] += USDJPY_Slow / USDCAD_Slow - USDJPY_Fast / USDCAD_Fast;
if(CHF) arrJPY[i] += USDJPY_Slow / USDCHF_Slow - USDJPY_Fast / USDCHF_Fast;
values[4] = arrJPY[i];
}
for (int k=0; k<7; k++)
for (int j=k+1; j<8; j++)
{
if (values[k]>values[j]) trends[r][k*8+j] = 1;
if (values[k]<values[j]) trends[r][k*8+j] = -1;
}
if (i==0) ArrayCopy(valuea,values);
for (k=0;k<8;k++)
{
if (values[k]>LevelUp2) trendl[r][k][0] = 1;
if (values[k]<LevelUp2) trendl[r][k][0] = -1;
if (values[k]>LevelUp1) trendl[r][k][1] = 1;
if (values[k]<LevelUp1) trendl[r][k][1] = -1;
if (values[k]>LevelDn1) trendl[r][k][2] = 1;
if (values[k]<LevelDn1) trendl[r][k][2] = -1;
if (values[k]>LevelDn2) trendl[r][k][3] = 1;
if (values[k]<LevelDn2) trendl[r][k][3] = -1;
}
}
for(r=Bars-i-1; i >=0; i--,r++)
{
if (arrUSD[i]>arrUSD[i+1]) trendl[r][0][4] = 1;
if (arrUSD[i]<arrUSD[i+1]) trendl[r][0][4] = -1;
if (arrEUR[i]>arrEUR[i+1]) trendl[r][1][4] = 1;
if (arrEUR[i]<arrEUR[i+1]) trendl[r][1][4] = -1;
if (arrGBP[i]>arrGBP[i+1]) trendl[r][2][4] = 1;
if (arrGBP[i]<arrGBP[i+1]) trendl[r][2][4] = -1;
if (arrCHF[i]>arrCHF[i+1]) trendl[r][3][4] = 1;
if (arrCHF[i]<arrCHF[i+1]) trendl[r][3][4] = -1;
if (arrJPY[i]>arrJPY[i+1]) trendl[r][4][4] = 1;
Показано первые 50% кода (символов: 24615)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.