Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
ryan_jones_sm_v1
//+------------------------------------------------------------------+
//| ryan_jones_sm.mq4 |
//| Copyright © 2007, Sergan |
//| |
//+------------------------------------------------------------------+
// Âåðñèÿ 1.0 03.11.07
// ïðàâèëà:
/* Ìåòîä, êîòîðûé äàåò ýòè öèôðû, óäèâèòåëüíî ïðîñò. Ïðàâèëà òàêîâû:
Ïîêóïêà:
1. Ñðåäíåå ïî çàêðûòèþ, ðàññ÷èòàííîå ïî "X"- äíåâíîìó ïåðèîäó, äîëæíî áûòü âûøå, ÷åì àíàëîãè÷íîå ñðåäíåå "Y" äíåé òîìó íàçàä.
2. Öåíà ïðè çàêðûòèè äîëæíà áûòü ìåíüøå, ÷åì àíàëîãè÷íàÿ öåíà "Y" äíåé òîìó íàçàä.
3. Öåíà ïðè çàêðûòèè äîëæíà áûòü âûøå, ÷åì öåíà íà çàêðûòèå "Y+X" äíåé òîìó íàçàä.
Åñëè ñîáëþäåíû âñå òðè óñëîâèÿ, òî íóæíî îñóùåñòâëÿòü ïîêóïêó ïðè îòêðûòèè íà ñëåäóþùèé äåíü
Ïðîäàæà:
1. Ñðåäíåå ïî çàêðûòèþ, ðàññ÷èòàííîå ïî "X"- äíåâíîìó ïåðèîäó äîëæíî áûòü ìåíüøå, ÷åì àíàëîãè÷íîå ñðåäíåå "Y" äíåé òîìó íàçàä.
2. Öåíà ïðè çàêðûòèè äîëæíà áûòü áîëüøå, ÷åì àíàëîãè÷íàÿ öåíà "Ó äíåé òîìó íàçàä.
3. Öåíà ïðè çàêðûòèè äîëæíà áûòü ìåíüøå, ÷åì öåíà íà çàêðûòèå "Y+X" äíåé òîìó íàçàä.
Íàïðèìåð, åñëè "Õ"= 20 è "Y"=3
*/
#define LOW 0
#define HIGH 1
#define OP_NONE -1 //òèï îðäåðà - íåò îðäåðà OP_BUY, OP_SELL è ò.ï. èñïîëüçóþòñÿ èç ìò
#define OP_CLOSEORDER -2 //òèï ñèãíàëà - çàêðûòü îðäåð
#define UP 1
#define DOWN -1
//----
#define MAGICMA 031107
#include <stdlib.mqh>
#include <WinUser32.mqh>
//----
#property copyright "Copyright © 2007, Sergan"
#property link "SerganMT@hotbox.ru"
//----
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Red
#property indicator_color2 Gold
#property indicator_color3 DarkBlue
#property indicator_color4 Black
#property indicator_color5 Blue
#property indicator_color6 Blue
//----
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 1
#property indicator_width4 1
#property indicator_width5 3
#property indicator_width6 3
//---- input parameters
extern int ParY=3; //ïàðàìåòð "Y"
extern int ParX=20; // ïàðàìåòð "X"
//---- buffers
double ExtMapBuffer1[]; // ìà ïåðèîä ïàðàìåòð "X"
double ExtMapBuffer2[]; // ìà ïåðèîä "X" ñìåùåíèå "Y"
double ExtMapBuffer3[]; //öåíà çàêðûòèÿ "Y" äíåé íàçàä
double ExtMapBuffer4[]; //öåíà çàêðûòèÿ "Y+X" äíåé òîìó íàçàä
//----
double BuyBuffer[]; //áóôåð ñèãíàëû áàé
double SellBuffer[]; //áóÿåð ñèãíàëû ñåëë
double BufferSignalType[]; // áóôåð òèïîâ ñèãíàëîâ, íåîáõîäèìî äëÿ ïåðåäà÷è â ñîâåòíèê
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0, "ma("+ParX+")" );
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1, "ma("+ParX+","+ParY+")" );
//----
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexLabel(2, "close("+ParY+")" );
//----
SetIndexStyle(3,DRAW_LINE);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexLabel(3, "close("+(ParY+ParX)+")" );
//----
SetIndexStyle( 4, DRAW_ARROW, EMPTY );
SetIndexArrow( 4, 233 );
SetIndexStyle( 5, DRAW_ARROW, EMPTY );
SetIndexArrow( 5, 234 );
//----
SetIndexBuffer( 4, BuyBuffer );
SetIndexEmptyValue(4,0);
SetIndexBuffer( 5, SellBuffer );
SetIndexEmptyValue(5,0);
ArrayInitialize(BuyBuffer, 0 );
ArrayInitialize(SellBuffer, 0 );
//----
int drawtype=DRAW_ARROW ;
SetIndexBuffer(6,BufferSignalType );
SetIndexStyle( 6, DRAW_NONE);
SetIndexEmptyValue(6,0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
bool ShowSignals(int i )
{
BuyBuffer[i]=0; SellBuffer[i]=0; BufferSignalType[i]=OP_NONE;
int cmd=OP_NONE;
if(i>Bars-100)return(false);
/*
double ExtMapBuffer1[]; // ìà ïåðèîä ïàðàìåòð "X"
double ExtMapBuffer2[]; // ìà ïåðèîä "X" ñìåùåíèå "Y"
double ExtMapBuffer3[]; //öåíà çàêðûòèÿ "Y" äíåé íàçàä
double ExtMapBuffer4[]; //öåíà çàêðûòèÿ "Y+X" äíåé òîìó íàçàä
Ïðîäàæà:
1. Ñðåäíåå ïî çàêðûòèþ, ðàññ÷èòàííîå ïî "X"- äíåâíîìó ïåðèîäó äîëæíî áûòü ìåíüøå, ÷åì àíàëîãè÷íîå ñðåäíåå "Y" äíåé òîìó íàçàä.
2. Öåíà ïðè çàêðûòèè äîëæíà áûòü áîëüøå, ÷åì àíàëîãè÷íàÿ öåíà "Ó äíåé òîìó íàçàä.
3. Öåíà ïðè çàêðûòèè äîëæíà áûòü ìåíüøå, ÷åì öåíà íà çàêðûòèå "Y+X" äíåé òîìó íàçàä.
Ïîêóïêà:
1. Ñðåäíåå ïî çàêðûòèþ, ðàññ÷èòàííîå ïî "X"- äíåâíîìó ïåðèîäó, äîëæíî áûòü âûøå, ÷åì àíàëîãè÷íîå ñðåäíåå "Y" äíåé òîìó íàçàä.
2. Öåíà ïðè çàêðûòèè äîëæíà áûòü ìåíüøå, ÷åì àíàëîãè÷íàÿ öåíà "Y" äíåé òîìó íàçàä.
3. Öåíà ïðè çàêðûòèè äîëæíà áûòü âûøå, ÷åì öåíà íà çàêðûòèå "Y+X" äíåé òîìó íàçàä.
Åñëè ñîáëþäåíû âñå òðè óñëîâèÿ, òî íóæíî îñóùåñòâëÿòü ïîêóïêó ïðè îòêðûòèè íà ñëåäóþùèé äåíü
*/
if(ExtMapBuffer1[i]<ExtMapBuffer2[i])
{
if(Close[i]>ExtMapBuffer3[i] && Close[i] < ExtMapBuffer4[i])
{
cmd=OP_SELL;
SellBuffer[i]= Close[i];
}
}
if(ExtMapBuffer1[i]>ExtMapBuffer2[i])
{
if(Close[i]<ExtMapBuffer3[i] && Close[i] > ExtMapBuffer4[i])
{
cmd=OP_BUY;
BuyBuffer[i]= Close[i];
}
}
BufferSignalType[i]=cmd;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars--;
int limit = Bars - counted_bars;
if(counted_bars==0) limit-=1+ParY+ParX;
for( int i=limit; i>0; i -- )
{
ExtMapBuffer1[i]=iMA(NULL,0,ParX,0,MODE_SMA,PRICE_CLOSE,i);
ExtMapBuffer2[i]=iMA(NULL,0,ParX,ParY,MODE_SMA,PRICE_CLOSE,i);
ExtMapBuffer3[i]=Close[ParY+i]; //öåíà çàêðûòèÿ Y äíåé íàçàä
ExtMapBuffer4[i]=Close[ParY+ParX+i];//öåíà çàêðûòèÿ "Y+X" äíåé òîìó íàçàä
ShowSignals(i);
}
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---