AmiBroker ને Tradetron સાથે કેવી રીતે જોડવું (AFL થી Live Orders સુધી)
આ લેખ અંગ્રેજીમાંથી અનુવાદિત છે. મૂળ લેખ અંગ્રેજીમાં વાંચો
AmiBroker ને Tradetron સાથે જોડવા માટે, જ્યારે પણ signal આવે ત્યારે તમારો AFL code Tradetron ની API ને URL request મોકલે છે. આ request માં તમારી strategy નો અનોખો token, એક variable નું નામ અને એક value હોય છે (ઉદાહરણ તરીકે buy માટે NIFTY = 1). તમારી Tradetron strategy એ variable ને Get Runtime keyword થી વાંચે છે અને value મેળ ખાય ત્યારે ટ્રેડ મૂકે છે.
જોડાણ કેવી રીતે કામ કરે છે
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 ને ઓળખે છે. તે અનોખો છે, અને ફક્ત એક જ strategy સુધી મર્યાદિત છે.
- key એ તમે પસંદ કરેલું variable નું નામ છે, જેમ કે NIFTY.
- value એ છે જે તમે variable માં સેટ કરો છો, જેમ કે buy signal માટે 1.
Tradetron value સાચવે છે, અને તમારી ચાલતી strategy તેને સતત ચેક કરતી રહે છે. જ્યારે value બદલાઈને એવી થાય જેની તમારી conditions રાહ જોઈ રહી છે, ત્યારે મેળ ખાતો ટ્રેડ થાય છે.
પગલું 1: તમારી strategy માટે token મેળવો
- Signals મેળવનારી Tradetron strategy બનાવો (કે duplicate કરો).
- Strategies → My Strategies પર જાઓ અને એ strategy પરનું ત્રણ-ટપકાં વાળું મેનુ ખોલો.
- API OAuth Token ક્લિક કરો. Window strategy ની link અને token બતાવે છે.
- Token copy કરો. તમે તેને પગલું 2 માં AFL માં paste કરશો.
My Strategies → ત્રણ-ટપકાં મેનુ → API OAuth Token
પગલું 2: તમારા AFL માં signal code ઉમેરો
નીચેનું ઉદાહરણ 20-period EMA cross પર NIFTY 50 index futures, 1 lot, ટ્રેડ કરે છે:
| Signal | નિયમ | મોકલાતી value |
|---|---|---|
| Buy | Close, EMA(20) ની ઉપર cross કરે | 1 |
| Sell | Close, EMA(20) ની નીચે cross કરે | 2 |
| Short | Close, EMA(20) ની નીચે cross કરે (ઊલટો ટ્રેડ) | 3 |
| Cover | Close, EMA(20) ની ઉપર cross કરે | 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: ટ્રેડ કરતાં પહેલાં ટેસ્ટ કરો
- Tradetron strategy ને Live Offline deploy કરો: strategy ચાલે છે અને દરેક ટ્રેડ નોંધે છે, પણ exchange પર કંઈ મોકલાતું નથી.
- માર્કેટના કલાકો દરમિયાન live NIFTY futures chart પર AFL લાગુ કરીને AmiBroker ખોલો.
- Cross થાય ત્યારે, Tradetron માં deployment નો Notification Log ચેક કરો: તમને runtime value અને તેનાથી થયેલો ટ્રેડ દેખાવો જોઈએ.
- થોડા sessions સુધી signals આવે અને ટ્રેડ તમારા chart સાથે મેળ ખાય, પછી 1x પર Live Auto માં ફરી deploy કરો.
તેના પર આધાર રાખતાં પહેલાં જાણવા જેવી વાતો
- તમારું computer system નો ભાગ છે. જો AmiBroker કે તમારું internet connection બંધ હોય, તો કોઈ signals મોકલાતા નથી. જે ટ્રેડ વિશે Tradetron એ સાંભળ્યું જ નથી તે તે કરી શકતું નથી.
- Variable છેલ્લી value રાખે છે. Values એવી રીતે ગોઠવો કે ચૂકી ગયેલો કે ઉપર લખાઈ ગયેલો 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 માં, એ variable ને value સાથે સરખાવવા અને entries તથા exits trigger કરવા Get Runtime keyword વાપરો.
AmiBroker માટે auth token ક્યાંથી મળે?
Tradetron માં, Strategies → My Strategies પર જાઓ, strategy પરનું ત્રણ-ટપકાં મેનુ ખોલો અને API OAuth Token પસંદ કરો. દરેક token ફક્ત એક strategy માટે કામ કરે છે.
શું AmiBroker ખુલ્લું રાખવું પડે?
હા. Signals તમારા computer પર ચાલતા AFL થી બને છે, એટલે માર્કેટના કલાકો દરમિયાન chart ખુલ્લા રાખીને AmiBroker ચાલુ હોવું જોઈએ.
Get Runtime keyword શું છે?
તે runtime variable ની હાલની value વાંચે છે, જેમ કે AmiBroker ના API call થી સેટ થયેલી value, જેથી તમે તેને condition માં સરખાવી શકો, જેમ કે Get Runtime NIFTY == 1.
શું હું અસલી orders મૂક્યા વગર AmiBroker connection ટેસ્ટ કરી શકું?
હા. Strategy ને Live Offline deploy કરો: તે AmiBroker signals માંથી દરેક ટ્રેડ ચલાવે છે અને નોંધે છે, પણ exchange પર કંઈ મોકલાતું નથી.