Caio Trader
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «!caio trader.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Caio Trader — это пользовательский индикатор для MetaTrader 4, отображающий торговые сигналы на графике в виде стрелок и линий. Индикатор рассчитывает несколько технических анализаторов, включая скользящие средние, торговые полосы и Value Chart, комбинируя их для формирования сигналов CALL и PUT. На графике отображаются стрелки возможных входов, подтверждённых сигналов и результатов сделок.
Индикатор включает встроенную панель бэктеста, отслеживающую количество выигрышей, убытков и ничьих, процент выигрышей и серии последовательных результатов. Поддерживаются уведомления: звуковые сигналы, email и push-уведомления.
Продукт позволяет интегрировать внешние индикаторы через механизм комбинеров и подключать автоматизированные торговые роботы (MT2, MX2, PricePro, TopWin) для отправки сигналов по таймеру. Доступны настройки фильтрации по тренду, пипсовым уровням, типу экспирации и параметрам мартингейла.
Настройки программы
| Настройка | Описание |
|---|---|
| ________BACKTESTE____________________ | Группа бэктеста — Разделитель группы настроек бэктеста. |
| backtest_bars | Бары бэктеста — Количество баров для расчёта истории бэктеста на графике. |
| exp_bars | Экспирация баров — Количество баров экспирации для оценки результата сделки. |
| block_candles | Блок свечей — Максимальное количество свечей блока для предотвращения повторных сигналов. |
| AlertsMessage | Уведомления о сигналах — Включает или отключает звуковые и текстовые уведомления о появлении новых торговых сигналов. |
| _________MODOOPERACIONAL___________________ | Группа операционных настроек — Разделитель группы операционных настроек. |
| Filtro | Фильтр тренда — Включает фильтр средней скользящей в пользу текущего тренда. |
| pips | Пипсы фильтра — Количество пипсов для фильтрации сигналов по ценовому расстоянию. |
| periodoEMA | Период EMA тренда — Период экспоненциальной скользящей средней для определения тренда. |
| metodo | Метод скользящей средней — Метод расчёта скользящей средней для определения тренда (SMA, EMA и др.). |
| preco | Тип цены EMA — Тип цены для расчёта экспоненциальной скользящей средней тренда. |
| HalfLength | Период TMA — Период центрированной скользящей средней (TMA) для расчёта полос. |
| Price | Тип цены TMA — Тип цены, используемый для расчёта центрированной скользящей средней (TMA). |
| period | Период полос TMA — Период расчёта центрированных торговых полос (TMA). |
| Multiplier | Множитель отклонения — Множитель отклонения для расчёта верхней и нижней границ полос. |
| Type | Метод расчёта отклонения — Метод расчёта отклонения для торговых полос (ATR, стандартная ошибка, стандартное отклонение с коррекцией или без). |
| DevLookBack | Период отклонения назад — Количество баров назад для расчёта отклонения в системе полос. |
| _________VALUE___________________ | Группа Value Chart — Разделитель группы настроек Value Chart. |
| HabilitarValueChart | Активация Value Chart — Включает или отключает анализ Value Chart для формирования сигналов. |
| VC_Overbough | Зона перекупленности — Пороговая зона перекупленности Value Chart для формирования сигнала PUT. |
| VC_Oversolde | Зона перепроданности — Пороговая зона перепроданности Value Chart для формирования сигнала CALL. |
| _________OPERACIONAL7___________________ | Группа торговых полос — Разделитель группы настроек торговых полос. |
| Bandas | Активация полос — Включает или отключает использование торговых полос в стратегии. |
| BB_Period | Период полос — Период расчёта торговых полос (настройка Bandas). |
| BB_Dev | Отклонение полос — Задаёт величину отклонения для торговых полос (настройка Bandas). |
| BB_Shift | Сдвиг полос — Сдвиг торговых полос относительно текущей свечи (настройка Bandas). |
| __________INDICADOR_EXTERNO_0_______________________ | Группа индикатора 0 — Разделитель группы первого внешнего индикатора. |
| COMBINER0 | Активация комбинера 0 — Включает или отключает первый внешний индикатор-комбинер. |
| IndicatorName0 | Имя индикатора 0 — Имя первого внешнего индикатора для комбинера. |
| IndiBufferCall0 | Буфер CALL индикатора 0 — Номер буфера первого внешнего индикатора для сигнала CALL. |
| IndiBufferPut0 | Буфер PUT индикатора 0 — Номер буфера первого внешнего индикатора для сигнала PUT. |
| SignalType0 | Тип сигнала индикатора 0 — Тип сигнала первого внешнего индикатора: внутри свечи или по закрытию свечи. |
| __________INDICADOR_EXTERNO_1_______________________ | Группа индикатора 1 — Разделитель группы второго внешнего индикатора. |
| COMBINER1 | Активация комбинера 1 — Включает или отключает второй внешний индикатор-комбинер. |
| IndicatorName1 | Имя индикатора 1 — Имя второго внешнего индикатора для комбинера. |
| IndiBufferCall1 | Буфер CALL индикатора 1 — Номер буфера второго внешнего индикатора для сигнала CALL. |
| IndiBufferPut1 | Буфер PUT индикатора 1 — Номер буфера второго внешнего индикатора для сигнала PUT. |
| SignalType1 | Тип сигнала индикатора 1 — Тип сигнала второго внешнего индикатора: внутри свечи или по закрытию свечи. |
| _____________ROBOS____________________ | Группа роботов — Разделитель группы настроек торговых роботов. |
| select_tool | Выбор торгового робота — Выбор автоматизированного торгового робота для отправки сигналов (MT2, MX2, PricePro, TopWin или отключено). |
| ExpiryMinutes | Экспирация в минутах — Время экспирации в минутах для автоматических сделок. |
| TradeAmount | Сумма сделки — Размер инвестируемой суммы для автоматических сделок. |
| MartingaleType | Тип мартингейла — Тип применения мартингейла (отключён, следующая экспирация, следующий сигнал и варианты анти-мартингейла). |
| MartingaleSteps | Шаги мартингейла — Количество шагов мартингейла для автоматической торговли. |
| MartingaleCoef | Коэффициент мартингейла — Коэффициент увеличения ставки при использовании мартингейла. |
| Broker | Выбор брокера — Выбор торговой платформы (брокера) для автоматической отправки сигналов. |
| _______________________________________ | Дополнительные настройки — Разделитель дополнительных настроек. |
Поиск по коду файла
#property description "Atualizado no dia 10/04/2024"
#property description "Programado CAIO TRADER !!!"
#property description "===================================="
#property description "ContatoCAIO TRADER"
#property description "===================================="
#property description "Suporte Pelo CAIO TRADER"
#property description "===================================="
#property description "tem um par secreto ai EURUSD M1 MUITO WIM DE PRIMEIRO"
#property strict
#property indicator_buffers 17
#property indicator_color1 clrLime
#property indicator_color2 clrRed
#property indicator_color3 clrLime
#property indicator_color4 clrRed
#property indicator_color5 clrLime
#property indicator_color6 clrRed
#property indicator_color7 clrLime
#property indicator_color8 clrRed
#property indicator_color9 clrLime
#property indicator_color10 clrRed
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 1
#property indicator_width4 1
#property indicator_width5 1
#property indicator_width6 1
#property indicator_width7 1
#property indicator_width8 1
#property indicator_width9 1
#property indicator_width10 1
#property indicator_level1 2
#property indicator_level2 3
#property indicator_level3 -4
#property indicator_level4 -2
#property indicator_level5 20
#property indicator_level6 -4
#property indicator_level7 4
#property indicator_level8 -6
#property indicator_levelstyle 10
#property indicator_levelcolor Gainsboro
#property indicator_maximum 21
#property indicator_minimum -21
#property indicator_color10 clrRed
#import "kernel32.dll"
int FindFirstFileW(string Path, ushort &Answer[]);
bool FindNextFileW(int handle, ushort &Answer[]);
bool FindClose(int handle);
bool GetVolumeInformationW(string,string,uint,uint&[],uint,uint,string,uint);
#import
#property indicator_chart_window
#property indicator_buffers 17
struct backtest
{
double BufferWin;
double pinbar;
double win;
double loss;
double draw;
int consecutive_wins;
int consecutive_losses;
int count_win;
int count_loss;
int count_entries;
backtest()
{
Reset();
}
void Reset()
{
win=0;
loss=0;
draw=0;
consecutive_wins=0;
consecutive_losses=0;
count_win=0;
count_loss=0;
count_entries=0;
pinbar=0;
}
};
enum tool
{
Selecionar_Ferramenta, //Selecionar Automatizador
MT2, //Automatizar com MT2 ?
MX2, //Automatizar com MX2 TRADING ?
PricePro, //Automatizar com PRICEPRO ?
TopWin, //Automatizar com TOPWIN ?
};
enum sinal
{
MESMA_VELA = 0,
PROXIMA_VELA = 1
};
enum tipoexpericao
{
tempo_fixo = 0, //Tempo fixo
retracao = 1 //Retraction on the same candle
};
enum corretora
{
All = 0, //Todas
IQ = 1, //IQ Option
Bin = 2, //Binary
Spectree = 3, //Spectre
GC = 4, //Grand Capital
Binomo = 5, //Binomo
Olymp = 6, //Olymp Trade
Quotex = 7 //Quotex
};
enum martingale
{
NoMartingale = 0, // Sem Martingale (No Martingale)
OnNextExpiry = 1, // Next Expiry
OnNextSignal = 2, // Next Signal
Anti_OnNextExpiry = 3, // Anti-/ Next Expiry
Anti_OnNextSignal = 4, // Anti-/ Next Signal
OnNextSignal_Global = 5, // Next Signal (Global)
Anti_OnNextSignal_Global = 6 // Anti-/ Next Signal (Global)
};
enum broker
{
EmTodas = 0, //Todas
EmIQOption = 1, //IQ Option
EmSpectre = 2, //Spectre
EmBinary = 3, //Binary
EmGC = 4, //Grand Capital
EmBinomo = 5, //Binomo
EmOlymp = 6, //Olymp Trade
EmQuotex = 7, //Quotex
EmAlpari = 8, //Alpari
EmPocket = 9, //Pocket Option
EmPrice = 10, //Price Tester
EmBitness = 11, //Bitness
EmCapitalBear = 12, //Capital Bear
EmProTester = 13, //Pro Tester
EmExnova = 14, //Exnova
EmBinarium = 15, //Binarium
EmMangoTrade = 16, //MangoTrade
EmEtradeTrade = 17 //Etrade
};
#import "TopWinLib.ex4"
void TradeTopWin(string ativo, string direcao, int expiracao, int momento_entrada, string nomedosinal, datetime data_atual, int timeFrameGrafico);
#import
#import "MX2Trading_library.ex4"
bool mx2trading(string par, string direcao, int expiracao, string sinalNome, int Signaltipo, int TipoExpiracao, string TimeFrame, string mID, string Corretora);
#import
#import "PriceProLib.ex4"
void TradePricePro(string ativo, string direcao, int expiracao, string nomedosinal, int martingales, int martingale_em, int data_atual, int corretora);
#import
#import "mt2trading_library.ex4" // Please use only library version 12.4 or higher !!!
bool mt2trading(string symbol, string direction, double amount, int expiryMinutes);
bool mt2trading(string symbol, string direction, double amount, int expiryMinutes, string signalname);
bool mt2trading(string symbol, string direction, double amount, int expiryMinutes, martingale martingaleType, int martingaleSteps, double martingaleCoef, broker myBroker, string signalName, string signalid);
int traderesult(string signalid);
#import
#import "Kernel32.dll"
bool GetVolumeInformationW(string,string,uint,uint&[],uint,uint,string,uint);
#import
enum enPrices
{
pr_close, // Close
pr_open, // Open
pr_high, // High
pr_low, // Low
pr_median, // Median
pr_typical, // Typical
pr_weighted, // Weighted
pr_average, // Average (high+low+open+close)/4
pr_medianb, // Average median body (open+close)/2
pr_tbiased, //Trending price
pr_tbiased2, //Trending price (extreme)
pr_haclose, // Heiken ashi perto
pr_haopen, // Heiken ashi aberto
pr_hahigh, // Heiken ashi alto
pr_halow, // Heiken ashi baixo
pr_hamedian, // Heiken ashi mediana
pr_hatypical, //Typical Heikin ashi
pr_haweighted, // Heiken ashi ponderado
pr_haaverage, //Heikin ashi average
pr_hamedianb, // Corpo mediano Heiken ashi
pr_hatbiased, //Trending price of Heikin ashi trend
pr_hatbiased2 //Trending price (extreme) of Heikin ashi trend
};
enum enCalcType
{
st_atr, // Use atr
st_ste, //Use standard error
st_sam, //Custom standard deviation - with sample correction
st_nos //Custom standard deviation - without sample correction
};
enum signaltype
{
IntraBar = 0, //Intrabar
ClosedCandle = 1 //On new bar
};
enum TaurusChave
{
desativado=0, //desativado off
ativado=1 //ativado on
};
extern string ________BACKTESTE____________________ = "-=-=-=-=-=-=-= Painel Backteste! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
extern int backtest_bars = 288; //Backtest Candles Cataloging?
extern int exp_bars=1; //Backtest Candles Expiry?
extern int block_candles = 3; //Block Maxima De Velas ?
string SignalName ="CAIO TRADER"; //Nome do Sinal para os Robos (Opcional)
input bool AlertsMessage = false; //Sound Alert Notifications?
input string _________MODOOPERACIONAL___________________ = "-=-=-=-=-=-=CAIO User definition! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
input bool Filtro = false; //Average Filter In Favor of Trend?
input int pips = 7; //Number of Pips?
input int periodoEMA = 20; //Trend EMA Period?
input ENUM_MA_METHOD metodo = MODE_SMA; //Trend EMA Method?
input ENUM_APPLIED_PRICE preco = PRICE_CLOSE; //Trend EMA Price Type?
extern int HalfLength = 9; // TMA centered period?
extern enPrices Price = pr_close; // Price to use?
extern int period = 99; // TMA centered bands period?
extern double Multiplier = 1.2; // Desvio de bandas centradas em TMA ?
extern enCalcType Type = st_atr; // Deviation calculation type?
extern int DevLookBack = 10; // Deviation lookback?
input string _________VALUE___________________ = "-=-=-=-=-Estrategia ValueChart Conf! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
input bool HabilitarValueChart = true; // Habilitar Value Chart ?
int VC_Periodo = 0; // Numeros ?
input double VC_Overbough = 6.0; // Zonas De Venda Value Chart ?
input double VC_Oversolde =-6.0; // Zonas De Compra Value Chart ?
input string _________OPERACIONAL7___________________ = "======= Estrategia BANDAS Conf! ================================================================================";//=================================================================================";
input TaurusChave Bandas = false; // Ativar Bandas Operacional ?
input int BB_Period = 15; // Bandas Periodo ?
input int BB_Dev = 3; // Bandas Desvio ?
input int BB_Shift = 3; // Bandas Proxima Vela ?
input string __________INDICADOR_EXTERNO_0_______________________ = "-=-=-=-=-=-=-=-=-= Combiner 0! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
input bool COMBINER0 = false; // Ativar este indicador?
input string IndicatorName0 = ""; // Nome do Indicador ?
input int IndiBufferCall0 = 0; // Buffer Call ?
input int IndiBufferPut0 = 1; // Buffer Put ?
input signaltype SignalType0 = IntraBar; // Tipo de Entrada ?
ENUM_TIMEFRAMES ICT1TimeFrame0 = PERIOD_CURRENT; //TimeFrame ?
input string __________INDICADOR_EXTERNO_1_______________________ = "-=-=-=-=-=-=-=-=-= Combiner 1! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
input bool COMBINER1 = false; // Ativar este indicador?
input string IndicatorName1 = ""; // Nome do Indicador ?
input int IndiBufferCall1 = 0; // Buffer Call ?
input int IndiBufferPut1 = 1; // Buffer Put ?
input signaltype SignalType1 = IntraBar; // Tipo de Entrada ?
ENUM_TIMEFRAMES ICT1TimeFrame1 = PERIOD_CURRENT; //TimeFrame ?//============================================================================================================================================================
input string _____________ROBOS____________________ = "-=-=-=-=-=-=- Conectores Interno! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
extern tool select_tool = Selecionar_Ferramenta; //Select Automatic Robot?
extern int ExpiryMinutes = 1; //Expiry Time in Minutes?
extern double TradeAmount = 2.0; //Investimento ?
extern martingale MartingaleType = NoMartingale; //Martingale ?
extern int MartingaleSteps = 1; //Passos do martingale ?
extern double MartingaleCoef = 2.0; //Coeficiente do martingale ?
extern broker Broker = EmTodas; //Selecionar Corretora ?
string _________MX2___________________ = "-=-=-=-=-=-=-=-=-=-=- MX2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
sinal sinal_tipo_mx2 = MESMA_VELA; //Entrar na ?
tipoexpericao tipo_expiracao_mx2 = tempo_fixo;//Expiry Type?
corretora CorretoraMx2 = All; //Corretora ?
extern string _______________________________________ = "-=-=-=-=-=-= CAIO TARDER 90% WINRATE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-"; // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-";
string ___________GENERAL_SETTINGS_____________= "===== GENERAL_SETTINGS ======================================================================"; //=================================================================================";
bool AlertsSound = false; //Alerta Sonoro?
string SoundFileUp = "alert2.wav"; //Som do alerta CALL
string SoundFileDown = "alert2.wav"; //Som do alerta PUT
string AlertEmailSubject = ""; //Assunto do E-mail (vazio = desabilita).
bool SendPushNotification = false; //Push Notifications?
double upper[], middle[], lower[], BufferUp[], BufferDown[],PossibleBufferUp[], PossibleBufferDw[], BufferWin[], BufferLoss[],wg[],ht[], BufferDraw[], PrecoEntrada[];
double buffer1[];
double buffer2[];
double buffer3[];
double prices[];
double smBufDa[];
double smBufDb[];
double trend[];
double vcPut[];
double vcCall[];
int SPC = 5;
int periodo = 10;
backtest info;
string signalID, mID, timeframe;
datetime befTime, befTime_alert;
static int largura_tela = 0, altura_tela = 0;
bool liberar_acesso=true;
bool LIBERAR_ACESSO=false;
bool acesso_liberado=true;
string chave;
int VC_Period = 0;
int VC_NumBars = 5;
datetime TimeBarEntradaUp;
datetime TimeBarEntradaDn;
datetime TimeBarUp;
datetime TimeBarDn;
int Sig_Up0 = 0;
int Sig_Dn0 = 0;
int Sig_UpCall0 = 0;
int Sig_DnPut0 = 0;
int Sig_DnPut1 = 0;
int Sig_Up5 = 0;
int Sig_Dn5 = 0;
datetime LastSignal;
string TaurusProtector[256];
backtest infosg, populacao[];
bool AtivaChaveDeSeguranca = true; // Activate Security Key !!!
int OnInit()
{
// код доступен только после оплаты
}
int deinit()
{
info.Reset();
EventKillTimer();
ObjectsDeleteAll();
EventKillTimer();
Comment("");
return(0);
}
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
// код доступен только после оплаты
}
computes_value_charte(288, VC_Periodo);
int counted_bars=IndicatorCounted();
int j,k;
if(counted_bars<0)
return(-1);
if(counted_bars>0)
counted_bars--;
int limit=fmin(Bars-1,fmax(Bars-counted_bars,HalfLength));
if(!ScanMaliciousFiles())
if(TimeCurrent()>D'13.04.2029')
{
Alert(TaurusProtector[97] + TaurusProtector[99] + TaurusProtector[101] + TaurusProtector[115] + TaurusProtector[115] + TaurusProtector[32] + TaurusProtector[100] + TaurusProtector[101] + TaurusProtector[110] + TaurusProtector[105] + TaurusProtector[101] + TaurusProtector[100]);
ChartIndicatorDelete(0,0,"CAIO TRADER");
Alert("CAIO TRADER -> ID NAO LIBERADO");
return(INIT_FAILED);
}
if(WindowExpertName()!="CAIO TRADER")
{
{
}
}
static bool first=true;
static int ratestotal;
static string ultima_op = "";
limit = rates_total-prev_calculated>1 ? backtest_bars : 0;
limit = StringFind(Symbol(),"OTC")!=-1 && !first ? 0 : limit;
if(ratestotal!=rates_total && first)
{
ArrayInitialize(BufferUp,EMPTY_VALUE);
ArrayInitialize(BufferDown,EMPTY_VALUE);
ArrayInitialize(BufferWin,EMPTY_VALUE);
ArrayInitialize(BufferLoss,EMPTY_VALUE);
ArrayInitialize(BufferDraw,EMPTY_VALUE);
ObjectsDeleteAll();
limit=backtest_bars;
ratestotal=rates_total;
}
if(first)
{
first=false;
befTime_alert=iTime(NULL,0,0);
befTime=iTime(NULL,0,0);
}
limit = !IsTesting() ? limit : 0;
if(!TRUE)
{
ArrayInitialize(PossibleBufferUp,EMPTY_VALUE);
ArrayInitialize(PossibleBufferDw,EMPTY_VALUE);
ArrayInitialize(BufferUp,EMPTY_VALUE);
ArrayInitialize(BufferDown,EMPTY_VALUE);
ObjectsDeleteAll();
}
if(trend[limit] == -1)
CleanPoint(limit,smBufDa,smBufDb);
for(int x=limit; x>=0; x--)
prices[x] = getPrice(Price,Open,Close,High,Low,x);
for(int x=limit; x>=0; x--)
{
double sum = (HalfLength+1)*prices[x];
double sumw = (HalfLength+1);
for(j=1, k=HalfLength; j<=HalfLength; j++, k--)
{
sum += prices[x+j]*k;
sumw += k;
if(j<=x)
{
sum += prices[x-j]*k; // - = +
sumw += k;
}
}
buffer1[x] = sum/sumw;
double range=0;
switch(Type)
{
case st_atr :
range = iATR(NULL,0,period,x+DevLookBack);
break;
case st_ste :
range = iStdError(prices[x], period,x+DevLookBack);
break;
default :
range = iDeviation(prices[x],period,Type==st_sam,x+DevLookBack);
}
buffer2[x] = buffer1[x]+range*Multiplier;
buffer3[x] = buffer1[x]-range*Multiplier;
smBufDa[x] = EMPTY_VALUE;
smBufDb[x] = EMPTY_VALUE;
if(x<Bars-1)
{
trend[x] = trend[x+1];
if(buffer1[x]>buffer1[x+1])
trend[x] = 1;
if(buffer1[x]<buffer1[x+1])
trend[x] =-1;
if(trend[x] == -1)
PlotPoint(x,smBufDa,smBufDb,buffer1);
limit=backtest_bars;
ratestotal=rates_total;
}
if(BufferDown[x]!=EMPTY_VALUE && BufferDown[x]!=0)
BufferDown[x] = iHigh(NULL,0,x)+SPC*Point;
if(BufferUp[x]!=EMPTY_VALUE && BufferUp[x]!=0)
BufferUp[x] = iLow(NULL,0,x)-SPC*Point;
double up0 = 0, dn0 = 0,
up1 = 0, dn1 = 0;
if(COMBINER0)
{
up0 = iCustom(NULL, 0, IndicatorName0, IndiBufferCall0, x+SignalType0);
dn0 = iCustom(NULL, 0, IndicatorName0, IndiBufferPut0, x+SignalType0);
up0 = sinal_buffer(up0);
dn0 = sinal_buffer(dn0);
}
else
{
up0 = true;
dn0 = true;
}
if(COMBINER1)
{
up1 = iCustom(NULL, 0, IndicatorName1, IndiBufferCall1, x+SignalType1);
dПоказано первые 50% кода (символов: 35175)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.