среда, 30 января 2008 г.
Интернет магазин
Благодаря комплексному подходу наш интернет магазин завоевал популярность среди покупателей – от бизнесмена до студента. Мы постоянно проводим мониторинг цен рынка за счет чего можем, предложить оптимальные условия покупки.
Содержание
Кольца
Мобильные телефоны
VIP-сувениры
Компьютеры и периферия
Электроника
Кольца
Мобильные телефоны
VIP-сувениры
Компьютеры и периферия
Электроника
вторник, 29 января 2008 г.
PowerShell, инструкции програмисту
Microsoft Windows PowerShell — это бесплатная оболочка командной строки и язык написания сценариев для операционных систем Windows. На данный момент доступна полная версия с подробным справочным руководством на русском языке. Отличительной чертой новой командной оболочки является ее ориентированность на среду Microsoft .NET Framework.
Установочный пакет локализованной версии Windows PowerShell 1.0 для ОС Windows XP
Скачать
Установочный пакет для Windows Vista
Скачать
Начнем, значит что из себя представляет PowerShell
Это попытка Microsoft создать достойный язык написания сценариев для Windows, который не уступал бы таким языкам сценариев, какие используются в Linux и Unix системах.
Очевидно, что PowerShell должен поддерживать самые модные и современные технологии Microsoft, такие как .Net Framework, и конечно же Windows Server 2008
Естественно они не забыли о домашних меньших братьях как Windows XP, его младшенькая сестричка Vista.
Теперь суть:
1. Подержать полностью все стандартные методы, которые возможны в консоле (командной строке)
2. Возможность программирования используя .Net Framework
3. И написать максимально простой язык, который будет понятен, не только программистам, а еще и системным администраторам, он должен включать в себя максимальную гибкость и быстроту работы с этим языком.
Основные структуры языка и синтаксис:
Cmdlet - называются команды PowerShell, которые можно использовать у них есть уже готовая функциональность, это функции, которые можно вызвать и исполнить.
Cmdlet можно так же написать и самому, используя шаблон Cmdlet и откомпилировав его в assambly и зарегистрировать эту assambly в GAC, и все ваш Cmdlet готов к использованию.
Синтаксис языка:
Для создание комментариев используется - #
#$str="Hello world"
Оглавление переменных
Для создания переменной используется $, хотя его можно и не использовать, но для удобства желательно это делать
Вот пример:
$str="Hello world"
Массивы, синтаксис очень похож на синтаксис C
$strArray="Hi, ", "how ", "are, ", "you"
$strArray[1]
И выводиться how
Логические сравнение: больше, меньше или равно
-eq Равно
-ne Не равно
-gt –ge Больше или больше и равно
-lt –le Меньше или меньше и равно
Логические оператор - Если
if (условие)
{
.....
}
elseif (условние)
{
.....
}
else
{
.....
}
Циклы, аналогичны C
while (1)
{
.....
}
for ($i = 0; $i –lt 5; $i++)
{
.....
}
foreach ($z in $i)
{
.....
}
Типы:
Четки типы здесь можно не использовать, хотя при желаннее все возможно
[string]$st = "Hi"
[int]$intType = 1
И уже при не совпадении типов, вылетает ошибка
Функции и процедуры:
Так же можно использовать отдельные функции и процедуры с параметрами и без, с возвратом значения и без.
без параметров и возврата значения
function MyFunction
{
.....
}
с параметрами и возвратом значения
function MyFunction($firstParam, [string]$secondOnlyStringParam)
{
$ret_value="Hello"
.....
return $ret_value
}
Это все может прочитать в руководстве, которое постановляет с дистрибутивом вместе с PowerShell, в документе Quick Reference
Аналогии, программирование с использованием .Net Framework:
Работы с COM-обьектами и .Net аssembly вы можите без проблем создавать обьекты классов либо использовать статические методы
Вот простенькие пример для работы с COM-обьектом Internet Explorer
$ie = New-Object -ComObject InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate("http://jthotblog.blogspot.com/")
$ie.Quit()
Remove-Variable ie
Для работы с классами .Net сборок все аналогично
Использование статической функции
[System.Console]::WriteLine("Hello")
Создание нового обьекта класса и использование его метода
$sqlcmd = New-Object -TypeName System.Data.SqlClient.SqlCommand
$sqlcmd.CommandText="SELECT * FROM TABLE1"
Могут возникнуть проблемы с использованием стандартных сборок и своих так же, по этому их нужно подгрузить перед использованием
Для стандартных
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Build.Framework")
Для своих
[Reflection.Assembly]::LoadFile("c:\temp\MyAssembly.dll")
Запуск из .bat файла
Стандартный файл для хранения PowerShell скриптов это .ps1 файл
Для запуска файла с командной строки, можно указать полный путь к файлу либо запускать с текущей папки, там где лежит .bat файл.
powershell c:\myScript.ps1
или для текущей папки
powershell .\myScript.ps1
Но могут возникнуть проблемы с загрузкой таким методом, это проблема называться отстуствие цифровой подписи, для этого перед строкой в .bat файле, нужно написать еще 1 строку, которая разрешала бы запускать скрипты без цифровых подписей, либо если у вас есть сертификат, то вы можете подписать скрипт.
Для запуска скрипта без подписи можно использовать, вот такой Cmdlet
powershell Set-ExecutionPolicy RemoteSigned
Если вы собираетесь долго и много программировать на PowerShell, вы конечно можите использовать блокнот, но я бы вам советовал использовать бесплатную тулзовину, для написания скриптов и удобного управления ими, в этой тулзовене есть редактор скриптов, а в нем есть IntelliSense и в нем можно посмотреть полный список стандартных Cmdlet. А так же можно с помощью этой тулзовины можно удобно администрировать с используя PowerShell, это тулзовина называться PowerGUI
PowerGUI
понедельник, 28 января 2008 г.
Разработка сайтов
1. Разработка концепции сайта
2. Создание кликмоделей, что позволяет клиенту, на начале разработки видеть конечный результат
3. Непосредственная разработка
4. Покупка доменного имени и хостинга
5. Размещение сайта на сервере
6. Раскрутка (SEO)
7. Умеренная цена
Основные технологии, которые используются:
Microsoft ASP.NET 2
Microsoft SQL Server
CSS
JavaScript
DotNetNuke - Бесплатная CMS, с поддержкой множества функций
Контактная информация:
E-mail: jthotbox@gmail.com
Телефон: +380-67-718-51-58
воскресенье, 27 января 2008 г.
Открытые коды торговых советника для форекс - KingMinute
Разрабатывал я их давно, дают даже не плохой результат торговли. Они прошли обширное тестирование трейдерами.
Вероятность прибыльных сделок от 60%-80%
Но все же они иногда лажают, хотя если максимально хорошо настроить, есть вероятность, что будут давать прибыль.
Вот исходники кому интересно
Самая моя большая гордость это KingMinute
Действительно не плох, хотя не идеален
Советник KingMinute для MT4
Основные положение:
2006
Советник KingMinute был разработан для валютной пары EURUSD, для временных интервалов M1(рекомендовано) и M5 c встроенной функцией капитализации.
Есть функция отсылка e-mail, при запуски, выключении и постановки позиции
Что бы подключить эту функцию настройте работу MT4 с почтой.
Сервис->Настройки->вкладка Почта
Валюты которые возможное подходят для торговли этим советником, но не тестировались – GBPUSD, USDCHF, USDJPY
Свойства советника:
Lots – Начальный размер лота
TakeProfit – уровень выхода из рынка при прибили
StopLoss – уровень выхода из рынка при убытке
TrailingStop – Переход в без убыток, и заработок дополнительных пунктов
Podushka – Минимальное количество свободной маржи для увеличения количества лотов
UseH1Parabolic – Учитывание, часового параболика
ID_MagicNum – Индификатор, магическое число, нужно для того, если у вас в одном MT4, запущены несколько советников, они не будут путались где чей ордер.
KapitalFunc – Функция капитализации, автоматическое наращивание прибыли. Если
KatitalFunc равен false, тогда все лоты будут равны параметру Lots
Для корректной работы советников необходимо:
1. Скопировать файлы советников в папку Program files\MT4\experts и файл индикаторов в папку Program files\MT4\experts\indicators
2. К открывшемуся графику присоединить советник
3. И разрешить торговать советнику, нажав кнопку Разрешить советники
4. Все советник готов и уже торгует (мордочка должна улыбаться)
//| KingMinute.mq4 |
//| jthotbox@gmail.com |
//| |
//+-----------------------------------------------------------------------------------+
#property copyright "jthotbox@gmail.com © 2006" // +
#property link "http://jthotblog.blogspot.com/" // +
//------------------------------------------------------------------------------------+
// Использовать ли капитализацию, если "нет",-используем Lots
extern double Lots = 0.1; //
extern int TakeProfit = 20; // recomended no more than 20
extern int StopLoss = 45; // do not use s/l
extern int TrailingStop = 10;
extern double Podushka = 500;
//extern int CriticalMinus= 20;
extern bool UseH1Parabolic=true;
double slippage = 3; // Could be higher with some brokers
string nameEA = "KingMinute"; // To "easy read" which EA place an specific order
int Korelation = 10;
extern int ID_MagicNum=99919;
extern bool KapitalFunc = true;
double macdHistCurrent, macdHistPrevious, macdSignalCurrent, macdSignalPrevious;
double stochHistCurrent, stochHistPrevious, stochSignalCurrent, stochSignalPrevious;
double sarCurrent, sarPrevious, momCurrent, momPrevious,MA, MAprevious,sarCurrentH, sarPreviousH;
double realTP, realSL;
bool isBuying = false, isSelling = false, isClosing = false;
int cnt, ticket;
double DecreaseFactor = 3;
bool searchID=false;
int ts=10;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
SendMail("KingMinute","Alert: Work "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
SendMail("KingMinute","Alert: Exit "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
return(0);
}
double LotsOptimized()
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
//---- select lot size
lot=NormalizeDouble(AccountFreeMargin()/(Podushka*Korelation),1);
//---- calcuulate number of losses orders without a break
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
//---- return lot size
if(lot<0.1) lot=0.1;
if (KapitalFunc==false) lot=Lots;
return(lot);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
double lot;
// Check for invalid bars and takeprofit
if(Bars < 360) {
Print("Not enough bars for KingMinute");
return(0);
}
calculateIndicators(); // Calculate indicators' value
// Control open trades
int totalOrders = OrdersTotal();
int numPos = 0;
for(cnt=0; cnt
if(OrderSymbol() == Symbol() && OrderType() <= OP_SELL && OrderMagicNumber() == ID_MagicNum) { // only look for this symbol, and only orders from this EA
numPos++;
if(OrderType() == OP_BUY) { // Check for close signal for bought trade
if(isSelling || isClosing) {
OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Violet); // Close bought trade
Print("Closing BUY order");
}
// if (CriticalMinus*Point<=OrderOpenPrice()-Ask) TrailingStop=MathRound(TrailingStop/2);
if(TrailingStop > 0) { // Check trailing stop
if(Bid-OrderOpenPrice() > TrailingStop*Point) {
if(OrderStopLoss() < (Bid - TrailingStop*Point)) {
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Blue);
Print("Modifying BUY order");
}
}
}
} else { // Check sold trade for close signal
if(isBuying || isClosing) {
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Violet);
Print("Closing SELL order");
}
// if (CriticalMinus*Point<=Bid-OrderOpenPrice()) TrailingStop=MathRound(TrailingStop/2);
if(TrailingStop > 0) { // Control trailing stop
if(OrderOpenPrice() - Ask > TrailingStop*Point) {
if(OrderStopLoss() == 0 || OrderStopLoss() > Ask + TrailingStop*Point) {
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Red);
Print("Modifying SELL order");
}
}
}
}
}
}
///-------------------------------------------------------
////////////////////Устанавливаем размер лота по состоянию депозита/////
///-------------------------------------------------------
// If there is no open trade for this pair and this EA
if(numPos < 1) {
if(AccountFreeMargin() < 1000*Lots) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
HideTestIndicators(true);
if (TimeYear(CurTime())<=2006 && TimeMonth(CurTime())<=8&& TimeDay(CurTime())<=22){ //kvota po date
//if (AccountNumber()==44448){
totalOrders = OrdersTotal();
if(totalOrders==0)
{
MakePosition();
}
else
{
for(cnt=0; cnt
OrderSelect(cnt, SELECT_BY_POS);
if(OrderMagicNumber()==ID_MagicNum)
searchID=true;
}
if (searchID==false){
MakePosition();
}
searchID=false;
}
}//kvota po date
//}//po accounty
}
return(0);
}
void calculateIndicators() { // Calculate indicators' value
macdHistCurrent = iMACD(NULL,0,12,26,9,PRICE_OPEN,MODE_MAIN,0);
macdHistPrevious = iMACD(NULL,0,12,26,9,PRICE_OPEN,MODE_MAIN,1);
macdSignalCurrent = iMACD(NULL,0,12,26,9,PRICE_OPEN,MODE_SIGNAL,0);
macdSignalPrevious = iMACD(NULL,0,12,26,9,PRICE_OPEN,MODE_SIGNAL,1);
stochHistCurrent = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0);
stochHistPrevious = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1);
stochSignalCurrent = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);
stochSignalPrevious = iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);
sarCurrent = iSAR(NULL,0,0.02,0.2,0); // Parabolic Sar Current
sarPrevious = iSAR(NULL,0,0.02,0.2,1); // Parabolic Sar Previuos
momCurrent = iMomentum(NULL,0,14,PRICE_OPEN,0); // Momentum Current
momPrevious = iMomentum(NULL,0,14,PRICE_OPEN,1); // Momentum Previous
sarCurrentH = iSAR(NULL,60,0.02,0.2,0);
sarPreviousH = iSAR(NULL,60,0.02,0.2,1);
// Check for BUY, SELL, and CLOSE signal
if (UseH1Parabolic){
isBuying = (sarCurrent<=High[0] && sarPrevious>sarCurrent&& sarPreviousH>sarCurrentH && momCurrent<100 && macdHistCurrent
isClosing = false;
}else{
isBuying = (sarCurrent<=High[0] && sarPrevious>sarCurrent&& momCurrent<100 && macdHistCurrent
isClosing = false;
}
}
void MakePosition(){
TrailingStop=ts;
if(isBuying && !isSelling && !isClosing) { // Check for BUY entry signal
if(StopLoss > 0)
realSL = Ask - StopLoss * Point;
if(TakeProfit > 0)
realTP = Ask + TakeProfit * Point;
ticket = OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,slippage,realSL,realTP,nameEA+" - Magic: "+ID_MagicNum+" ",ID_MagicNum,0,Green); // Buy
SendMail("KingMinute","Alert: Opened long position "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
Print("KingMinute - Opened long position");
if(ticket < 0) {
Print("OrderSend (" + nameEA + ") failed with error #" + GetLastError());
SendMail("KingMinute","OrderSend (" + nameEA + ") failed with error #" + GetLastError()+"@"+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
} else Print("Trading: Buying");
}
if(isSelling && !isBuying && !isClosing) { // Check for SELL entry signal
if(StopLoss > 0)
realSL = Bid + StopLoss * Point;
if(TakeProfit > 0)
realTP = Bid - TakeProfit * Point;
ticket = OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,slippage,realSL,realTP,nameEA+" - Magic: "+ID_MagicNum+" ",ID_MagicNum,0,Red); // Sell
SendMail("KingMinute","Alert: Opened short position "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
Print("KingMinute - Opened short position");
if(ticket < 0) {
Print("OrderSend (" + nameEA + ") failed with error #" + GetLastError());
SendMail("KingMinute","OrderSend (" + nameEA + ") failed with error #" + GetLastError()+"@"+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
} else Print("Trading: Selling");
}
}
//+------------------------------------------------------------------+
//| KingMinuteOrig.mq4 |
//| jthotbox@gmail.com |
//| http://jthotblog.blogspot.com/ |
//+-----------------------------------------------------------------------------------+
#property copyright "jthotbox@gmail.com © 2006" // +
#property link "http://jthotblog.blogspot.com/" // +
//------------------------------------------------------------------------------------+
// Использовать ли капитализацию, если "нет",-используем Lots
extern double Lots = 0.1; //
extern int TakeProfit = 20; // recomended no more than 20
extern int StopLoss = 45; // do not use s/l
extern int TrailingStop = 10;
extern double Podushka = 300;
//extern int CriticalMinus= 20;
//extern bool UseH1Parabolic=true;
double slippage = 3; // Could be higher with some brokers
string nameEA = "KingMinuteOriginal"; // To "easy read" which EA place an specific order
int Korelation = 10;
extern int ID_MagicNum=99919;
extern bool KapitalFunc = true;
double macdHistCurrent, macdHistPrevious, macdSignalCurrent, macdSignalPrevious;
double stochHistCurrent, stochHistPrevious, stochSignalCurrent, stochSignalPrevious;
double sarCurrent, sarPrevious, momCurrent, momPrevious,sarCurrentH, sarPreviousH;
double macdHistCurrentM5, macdHistPreviousM5, macdSignalCurrentM5, macdSignalPreviousM5;
double stochHistCurrentM5, stochHistPreviousM5, stochSignalCurrentM5, stochSignalPreviousM5;
double sarCurrentM5, sarPreviousM5, momCurrentM5, momPreviousM5;
double realTP, realSL;
bool isBuying1 = false, isSelling1 = false;
bool isBuying5 = false, isSelling5 = false;
bool isClosing = false;
int cnt, ticket;
double DecreaseFactor = 3;
bool searchID=false;
int ts=0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init() {
SendMail(nameEA,"Alert: Work "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit() {
SendMail(nameEA,"Alert: Exit "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
return(0);
}
double LotsOptimized()
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
//---- select lot size
lot=NormalizeDouble(AccountFreeMargin()/(Podushka*Korelation),1);
//---- calcuulate number of losses orders without a break
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
//---- return lot size
if(lot<0.1) lot=0.1;
if (KapitalFunc==false) lot=Lots;
return(lot);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
double lot;
// Check for invalid bars and takeprofit
if(Bars < 360) {
Print("Not enough bars for KingMinute");
return(0);
}
calculateIndicators(); // Calculate indicators' value
// Control open trades
int totalOrders = OrdersTotal();
int numPos = 0;
for(cnt=0; cnt
if(OrderSymbol() == Symbol() && OrderType() <= OP_SELL && OrderMagicNumber() == ID_MagicNum) { // only look for this symbol, and only orders from this EA
numPos++;
if(OrderType() == OP_BUY) { // Check for close signal for bought trade
if(isSelling1||isSelling5|| isClosing)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
Print("Closing BUY order");
}
// if (CriticalMinus*Point<=OrderOpenPrice()-Ask) TrailingStop=MathRound(TrailingStop/2);
if(TrailingStop > 0) { // Check trailing stop
if(Bid-OrderOpenPrice() > TrailingStop*Point) {
if(OrderStopLoss() < (Bid - TrailingStop*Point)) {
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0,Blue);
Print("Modifying BUY order");
}
}
}
} else { // Check sold trade for close signal
if(isBuying1||isBuying5|| isClosing) {
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
Print("Closing SELL order");
}
// if (CriticalMinus*Point<=Bid-OrderOpenPrice()) TrailingStop=MathRound(TrailingStop/2);
if(TrailingStop > 0) { // Control trailing stop
if(OrderOpenPrice() - Ask > TrailingStop*Point) {
if(OrderStopLoss() == 0 || OrderStopLoss() > Ask + TrailingStop*Point) {
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Red);
Print("Modifying SELL order");
}
}
}
}
}
}
///-------------------------------------------------------
////////////////////Устанавливаем размер лота по состоянию депозита/////
///-------------------------------------------------------
// If there is no open trade for this pair and this EA
if(numPos < 1) {
if(AccountFreeMargin() < 1000*Lots) {
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
HideTestIndicators(true);
//if (TimeYear(CurTime())<=2006 && TimeMonth(CurTime())<=8&& TimeDay(CurTime())<=25){ //kvota po date
//if (AccountNumber()==44448){
//if (TimeDay(CurTime())<=19){
totalOrders = OrdersTotal();
if(totalOrders==0)
{
MakePosition();
ts=0;
}
else
{
for(cnt=0; cnt
OrderSelect(cnt, SELECT_BY_POS);
if(OrderMagicNumber()==ID_MagicNum)
searchID=true;
}
if (searchID==false){
MakePosition();
ts=0;
}
searchID=false;
}
}
// }//kvota po date
//}//po accounty
//}
return(0);
}
void calculateIndicators() { // Calculate indicators' value
macdHistCurrent = iMACD(NULL,1,12,26,9,PRICE_OPEN,MODE_MAIN,0);
macdHistPrevious = iMACD(NULL,1,12,26,9,PRICE_OPEN,MODE_MAIN,1);
macdSignalCurrent = iMACD(NULL,1,12,26,9,PRICE_OPEN,MODE_SIGNAL,0);
macdSignalPrevious = iMACD(NULL,1,12,26,9,PRICE_OPEN,MODE_SIGNAL,1);
stochHistCurrent = iStochastic(NULL,1,5,3,3,MODE_SMA,0,MODE_MAIN,0);
stochHistPrevious = iStochastic(NULL,1,5,3,3,MODE_SMA,0,MODE_MAIN,1);
stochSignalCurrent = iStochastic(NULL,1,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);
stochSignalPrevious = iStochastic(NULL,1,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);
sarCurrent = iSAR(NULL,1,0.02,0.2,0); // Parabolic Sar Current
sarPrevious = iSAR(NULL,1,0.02,0.2,1); // Parabolic Sar Previuos
momCurrent = iMomentum(NULL,1,14,PRICE_OPEN,0); // Momentum Current
momPrevious = iMomentum(NULL,1,14,PRICE_OPEN,1); // Momentum Previous
sarCurrentH = iSAR(NULL,60,0.02,0.2,0);
sarPreviousH = iSAR(NULL,60,0.02,0.2,1);
macdHistCurrentM5 = iMACD(NULL,5,12,26,9,PRICE_OPEN,MODE_MAIN,0);
macdHistPreviousM5 = iMACD(NULL,5,12,26,9,PRICE_OPEN,MODE_MAIN,1);
macdSignalCurrentM5 = iMACD(NULL,5,12,26,9,PRICE_OPEN,MODE_SIGNAL,0);
macdSignalPreviousM5 = iMACD(NULL,5,12,26,9,PRICE_OPEN,MODE_SIGNAL,1);
stochHistCurrentM5 = iStochastic(NULL,5,5,3,3,MODE_SMA,0,MODE_MAIN,0);
stochHistPreviousM5 = iStochastic(NULL,5,5,3,3,MODE_SMA,0,MODE_MAIN,1);
stochSignalCurrentM5 = iStochastic(NULL,5,5,3,3,MODE_SMA,0,MODE_SIGNAL,0);
stochSignalPreviousM5 = iStochastic(NULL,5,5,3,3,MODE_SMA,0,MODE_SIGNAL,1);
sarCurrentM5 = iSAR(NULL,5,0.02,0.2,0); // Parabolic Sar Current
sarPreviousM5 = iSAR(NULL,5,0.02,0.2,1); // Parabolic Sar Previuos
momCurrentM5 = iMomentum(NULL,5,14,PRICE_OPEN,0); // Momentum Current
momPreviousM5 = iMomentum(NULL,5,14,PRICE_OPEN,1); // Momentum Previous
// Check for BUY, SELL, and CLOSE signal
isBuying1 = (sarCurrent<=High[0] && sarPrevious>sarCurrent&& sarPreviousH>sarCurrentH && momCurrent<100 && macdHistCurrent
isBuying5 = (sarCurrentM5<=iHigh(NULL,5,0) && sarPreviousM5>sarCurrentM5&&sarPreviousH>sarCurrentH&& momCurrentM5<100 && macdHistCurrentM5
isClosing = false;
}
void MakePosition(){
calculateIndicators();
if((isBuying1 && !isSelling1) || (isBuying5 && !isSelling5) && !isClosing) { // Check for BUY entry signal
if(isBuying1)ts=1; if(isBuying5) ts=5;
if(StopLoss > 0)
realSL = Ask - StopLoss * Point;
if(TakeProfit > 0)
realTP = Ask + TakeProfit * Point;
ticket = OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,slippage,realSL,realTP,nameEA+" - Magic: "+ID_MagicNum+" ",ID_MagicNum,0,Green); // Buy
SendMail(nameEA,"Alert: Opened long position "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
Print(nameEA+" - Opened long position");
if(ticket < 0) {
Print("OrderSend (" + nameEA + ") failed with error #" + GetLastError());
SendMail(nameEA,"OrderSend (" + nameEA + ") failed with error #" + GetLastError()+"@"+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
} else Print("Trading: Buying");
}
if((isSelling1 && !isBuying1) || (isSelling5 && !isBuying5) && !isClosing) { // Check for SELL entry signal
if(isSelling1)ts=1; if(isSelling5) ts=5;
if(StopLoss > 0)
realSL = Bid + StopLoss * Point;
if(TakeProfit > 0)
realTP = Bid - TakeProfit * Point;
ticket = OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,slippage,realSL,realTP,nameEA+" - Magic: "+ID_MagicNum+" ",ID_MagicNum,0,Red); // Sell
SendMail(nameEA,"Alert: Opened short position "+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
Print(nameEA+" - Opened short position");
if(ticket < 0) {
Print("OrderSend (" + nameEA + ") failed with error #" + GetLastError());
SendMail(nameEA,"OrderSend (" + nameEA + ") failed with error #" + GetLastError()+"@"+TimeDay(CurTime())+"/"+TimeMonth(CurTime())+" ID_MagicNum - "+ID_MagicNum);
} else Print("Trading: Selling");
}
}
//+------------------------------------------------------------------+
Если у кого то возникли вопросы по поводу использования советников - пишите комментарии.
Если у кого то возникло желание, что бы я для вас разработал программу советника под вашу торговую стратегию, пишите мне на email: jthotbox@gmail.com
воскресенье, 20 января 2008 г.
Реалиальность бытия и любви, мой взгляд
Хочу рассказать свою позицию по поводу отношений и любви в частности!
Сначала хочу напомнить закон Дарвина и природы: «выживают сильнейшие!»
Что я этим хотел сказать, а то что красивая здоровая девушка, будет искать себе красивого здорового парня, каждый красивый и здоровый парень будет искать себе такую же девушка, для продления своего рода, такого же здорового и красивого, как и их родители.
Но у нас остались не красивые и не здоровые, что же им делать в этом мире красивых людей. Все просто – они тоже хотят здорового и красивого партнера, но тут получается не стыковка, красивый и здоровый партнер не хочет не красивую и не здоровую вторую половинку.
Я не хочу совсем исключить вероятность, она есть, когда у людей возникает любов, с детского садика или при каком то трагическом событие и возникает чувство благодарности и на базе чувства благодарности возникает любовь.
Это было не большое отступление, хочу вернуться снова к некрасивым.
Что же делать некрасивой девушке или парню?
Как всем известно уже давно есть ответ, на этот вопрос.
Можно просто найти себе подобную половинку и влюбиться в нее до безумия, жениться на ней и родить кучу прекрасных детей.
Но не все не красивые хотят, быть с такими же не красивыми вторыми половинками.
По этому на фоне общего своего жалкого вида, они пытаются выделиться другими своими качествами и возможностями, что бы просто заинтересовать противоположный пол.
Если смотреть правде в глаза, то все подтвердят поговорку: «Встречают по одежке, провожают по уму».
Что я хотел этим сказать, а все просто, после того как вы заинтересовать противоположный пол и какое то время с ним или с ней в близких отношения, у человеческого мозга есть феноменальная функция – адаптивная, т.е. через некоторое время недостатки одного из них перестают быть видимыми, и ты уже не ощущаешь так резко ее или его физические или внешние недостатки.
Значит вопрос состоит в заинтересовании противоположного пола.
Сейчас речь пойдет о девушках, для начала немного статистики и фактов.
59 процентов женщин выходит за муж из-за денег.
Часть читателей это просто возмутит, а что делать, это правда.
Плохая экономическая ситуация в стране, никакой преспективы или просто все общая тупость, дает о себе знать.
Вернемся обратно к теме
Если девушка красивая и умная, она понимает что ей нужно, либо работать и встречаться красавчиком, либо найти красавчика – миллионера на белом мерседе и можно не работать и заниматься только воспитанием детей.
Ну конечно же все происходит как в природе, т.е. по пути меньшого сопротивления, т.е. найти красавчика – миллионера.
Но тут в возрасте к 25 годам наступает прозрение, что миллионеры ей попадались и красавчики ей попадались, а вот в комбинации одного и другого труднее или вобще нет. Потому что их очень мало или их давно уже расхватали, другие болие шустрые или действительно достойные девушки.
Так как на девушку нашло прозрение, она понимает что работать всю жизнь и не иметь возможности выехать в Египет на собственном вертолете, когда ей захочется, ее совсем не привлекает, и она просто выбирает материальную сторону.
Короче говоря находить себе миллионера, и начинает с ним встречаться. Бывает очень часто, что любов. Ведь бывает! :)
Она конечно не могла даже ожидать, что такой уродец может быть просто идеальным мужчиной о котором она всегда мечтала, и любов вот она!
Но есть и другая категория, если парень осознает, то что эта красотка с ним из-за денег, он рано или позно ее выбросит, или девушка окажется просто стервой и бросит его забрав, половину его денег.
Ну хватит о девушках, тепер о парнях.
Парни есть тоже разные хорошие и плохи, но это не главное, а главное, что есть красавчики и не красавчики.
Откуда бедная девушка, может знать что этот урод может быть идеальным мужчиной для нее, ведь у нее есть выбор найти себе парня-милашку, он же наверняка будет хорошим, у него на лице это написано, он будет ее любить и за ней убиваться, не смотря на то что, кучи других девушек перед ним стелятся.
Ну ведь девушка верит, что он хорош и это главное.
Рассмотрим ситуацию с уродом, у урода было мало девушек или их вобще не было. Это значит, что он либо не знает, что нужно делать с девушкой и как за ней ухаживать, либо будет мыслить трезво осознавая то что, у него и так их немного было и будет стараться беречь ее, хотя он может оказаться идиотом либо придурком и не делать этого.
Это был мой взгляд на просто отношения, не учитывая материальный аспект.
А теперь о деньгах, может мне кто обьяснить как может быть такое, что молодой красивый парень будет «любить» тетку или бабку которая ему, в лучшем случае, в матери годиться, это не природно, но тут можно провести аналогии со сказанным выше по тексту про девушек и миллионера, суть таже.
Вывод отсюда, если человеки не схожи по внешности и у них не было в жизни каких то катастрофических событий или они не знакомы с детства, все будет происходить по одному и тому же сюжету, что я описал выше.
Не хочу ни у кого вызвать ярости, просто это реальность, такой какой ее вижу, конечно на мое восприятие повлияла моя внешность, к красавчика или миллионерам меня нельзя приписать, но все же, я есть какой я есть!
Всем спасибо, жду критики, очень интересно какие у вас есть взгляды на любов и реальность!
Особая благодарность моей бывшой девушке, которая показала мне, что такое одиночество и что такое быть не мертвым и не живым, если бы не она, я бы не заметил этого всего.
Посвящено моему хорошему другу.
Я надеюсь ты сделаешь правильные выводы, прочитав эту статью!
P.S. Если у кого то возникли какие то сомнения о идее этой статьи, то найдите статейку про переписку американки с финансистами из вал стрит :)