AmiBroker ला Tradetron शी कसे जोडायचे (AFL पासून live orders पर्यंत)
हा लेख इंग्रजीतून अनुवादित केला आहे. मूळ लेख इंग्रजीत वाचा
AmiBroker ला Tradetron शी जोडण्यासाठी, signal आला की तुमचा AFL code Tradetron च्या API ला URL request पाठवतो. त्या request मध्ये तुमच्या strategy चा unique token, एका variable चे नाव आणि एक value असते (उदाहरणार्थ buy साठी NIFTY = 1). तुमची Tradetron strategy तो variable Get Runtime keyword ने वाचते आणि value जुळली की trade टाकते.
Connection कसे काम करते
AmiBroker तुमचे charts scan करतो आणि तुमचा AFL चालवतो. Tradetron तुमची strategy cloud मध्ये चालवतो आणि तुमच्या broker शी बोलतो. या दोघांमधला पूल म्हणजे एक साधी web request.
प्रत्येक signal साठी एक URL call; बाकी सगळे Tradetron करतो
Request अशी दिसते (placeholder च्या जागी तुमचा स्वतःचा token):
https://api.tradetron.tech/api?auth-token=YOUR_TOKEN&key=NIFTY&value=1
- auth-token strategy ओळखतो. तो unique असतो, आणि फक्त एकाच strategy पुरता मर्यादित असतो.
- key हे तुम्ही निवडलेले variable चे नाव, जसे NIFTY.
- value म्हणजे variable ला तुम्ही देत असलेली किंमत, जसे buy signal साठी 1.
Tradetron ती value साठवतो, आणि तुमची चालू strategy ती सतत तपासत राहते. Value बदलून तुमच्या conditions वाट पाहत असलेली value झाली की, जुळणारा trade होतो.
पायरी 1: तुमच्या strategy साठी token मिळवा
- Signals मिळवणारी Tradetron strategy बनवा (किंवा duplicate करा).
- Strategies → My Strategies वर जा आणि त्या strategy वरचा तीन-ठिपक्यांचा menu उघडा.
- API OAuth Token click करा. Window मध्ये strategy ची link आणि token दिसतो.
- Token copy करा. तो तुम्ही पायरी 2 मध्ये AFL मध्ये paste कराल.
My Strategies → तीन-ठिपक्यांचा menu → API OAuth Token
पायरी 2: तुमच्या AFL मध्ये signal code जोडा
खालचे उदाहरण 20-period EMA cross वर NIFTY 50 index futures, 1 lot trade करते:
| Signal | नियम | पाठवलेली value |
|---|---|---|
| Buy | Close ने EMA(20) ला खालून वर ओलांडले | 1 |
| Sell | Close ने EMA(20) ला वरून खाली ओलांडले | 2 |
| Short | Close ने EMA(20) ला वरून खाली ओलांडले (उलटा trade) | 3 |
| Cover | Close ने EMA(20) ला खालून वर ओलांडले | 4 |
Buy = Cross(C, EMA(C, 20));
Sell = Cross(EMA(C, 20), C);
Short = Cross(EMA(C, 20), C);
Cover = Cross(C, EMA(C, 20));
TradeActive = 1;
_SECTION_BEGIN("TTron");
EnableScript("VBScript");
<%
Public Sub callurl(varname, val)
Dim oXMLHTTP
Set oXMLHTTP = CreateObject("Msxml2.ServerXMLHTTP")
token = "YOUR_TOKEN"
url = "https://api.tradetron.tech/api?auth-token=" + token + "&key=" + varname + "&value=" + val
oXMLHTTP.Open "GET", url, False
oXMLHTTP.setRequestHeader "Cache-Control", "no-cache"
oXMLHTTP.setRequestHeader "Pragma", "no-cache"
oXMLHTTP.Send
End Sub
%>
pb = GetScriptObject();
signalBuy = Buy[BarCount - 1] > 0;
signalSell = Sell[BarCount - 1] > 0;
signalShort = Short[BarCount - 1] > 0;
signalCover = Cover[BarCount - 1] > 0;
if (TradeActive)
{
if (signalSell == True AND StaticVarGet("NIFTYsell") == 0)
{ pb.callurl("NIFTY", "2"); StaticVarSet("NIFTYsell", 1); }
else if (signalSell != True) StaticVarSet("NIFTYsell", 0);
if (signalCover == True AND StaticVarGet("NIFTYcover") == 0)
{ pb.callurl("NIFTY", "4"); StaticVarSet("NIFTYcover", 1); }
else if (signalCover != True) StaticVarSet("NIFTYcover", 0);
if (signalBuy == True AND StaticVarGet("NIFTYbuy") == 0)
{ pb.callurl("NIFTY", "1"); StaticVarSet("NIFTYbuy", 1); }
else if (signalBuy != True) StaticVarSet("NIFTYbuy", 0);
if (signalShort == True AND StaticVarGet("NIFTYshort") == 0)
{ pb.callurl("NIFTY", "3"); StaticVarSet("NIFTYshort", 1); }
else if (signalShort != True) StaticVarSet("NIFTYshort", 0);
}
_SECTION_END();
YOUR_TOKEN च्या जागी पायरी 1 मधला token टाका. StaticVarSet flags मुळे प्रत्येक signal एका घटनेसाठी एकदाच पाठवला जातो, chart च्या प्रत्येक refresh वर नाही.
पायरी 3: Tradetron मध्ये Get Runtime ने signal वाचा
Tradetron strategy मध्ये दोन sets बनवा:
- Set 1: long entry आणि long exit
- Set 2: short entry आणि short exit
प्रत्येक condition मध्ये Get Runtime keyword (variable नाव NIFTY) ची Number keyword शी तुलना करा:
| Set | Condition | नियम |
|---|---|---|
| Set 1 | Entry (buy) | Get Runtime NIFTY == 1 |
| Set 1 | Exit (sell) | Get Runtime NIFTY == 2 |
| Set 2 | Entry (short) | Get Runtime NIFTY == 3 |
| Set 2 | Exit (cover) | Get Runtime NIFTY == 4 |
Buy condition: Get Runtime NIFTY == 1
मग प्रत्येक set च्या position builder मध्ये positions (NIFTY 50 futures, 1 lot) जोडा.
सुरुवात करण्यासाठी तुम्ही reference strategy duplicate करू शकता. तुम्ही तुमच्या स्वतःच्या copy साठी token तयार करून तो AFL मध्ये टाकेपर्यंत तिला signals मिळणार नाहीत.
पायरी 4: Trade करण्याआधी test करा
- Tradetron strategy Live Offline deploy करा: strategy चालते आणि प्रत्येक trade नोंदवते, पण exchange ला काहीच पाठवले जात नाही.
- Market च्या वेळेत, live NIFTY futures chart वर AFL लावून AmiBroker उघडा.
- Cross झाला की Tradetron मध्ये deployment चा Notification Log तपासा: तुम्हाला runtime value आणि त्यातून झालेला trade दिसला पाहिजे.
- काही sessions signals येत राहिले आणि trades तुमच्या chart शी जुळले की, 1x वर Live Auto मध्ये पुन्हा deploy करा.
यावर अवलंबून राहण्याआधी हे जाणून घ्या
- तुमचा computer system चा भाग आहे. AmiBroker किंवा तुमचे internet बंद पडले, तर कोणतेही signals पाठवले जात नाहीत. ज्याबद्दल Tradetron ला कळलेच नाही तो trade तो करू शकत नाही.
- Variable मध्ये शेवटची value राहते. Values अशा ठरवा की चुकलेला किंवा overwrite झालेला signal तुम्हाला नको असलेल्या position मध्ये अडकवणार नाही.
- Exits Tradetron मध्येही हवेत. प्रत्येक leg वर stop loss किंवा Universal Exit जोडा, म्हणजे AmiBroker शांत झाला तरी position सुरक्षित राहील.
वारंवार विचारले जाणारे प्रश्न
AmiBroker ला Tradetron शी कसे जोडायचे?
तुमच्या AFL मध्ये असे function जोडा जे signal आल्यावर तुमच्या strategy चा token, variable नाव आणि value घेऊन Tradetron च्या API URL ला call करेल. Tradetron strategy मध्ये Get Runtime keyword वापरून त्या variable ची value शी तुलना करा आणि entries व exits trigger करा.
AmiBroker साठी auth token कुठे मिळतो?
Tradetron मध्ये Strategies → My Strategies वर जा, strategy वरचा तीन-ठिपक्यांचा menu उघडा आणि API OAuth Token निवडा. प्रत्येक token फक्त एकाच strategy साठी चालतो.
AmiBroker उघडा ठेवावा लागतो का?
हो. Signals तुमच्या computer वर चालणाऱ्या AFL मधून तयार होतात, त्यामुळे market च्या वेळेत chart उघडा ठेवून AmiBroker चालू असला पाहिजे.
Get Runtime keyword म्हणजे काय?
तो runtime variable ची सध्याची value वाचतो, जसे AmiBroker कडून API call ने सेट झालेली, म्हणजे तुम्ही condition मध्ये तिची तुलना करू शकता, जसे Get Runtime NIFTY == 1.
खऱ्या orders न टाकता AmiBroker connection test करता येते का?
हो. Strategy Live Offline deploy करा: ती AmiBroker signals वरून प्रत्येक trade चालवते आणि नोंदवते, पण exchange ला काहीच पाठवले जात नाही.