8. 4. 2022

5 0

Encerramento N Ordem de mercado

Após abrir várias posições, este trecho fecha as ordens N ("Ordem Nb"), de um número MagicNumber

 

Por exemplo, você tem 5 posições com número mágico: 1004, 1003, 1002, 1001, 1000.

Você digita o número mágico : 1004

Você entra na Ordem Nb : 5

Ele fechará as 5 posições.

 

Aqui está o código

 

pacote SQ.Blocos.Encomendar.Fechar;

importação SQ.Functions.OrderFunctions;
Importar SQ.Internal.ActionBlock;

import com.strategyquant.lib.*;
import com.strategyquant.datalib.*;
import com.strategyquant.tradinglib.*;

// Modificado na França por Emmanuel Evrard para a StrategyQuantX Community :)
@BuildingBlock(returnType = ReturnTypes.Action)
@Help("Fechar N posições que se ajustam ao critério")
@SortOrder(500) // Em AlgoWizard, esta é uma posição dropbox (400 ou 500 ou 600 etc.) desta função no menu "Add New Condition", você pode ter que ajustá-la dependendo da função já instalada na mesma dropbox.
@IgnoreInBuilder
@NotSupportedFor(engines="EL")
classe pública CloseNPositions estende ActionBlock
{
    
    @Parameter(defaultValue="Current", category="Order identification", showIfDefault=false, allowAny=true)
    Símbolo de corda pública;
    
    @Parameter(defaultValue="0", category="Order identification", showIfDefault=false)
    @Editor(tipo=Editores.Seleção, valores="Long=1,Short=-1,Any=0")
    direção da int pública;

    @Parameter(defaultValue="MagicNumber", category="Order identification", showIfDefault=false)
    @Help("Número mágico que pode identificar o pedido")
    @Editor(type=Editors.SelectionVariablesWithAny)
    público int MagicNumber;

    @Parameter(defaultValue="Number Of Order", category="Order identification", showIfDefault=false)
    @Help("Número de Ordem é usado para definir a quantidade de ordem, Seus números MagicNumbers são sucessivos ao MagicNumber acima")
    @Editor(type=Editores.SelectionVariables)
    público int NbOrder;

    @Parameter(defaultValue="", category="Order identification", showIfDefault=false)
    @Help("Comentário também pode ser usado para identificar o pedido. Em caso de Comentário, o pedido corresponde se o comentário do pedido contiver o texto especificado aqui").
    Public String Comment;
    
    //------------------------------------------------------------------------
    //------------------------------------------------------------------------
    //------------------------------------------------------------------------

    fechamento públicoNPosições()
    {
        
    }
    
    //------------------------------------------------------------------------

    @Override
    vazio público OnAction() atira a TradingException
    {
        int total = Strategy.Trader.getOpenOrdersCount(false);

        se (NbOrder >= 1)
        {
            int MagicNumber1 = MagicNumber;
            for(int i1 = 0; i1 =0; i--)
                {
                    ILiveOrder order = Strategy.Trader.getOpenOrder(i, false);
                    
                    if(OrderFunctions.identify(ordem, estratégia, símbolo, direção, MagicNumber, Comentário))
                    {
                        order.setExitIndex((byte) -1);
                        order.Close(OrderCloseTypes.ExitSignal);
                    }
                }
            }
        }
    }
}

 

 

 

 

Assine
Notificação de
0 Comentários
Feedbacks em linha
Ver todos os comentários

Postos relacionados