गतिशील दो-तरफ़ा मार्जिन कॉल रणनीति


निर्माण तिथि: 2023-11-27 11:33:11 अंत में संशोधित करें: 2023-11-27 11:33:11
कॉपी: 1 क्लिक्स: 609
1
ध्यान केंद्रित करना
1617
समर्थक

गतिशील दो-तरफ़ा मार्जिन कॉल रणनीति

अवलोकन

यह एक रणनीति है जो बाजार के दो दिशाओं में मजबूत ब्रेकआउट संकेतों का उपयोग करके दो दिशाओं में स्थिति खोलने के लिए करती है। यह दो मजबूत K लाइनों के साथ-साथ स्थिति खोलने की दिशा का चयन करती है, और फिर स्टॉप-स्टॉप-लॉस सेट करती है, जोखिम प्रबंधन के लिए।

रणनीति सिद्धांत

यह रणनीति दो मजबूत K लाइन संकेतों के आधार पर बाजार की दिशा का निर्णय करती है। विशेष रूप से, यह प्रत्येक K लाइन के लिए ट्रेडों की गणना करता है, और जब लगातार दो K लाइनों के ट्रेडों की संख्या उपयोगकर्ता द्वारा निर्धारित सीमा से अधिक हो जाती है (जैसे 6%), तो यह दिशा मजबूत दिशा के रूप में निर्धारित की जाती है।

अधिक शर्तेंः लगातार दो K लाइनों के समापन मूल्य में पिछले दिन की तुलना में 6% से अधिक की वृद्धि खुले रहने की शर्तेंः दो लगातार K लाइनों के समापन मूल्य में 6% से अधिक की गिरावट

स्थिति खोलने के बाद, जोखिम को नियंत्रित करने के लिए स्टॉप लॉस की दूरी निर्धारित की जाती है। स्टॉप लॉस की दूरी उपयोगकर्ता द्वारा दर्ज की जाती है, स्टॉप लॉस की दूरी स्थिति खोलने की कीमत का एक निश्चित गुणांक है (जैसे 8 गुना) ।

इस रणनीति में जोखिम को नियंत्रित करने के लिए कुछ सहायक कार्य भी हैं, जैसे कि केवल कुछ समय के लिए पोजीशन खोलना, अधिकतम हानि की राशि निर्धारित करना आदि।

श्रेष्ठता विश्लेषण

यह एक स्थिर और विश्वसनीय द्वि-दिशात्मक ट्रेडिंग रणनीति है। इसके मुख्य लाभ हैंः

  1. द्वि-दिशात्मक ट्रेडिंग का उपयोग करके, आप बाजार के उछाल और गिरावट के दौरान लाभ प्राप्त कर सकते हैं, जिससे स्थिरता बढ़ जाती है।

  2. दो मजबूत संकेतों के आधार पर प्रवृत्ति का आकलन करें, शोर को प्रभावी ढंग से फ़िल्टर करें और उच्च गुणवत्ता वाले पदों में प्रवेश करें।

  3. स्टॉप-स्टॉप-लॉस सेटिंग उचित है, जो जोखिम नियंत्रण के लिए अनुकूल है, और नुकसान सीमित है।

  4. समय नियंत्रण, अधिकतम हानि नियंत्रण, आदि के रूप में सहायक सुविधाओं में सुधार के साथ, जोखिम को अच्छी तरह से नियंत्रित किया जा सकता है।

  5. यह आसान है, और रणनीति तर्क सरल और स्पष्ट है।

जोखिम विश्लेषण

इस रणनीति के मुख्य जोखिम हैंः

  1. जब बाजार में उतार-चढ़ाव होता है, तो स्टॉपवर्ड्स के नुकसान की संभावना होती है। सिग्नल की गुणवत्ता सुनिश्चित करने के लिए पहले सिग्नल के निर्णय के मापदंडों को उचित रूप से समायोजित किया जा सकता है।

  2. तीन सुपर-मजबूत K लाइनों की संभावना कम है, और स्थिति खोलने की संभावना कम हो सकती है। पैरामीटर को उचित रूप से कम किया जा सकता है, लेकिन सिग्नल गुणवत्ता को संतुलित करने की आवश्यकता है।

  3. आकस्मिक घटनाओं से उत्पन्न तर्कहीनता से स्टॉप लॉस दूरी से अधिक भारी नुकसान हो सकता है। इसे हल करने के लिए सहायक अधिकतम हानि सीमा नियंत्रण की आवश्यकता होती है।

  4. द्वि-दिशात्मक लेनदेन को लागू करते समय, धन प्रबंधन के मुद्दों पर ध्यान दें। यदि धन का असमान वितरण हो सकता है, तो खाता केवल घाटे में रह सकता है।

अनुकूलन दिशा

इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः

  1. पहले सिग्नल के निर्णय तर्क को अनुकूलित करें, सिग्नल की गुणवत्ता में सुधार करें। अधिक कारक जोड़ने पर विचार किया जा सकता है, जैसे कि लेनदेन की मात्रा में परिवर्तन, अस्थिरता, आदि।

  2. स्टॉप लॉस मानदंडों का अनुकूलन करें. स्टॉप लॉस को अलग-अलग बाजारों के अनुसार समायोजित किया जा सकता है, जिससे स्टॉप लॉस अधिक उचित हो। स्टॉप लॉस दूरी को गतिशील स्टॉप लॉस के रूप में भी सेट किया जा सकता है।

  3. अधिक जोखिम नियंत्रण मॉड्यूल जोड़े गए। जैसे कि अधिकतम एक दिन का नुकसान, अधिकतम लगातार नुकसान आदि। धन की सुरक्षा और कुशल उपयोग की गारंटी।

  4. धन के उपयोग के अनुपात का अनुकूलन करें। अधिक से अधिक व्यापार के लिए धन का उचित वितरण करें, और केवल लाभ और हानि को रोकें।

  5. विभिन्न प्रकार के ट्रेडों के लिए विभिन्न पैरामीटर संयोजनों को सेट करके प्रतिक्रिया अनुकूलन, अनुकूलन में सुधार करना।

संक्षेप

यह रणनीति एक अधिक स्थिर द्वि-दिशात्मक पूर्णांक रणनीति है। इसकी संकेत गुणवत्ता अधिक है और इसमें कुछ जोखिम नियंत्रण क्षमता है। अनुकूलन के लिए जगह भी अधिक है, जो आय की स्थिरता को और बढ़ा सकती है। यह रणनीति मध्यम-लंबी प्रवृत्ति वाले बाजारों के लिए उपयुक्त है, जो उतार-चढ़ाव की स्थिति में अवसरों पर कब्जा कर सकती है।

रणनीति स्रोत कोड
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title="GAVAD", shorttitle="GAVAD", overlay=false, initial_capital=36000)

////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                     GAVAD %                        //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////
Sinal = input(6, title="Sinal", type=input.integer, minval=1, maxval=150)
//Objetivo = input(6, title="Objetivo", type=input.integer, minval=1, maxval=100)
Multip = input(10000, title="Sinal", type=input.integer, minval=1, maxval=100000)



//GavadEntrada1 = (close - low [1])/close[1]
//plot(GavadEntrada1, style=plot.style_line, linewidth=3, color=color.yellow)

//sombra
//DownOL = (low - open ) / open * -10000
//plot(DownOL, style=plot.style_area, linewidth=3, color=color.silver)


// imprime o GAVAD
GavadEntrada = (close - close [1])/close[1] * Multip
plot(GavadEntrada, style=plot.style_histogram, linewidth=3, color=color.purple)

//linha do Sinal
plot(Sinal, style=plot.style_line, linewidth=1, color=color.yellow)
//linha do Objetivo
//plot(Objetivo, style=plot.style_line, linewidth=1, color=color.white)

Fura1 = GavadEntrada [0] >= Sinal
Fura2 = GavadEntrada [1] >= Sinal

Alert = Fura1
plotshape(Alert, style=shape.circle,  location = location.top, color= color.yellow)

SinalON = Fura1 and Fura2
plotshape(SinalON, style=shape.circle,  location = location.bottom, color= color.green)



////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//              CONDIÇÕES DE OPERACAO                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////



Sell_Forte2 = SinalON
//plotshape(Sell_Forte2, style=shape.xcross, color=color.yellow, location=location.bottom)

//Call_Forte2 = SinalON
//plotshape(Call_Forte2, style=shape.xcross, color=color.yellow, location=location.top)


////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                    CALENDARIO                      //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

//052)
// trading view solicita que se ja informado data para gerar backtest a partir de tal data
//começa backtest do trading sistem em qual data ?

ano = input(2021, minval=1, title="Ano")
mes = input(1, minval=1, maxval=12, title="Mes")
dia = input(1, minval=1, maxval=30, title="Dia")
hora = input(0, minval=1, maxval=23, title="hora")
minuto = input(0, minval=1, maxval=59, title="minuto")
horaabertura = input(10, minval=1, maxval=23, title="hora Inicio Operacao Robo")
minutoabertura = input(40, minval=1, maxval=59, title="Minuto Encerra Tudo")
horaencerra = input(17, minval=1, maxval=23, title="hora Fechamento")
minutoencerra = input(50, minval=1, maxval=59, title="Minuto Encerra Novas Operacoes")
minutofinaliza = input(50, minval=1, maxval=59, title="Minuto Encerra Tudo")


//valida se o dia de hoje é posterior ao dia informado acima
Validadia = year >= ano and month >= mes and dayofmonth >= dia


//cria horario de abertura de negociaçao, considerar default 10 hs, pois os indicadores ja estarão corrigidos
abreloja = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaabertura
//and minute >= minutoabertura)


//cria horario de fechamento de todas as negociaçoes, considerar default 17:00 hs
//nenhuma ordem pode ser aberta depois dessa data e as abertas devem ser fechadas
fechaloja = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaencerra
//and minute >= minutoencerra)

fechaloja2 = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaencerra
//and minute >= minutofinaliza)


//valida horario de negociação, pra liberar as operacoes.
lojaaberta = abreloja == true and fechaloja == false and fechaloja2 == false


////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//             GERENCIAMENTO DE RISCO                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

//seta meta mensal
meta = input(150000, "Meta de Lucro")
Contratos= input(5, "Contratos")

//seta tamanho do lote (ordem inicial-unica)
tamanhodolote = Contratos

//seta stop gain final em pontos (metade da barra anterior)
//gaintotal = input(30, "Gain")
gaintotal = input(3, "Gain")

//seta stop loss final em pontos
lossmaximo = input(8, "Loss")
//lossmaximo = (open- close)*100

////////////////////////////////////////////////////////
//                                                    //
//                     Checkbox                       //
//                                                    //
////////////////////////////////////////////////////////

//ativacomprasretorno = input(title="Ativar Compras Retorno", type=input.bool , defval=true)
//ativavendasretorno = input(title="Ativar Vendas Retorno", type=input.bool , defval=true)


////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                  COMPRA E VENDA                    //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

Tradenumber = strategy.closedtrades + 1
Batemeta = strategy.netprofit < meta

//COMPRA RETORNO
//longcondition2 = Validadia and Call_Forte2 and Batemeta


//strategy.entry("Comprar", strategy.long, tamanhodolote, when=longcondition2, comment="[Oper=" + tostring(Tradenumber) + "]win=" + tostring(strategy.wintrades) + " | Loss=" + tostring(strategy.losstrades))
//strategy.exit("Saida Compra", "Comprar", profit=gaintotal, loss=lossmaximo)
//if (CruzamentoFechaCallGG)
    //strategy.close(id="Comprar")
//if (EscapeFechaCall)
  // strategy.close(id="Comprar")   
   
    
//plotchar(longcondition2, char="C", location=location.bottom, color=color.lime, transp=0)
//alertcondition(longcondition2, "Comprar", "Compra Rápida!")

//VENDA RETORNO
Shortcondition2 = Validadia and Sell_Forte2 and Batemeta

strategy.entry("Vender", strategy.short, tamanhodolote, when=Shortcondition2)
strategy.exit("Fecha Venda", "Vender", profit=gaintotal, loss=lossmaximo)
//if (CruzamentoFechaSellGG)
   // strategy.close(id="Vender")
//if (EscapeFechaSell)
   // strategy.close(id="Comprar")  
//plotchar(CruzamentoFechaSellGG, char="Y", location=location.top, color=color.lime, transp=0) 

//plotchar(longcondition2, char="S", location=location.bottom, color=color.lime, transp=0)
//alertcondition(longcondition2, "Vender", "Venda Rápida!")

//fim do codigo