Şartname

// Forex Strategy for Consistency in Profit

// Input parameters
input int FastMAPeriod = 10; // Period for the fast moving average
input int SlowMAPeriod = 30; // Period for the slow moving average
input double StopLossPips = 50; // Stop loss in pips
input double TakeProfitPips = 100; // Take profit in pips

// Global variables
int ticket = 0; // Order ticket number

// Indicator buffers
double fastMABuffer[];
double slowMABuffer[];

// Initialization function
int OnInit()
{
    // Define indicator buffers
    SetIndexBuffer(0, fastMABuffer);
    SetIndexBuffer(1, slowMABuffer);
    
    // Set indicator plot type
    SetIndexStyle(0, DRAW_LINE);
    SetIndexStyle(1, DRAW_LINE);
    
    // Set indicator colors
    SetIndexLabel(0, "Fast MA");
    SetIndexLabel(1, "Slow MA");
    SetIndexDrawBegin(0, SlowMAPeriod);
    SetIndexDrawBegin(1, SlowMAPeriod);
    
    // Set indicator parameters
    SetIndexShift(0, 0);
    SetIndexShift(1, 0);
    SetIndexEmptyValue(0, 0);
    SetIndexEmptyValue(1, 0);
    
    // Return successful initialization
    return INIT_SUCCEEDED;
}

// Trading function
void OnTick()
{
    // Calculate moving averages
    ArraySetAsSeries(fastMABuffer, true);
    ArraySetAsSeries(slowMABuffer, true);
    int fastMA = iMA(Symbol(), 0, FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
    int slowMA = iMA(Symbol(), 0, SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE);
    
    // Check for a crossover
    if (fastMA > slowMA && fastMABuffer[1] <= slowMABuffer[1])
    {
        // Close any existing positions
        if (ticket > 0 && OrderSelect(ticket, SELECT_BY_TICKET))
        {
            if (OrderClose(ticket, OrderLots(), OrderClosePrice(), Slippage, Red))
            {
                ticket = 0; // Reset ticket number
            }
        }
        
        // Open a new buy position
        ticket = OrderSend(Symbol(), OP_BUY, 0.1, Ask, Slippage, Ask - StopLossPips * Point, Ask + TakeProfitPips * Point, "Buy Order", 0, 0, Green);
    }
    else if (fastMA < slowMA && fastMABuffer[1] >= slowMABuffer[1])
    {
        // Close any existing positions
        if (ticket > 0 && OrderSelect(ticket, SELECT_BY_TICKET))
        {
            if (OrderClose(ticket, OrderLots(), OrderClosePrice(), Slippage, Red))
            {
                ticket = 0; // Reset ticket number
            }
        }
        
        // Open a new sell position

        ticket = OrderSend(Symbol(), OP_SELL, 0.1, Bid, Slippage, Bid + StopLossPips * Point, Bid - TakeProfitPips * Point, "Sell Order


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(43)
Projeler
66
12%
Arabuluculuk
12
58% / 42%
Süresi dolmuş
1
2%
Serbest
2
Geliştirici 2
Derecelendirme
(26)
Projeler
32
28%
Arabuluculuk
5
60% / 40%
Süresi dolmuş
6
19%
Serbest
3
Geliştirici 3
Derecelendirme
(2)
Projeler
2
0%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
2
100%
Serbest
4
Geliştirici 4
Derecelendirme
(634)
Projeler
741
34%
Arabuluculuk
49
53% / 39%
Süresi dolmuş
14
2%
Çalışıyor
5
Geliştirici 5
Derecelendirme
(568)
Projeler
641
41%
Arabuluculuk
25
48% / 36%
Süresi dolmuş
46
7%
Çalışıyor
6
Geliştirici 6
Derecelendirme
(5)
Projeler
4
50%
Arabuluculuk
4
0% / 75%
Süresi dolmuş
0
Serbest
Benzer siparişler
Fibonacci Técnicas... Estudos Fibonacci de expansão e retração. Estudos técnicos... Linhas de tendencia, resistência, suporte. Probabilidades... Analises técnicas com indicadores e contextos fundamentalistas Estatística... Analises técnicas com indicadores e contextos fundamentalistas Análise técnica... 6 Operações diárias... Scalpe trader, day trader, swing trader Consultor de técnicas Fibonacci... explicação de

Proje bilgisi

Bütçe
30+ USD
Son teslim tarihi
from 1 to 30 gün