Избранное трейдера Aliko
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Timers;
using System.Threading;
using XlDde;namespace ConsoleApplication2
{
class Program
{
const string service = «myDDE»;
const string candleSPOT = «SPOT»;
static void Main(string[] args)
{
using (XlDdeServer server = new XlDdeServer(service))
{
server.AddChannel(candleSPOT, new SPOTChannel());
server.Register();Console.WriteLine(«DDE server ready. Press Enter to exit.\n\n»);
Console.ReadLine();
}
}
}
// **********************************************************************
// * Классы DDE каналов с обработчиками данных *
// **********************************************************************
class SPOTChannel: XlDdeChannel
{
//static int time2 = 1000;
static int em = 7;
static int m = 1200;
static int[] NM = new int[em];
static int NMM = 0;
static int LastMinute = 0;
static int mm = 1638400;
static double[] Price_trade = new double[mm];
string[] EM_trade = new string[mm];
static int[] Time_trade_I = new int[mm];
static int[] Volume_trade = new int[mm];
static int[,] Time = new int[em,m];
static double[,] O = new double[em,m];
static double[,] H = new double[em,m];
static double[,] L = new double[em,m];
static double[,] C = new double[em,m];
static double[,] V = new double[em,m];
protected override void ProcessTable(XlTable xt)
{
//int time3 = 1000;
int[] nach = new int[em];
int nach1 = 0;
int i = 0;
int j = 0;
int s = 0;
int curHour = 0;
int curMin = 0;
int curDay = 0;
int curSec = 0;
int curDay_1 = 0;
string name;
string[] bf;
string[] EM = new string[em];
DateTime moment;
string[] Time_trade = new string[mm];
Перевод с http://www.tradesignalmachine.com/blog/cointegration-for-pairs-trading-part-1
-------------
Это пост появился в результате моего собственного опыта и разочарования за последние пару месяцев, пока я разрабатывал парную торговую стратегию. После исследований я понял, что не следует искать не «коррелированные» пары инструментов для торговли, а пары, которые «коинтегрированы».
Основная проблема, которую я испытывал, состояла в том, что математика, которая требуется для описания и измерения коинтеграции, была достаточно сложной. Каждая статья, которую я прочитал, была наполнена словами и понятиями, с которыми я не был знаком, поэтому я был вынужден прочитать их очень много, прежде чем я наконец-то почувствовал, что понял. В конце концов, после многих бессонных ночей, я, наконец, смог поставить свое приобретенное знание на службу алгоритмам моей торговой системы. Уверен, что я не единственный, кто был этим разочарован.
После того, как, наконец, получил хорошее представление о предмете, я решил написать статью, которой мне не хватало в то время. Она пытается ответить на все вопросы, которые я задавал тогда, в одном месте. Хотя я надеюсь, что я объяснил все необходимые понятия и принципы, вы все равно должны быть понимать математику на уровне здравого смысла! Я надеюсь, вы найдете это полезным.
Итак, коррелированные инструменты имеют тенденцию двигаться подобным образом. Если один движется вверх в течение дня, то другой, вероятно, тоже пройдет день вверх (и наоборот.) Тем не менее, с течением времени, соотношение цен (или спрэд) между этими двумя инструментами может значительно отличаться. Смотрите график AUDUSD против NZDUSD ниже. Ясно, что они коррелируют, но обратите внимание, как конечное соотношение между ценами составляет почти 5%, т.е. цены сильно отличаются в конце периода наблюдения по сравнению с началом.