Script dibawah adalah contoh script PHP untuk TrailingStop untuk pair EUR/USD dengan trailingstop 30poin...
Cara penggunaannya:
1. install XAMPP atau WAMP atau PHPtriad atau paket apache-PHP yg lain juga bisa.
2. aktifkan setting API di applikasi streamster anda.
3. copy script diatas lalu paste di notepad dan simpan dengan namafile trailingstop.php simpan di folder htdocs atau public_html yg terdapat di paket apache-PHP anda
4. buka streamster anda, login seperti biasa.
5. buka web browser anda dan isikan pada addressbar http://localhost/trailingstop.php
6. sebaiknya gunakan opera atau firefox yg ada autorefreshnya dan aktifkan autorefresh 5detik maka tiap 5detik posisi StopLoss anda di streamster akan di periksa dan diupdate otomatis oleh script TrailingStop ini.
Pada bagian ini bisa anda ganti dengan script untuk notifikasi sound beep
//system(beep1);
karena pada dasarnya PHP tidak bisa menghasilkan suara beep dari PC anda, maka pada bagian beep saya nonaktifkan sebab diperlukan software beep1.exe dan beep.bat yang tidak bisa saya upload berhubung koneksi internet saya lemot selalu gagak ketika upload beep1.exe yg berukuran 1.5MB
//=========initialize============//
$Point=0.0001;
$TrailingStop=30;
//=================connect to streamster==========//
$api = new SoapClient ("http://127.0.0.1:8018/service.wsdl",
array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));
//==================Price List chart===============//
$quote = $api -> GetQuote("EUR/USD");
foreach($quote as $field => $value) {
echo $field . " = " . $value . "
";
}
echo "
========================
";
//===================end Pricelist=====================//
//======================Get Position===================//
$p = $api -> GetPositions();
if(property_exists($p, "Position")) {
foreach($p -> Position as $n => $PositionInfo) {
// echo "\tPosition " . $n . "\n";
foreach($PositionInfo as $field => $value) {
echo $field . " = " . $value . "
";
}
//========================Trailing Stop=========================//
if(isset($PositionInfo->ExitStopLoss)){
if($PositionInfo->Side == "SHORT" && $PositionInfo->Status=="OPEN"){
if($quote->Bid+($Point*$TrailingStop) < $PositionInfo->ExitStopLoss){
if($quote->Bid+($Point*$TrailingStop) < $PositionInfo->OpenPrice-(8*$Point)||$quote->Bid+($Point*$TrailingStop)> $PositionInfo->OpenPrice){
$pos -> PositionID = $PositionInfo->PositionID;
$pos -> ExitStopLoss = ($quote->Bid)+($Point*$TrailingStop);
$pos -> ExitTarget = $PositionInfo->ExitTarget;
//$pos -> Text = "hello world";
$api -> ChangePosition($pos);
echo "Sell StopLoss Updated...
";
system('beep1');
}
}
}else{
if($PositionInfo->Status=="OPEN"){
if($quote->Bid-($Point*$TrailingStop) > $PositionInfo->ExitStopLoss ){
if($quote->Bid-($Point*$TrailingStop) > $PositionInfo->OpenPrice+(8*$Point)||$quote->Bid-($Point*$TrailingStop)< $PositionInfo->OpenPrice){
$pos -> PositionID = $PositionInfo->PositionID;
$pos -> ExitStopLoss = ($quote->Bid)-($Point*$TrailingStop);
$pos -> ExitTarget = $PositionInfo->ExitTarget;
//$pos -> Text = "hello world";
$api -> ChangePosition($pos);
echo "Buy StopLoss Updated...
";
system('beep1');
}
}
}
}
}
//========================end TrailingStop=============================//
}
}
//======================end getposition====================//
?>
0 Response to "Script TrailingStop Streamster Marketiva (API-PHP)"
Posting Komentar